1/*
2 * Copyright (C) 2010 The Guava Authors
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.google.common.base;
18
19import com.google.caliper.BeforeExperiment;
20import com.google.caliper.Benchmark;
21import com.google.caliper.Param;
22import com.google.common.base.BenchmarkHelpers.SampleMatcherConfig;
23import com.google.common.collect.Lists;
24
25import java.util.BitSet;
26import java.util.Collections;
27import java.util.List;
28import java.util.Random;
29
30/**
31 * Benchmark for the {@link CharMatcher} class.
32 *
33 *
34 * @author David Beaumont
35 * @author Kevin Bourrillion
36 * @author David Richter
37 */
38public class CharMatcherBenchmark {
39
40  // Caliper injects params automatically
41
42  // Overall configuration
43  @Param SampleMatcherConfig config;
44
45  // Length of string to match against
46  @Param({"64", "1024"}) int length;
47
48  // Percent of string that the CharMatcher matches
49  @Param({"0", "10", "50", "100"}) int percent;
50
51  // Whether to use a precomputed CharMatcher
52  @Param("true") boolean precomputed;
53
54  enum Size {
55    DEFAULT,
56    SMALL;
57  }
58
59  @Param Size size;
60
61  // Whether to ensure there is a matching character in the first position
62  // to force the trimming code to run.
63  @Param("false") boolean forceSlow;
64
65  // Use web-derived sampler.
66  @Param("false") boolean web;
67
68  private CharMatcher matcher;
69  private String string;
70
71  // Caliper invokes setUp() after injecting params
72  @BeforeExperiment void setUp() {
73    this.matcher = precomputed ? config.matcher.precomputed() : config.matcher;
74    if (size == Size.SMALL) {
75      BitSet tmp = new BitSet();
76      matcher.setBits(tmp);
77      int matchedCharCount = tmp.cardinality();
78      this.matcher = SmallCharMatcher.from(tmp, "");
79    }
80    this.string = checkString(length, percent, config.matchingChars,
81        new Random(), forceSlow, web);
82  }
83
84  // Caliper recognizes int-parameter methods beginning with "time"
85
86  @Benchmark int trimAndCollapseFromString(int reps) {
87    int dummy = 0;
88    for (int i = 0; i < reps; i++) {
89      dummy += matcher.trimAndCollapseFrom(string, '!').length();
90    }
91    return dummy;
92  }
93
94  @Benchmark int matches(int reps) {
95    int dummy = 0;
96    for (int i = 0; i < reps; i++) {
97      dummy += matcher.matches(string.charAt(i % string.length())) ? 1 : 0;
98    }
99    return dummy;
100  }
101
102  private static final String NONMATCHING_CHARS =
103      "abcdefghijklmnopqrstuvwxyz0123456789";
104
105  private static String checkString(int length, int percent,
106      String matchingChars, Random rand, boolean forceSlow, boolean web) {
107    // Check whether we should ignore everything else and pull from the web.
108    if (web) {
109      StringBuilder builder = new StringBuilder(length);
110      CharSamples sampler = new CharSamples(rand);
111      for (int i = 0; i < length; i++) {
112        int cp = sampler.nextCodePoint();
113        builder.appendCodePoint(cp);
114      }
115      return builder.toString();
116    }
117    // Use a shuffled index array to ensure constant percentage of matching
118    // characters
119    List<Integer> list = Lists.newArrayList();
120    for (int i = 0; i < length; i++) {
121      list.add(i);
122    }
123    Collections.shuffle(list, rand);
124    if (forceSlow) {
125      // Move zero index to front to force a matching character (if percent > 0)
126      list.set(list.indexOf(0), list.get(0));
127      list.set(0, 0);
128    }
129    // Get threshold in the range [0, length], rounding up to ensure that non
130    // zero percent values result in a non-zero threshold (so we always have at
131    // least one matching character).
132    int threshold = ((percent * length) + 99) / 100;
133    StringBuilder builder = new StringBuilder(length);
134    for (int n = 0; n < length; n++) {
135      builder.append(randomCharFrom(
136          list.get(n) >= threshold ? NONMATCHING_CHARS : matchingChars, rand));
137    }
138    return builder.toString();
139  }
140
141  private static char randomCharFrom(String s, Random rand) {
142    return s.charAt(rand.nextInt(s.length()));
143  }
144
145  /**
146  * Provides samples on a random distribution derived from the web.
147  *
148  * Adapted from data provided by Mark Davis.
149  *
150  * @author Christopher Swenson
151  */
152  static class CharSamples {
153
154   static {
155     populateProb1();
156     populateProb2();
157     populateChars1();
158     populateChars2();
159   }
160
161   private final Random random;
162
163   public CharSamples(Random random) {
164     this.random = random;
165   }
166   public int nextCodePoint() {
167     int needle = random.nextInt(sum);
168     int l = 0;
169     int r = prob.length - 1;
170     int c = prob.length / 2;
171     int lv = prob[l];
172     int rv = prob[r];
173     int cv = prob[c];
174
175     while (true) {
176       if (needle == cv) {
177         return chars[c - 1];
178       } else if ((lv <= needle) && (needle < cv)) {
179         return chars[l];
180       } else if (needle == rv) {
181         return chars[r];
182       } else if (needle < cv) {
183         rv = cv;
184         r = c;
185         c = l + (r - l) / 2;
186         cv = prob[c];
187       } else if (needle == cv) {
188         return chars[c];
189       } else {
190         lv = cv;
191         l = c;
192         c = l + (r - l) / 2;
193         cv = prob[c];
194       }
195     }
196   }
197
198   private int sum = 69552218;
199   private static int[] prob;
200
201   private static void populateProb1() {
202     prob = new int[10003];
203     int[] temp = new int[] {0, 2998461, 11968276, 18768077, 22489668,
204       25564867, 28566474, 31178037, 33583728, 35906053, 38220254, 40430228,
205       42605383, 44136051, 45417665, 46672307, 46782210, 47875442, 48928896,
206       49849977, 49926463, 50685835, 51384820, 51997588, 52562977, 53114810,
207       53662681, 54154198, 54201051, 54247649, 54709396, 55150464, 55558189,
208       55956271, 56255010, 56537443, 56790560, 57034843, 57274138, 57485651,
209       57690645, 57894136, 58095179, 58290586, 58478703, 58657046, 58833174,
210       58979618, 59118214, 59252316, 59383011, 59511468, 59616000, 59719717,
211       59822765, 59924337, 60018141, 60102715, 60103512, 60111276, 60187497,
212       60261002, 60332050, 60400395, 60463530, 60525044, 60586535, 60592498,
213       60651542, 60708760, 60765356, 60820799, 60876057, 60926360, 60976475,
214       61026421, 61074255, 61118922, 61163456, 61207355, 61251147, 61293399,
215       61334924, 61375951, 61416927, 61457584, 61497222, 61501126, 61539952,
216       61577967, 61615858, 61652895, 61689599, 61726065, 61762110, 61796817,
217       61831379, 61865281, 61898336, 61930814, 61963212, 61995571, 62027746,
218       62059880, 62091953, 62123862, 62155726, 62187494, 62218025, 62247942,
219       62277854, 62307509, 62336275, 62364822, 62393339, 62421575, 62449112,
220       62476556, 62503994, 62531165, 62533882, 62536554, 62563178, 62589569,
221       62615931, 62641977, 62667819, 62670393, 62672941, 62698398, 62723810,
222       62748828, 62773421, 62773660, 62797528, 62820871, 62823180, 62845858,
223       62868387, 62890814, 62913180, 62935449, 62957034, 62978440, 62999686,
224       63020821, 63041849, 63062713, 63082956, 63102958, 63122877, 63142650,
225       63162263, 63181752, 63201214, 63220472, 63239711, 63258362, 63276998,
226       63295503, 63313936, 63332203, 63350395, 63368456, 63386448, 63388247,
227       63405634, 63407359, 63424261, 63441134, 63457698, 63474247, 63490783,
228       63507308, 63523723, 63539975, 63556168, 63572196, 63587834, 63603467,
229       63619061, 63634602, 63650139, 63665668, 63681137, 63696535, 63698072,
230       63713405, 63728710, 63743997, 63759244, 63774378, 63789477, 63804212,
231       63818898, 63833577, 63848192, 63862616, 63877034, 63891215, 63905360,
232       63919315, 63933131, 63946873, 63960526, 63974167, 63987674, 64001139,
233       64014592, 64028011, 64041415, 64054809, 64068126, 64081417, 64094632,
234       64107536, 64120332, 64133044, 64145616, 64158121, 64170496, 64182865,
235       64195233, 64207588, 64219849, 64232094, 64244320, 64256504, 64257719,
236       64269791, 64281807, 64293783, 64305588, 64306765, 64318504, 64330211,
237       64341904, 64353578, 64365252, 64366419, 64378068, 64389716, 64401322,
238       64412871, 64424406, 64425552, 64426689, 64437977, 64449132, 64460284,
239       64471315, 64482340, 64493269, 64503956, 64514601, 64525226, 64535778,
240       64546326, 64556767, 64567140, 64577453, 64587746, 64598011, 64608256,
241       64608358, 64618492, 64628579, 64638653, 64648727, 64658764, 64668799,
242       64678680, 64688543, 64698398, 64708082, 64717757, 64727380, 64736982,
243       64746557, 64756118, 64765654, 64775155, 64784592, 64794024, 64803433,
244       64812780, 64822087, 64831283, 64840465, 64849520, 64858567, 64867599,
245       64876612, 64885585, 64894553, 64903472, 64912373, 64921249, 64930038,
246       64938750, 64947452, 64948320, 64956991, 64965638, 64974277, 64982885,
247       64991466, 65000015, 65008563, 65017094, 65025571, 65033995, 65042379,
248       65050716, 65059035, 65067338, 65075627, 65076455, 65084727, 65092982,
249       65101144, 65109266, 65117373, 65125479, 65133578, 65141657, 65149726,
250       65150531, 65158555, 65166553, 65174472, 65182377, 65190260, 65198136,
251       65205979, 65206763, 65214595, 65222402, 65230135, 65237858, 65245556,
252       65253253, 65260922, 65261686, 65269318, 65276950, 65284569, 65292163,
253       65299687, 65307200, 65307275, 65314762, 65322226, 65329664, 65337073,
254       65344451, 65351800, 65359136, 65366462, 65373775, 65381087, 65388284,
255       65395469, 65402651, 65409830, 65417003, 65424168, 65431331, 65438487,
256       65445595, 65452672, 65459721, 65466766, 65473795, 65480823, 65487847,
257       65494824, 65501797, 65508770, 65515732, 65522693, 65529646, 65536520,
258       65537207, 65537893, 65538579, 65545430, 65552241, 65559039, 65565814,
259       65572562, 65579296, 65586020, 65592716, 65593382, 65600037, 65606605,
260       65613147, 65619640, 65626071, 65632496, 65638918, 65645310, 65645945,
261       65652280, 65652912, 65659168, 65665415, 65671631, 65677833, 65684025,
262       65684641, 65690780, 65696909, 65703021, 65709132, 65715239, 65721340,
263       65727438, 65733535, 65739617, 65745695, 65751753, 65757765, 65763760,
264       65769744, 65775699, 65781646, 65787588, 65793525, 65799461, 65805374,
265       65811283, 65817190, 65823078, 65823666, 65824253, 65830101, 65835942,
266       65841755, 65847563, 65853354, 65859098, 65864810, 65870519, 65876183,
267       65881822, 65887437, 65893045, 65898651, 65904246, 65909707, 65915151,
268       65920583, 65925999, 65931410, 65936817, 65942193, 65947567, 65952934,
269       65958289, 65963637, 65968969, 65974293, 65974825, 65980140, 65985417,
270       65990672, 65995914, 66001153, 66006392, 66011615, 66012137, 66017334,
271       66022528, 66027719, 66032905, 66033422, 66038587, 66043749, 66048910,
272       66054066, 66059218, 66064370, 66069493, 66070005, 66075122, 66080220,
273       66085315, 66090410, 66095497, 66100582, 66105664, 66110746, 66115813,
274       66120879, 66125928, 66130971, 66131475, 66136498, 66141516, 66146527,
275       66151533, 66156526, 66161499, 66166472, 66171429, 66176377, 66181315,
276       66186228, 66186719, 66191625, 66196528, 66196577, 66201473, 66206365,
277       66206854, 66211740, 66216606, 66221467, 66226320, 66231162, 66231645,
278       66236468, 66241285, 66246076, 66250853, 66255621, 66260387, 66265121,
279       66269852, 66274579, 66279293, 66284006, 66288711, 66293414, 66298061,
280       66302706, 66307341, 66311963, 66316582, 66321199, 66325797, 66330382,
281       66334965, 66339540, 66344108, 66348674, 66353233, 66357788, 66362332,
282       66366874, 66371412, 66375949, 66380462, 66384963, 66385008, 66389507,
283       66393988, 66398461, 66402913, 66407358, 66411800, 66416227, 66420650,
284       66421092, 66425506, 66429903, 66434282, 66438657, 66443011, 66447364,
285       66451711, 66456043, 66460374, 66464695, 66469009, 66473318, 66477619,
286       66481905, 66486174, 66490433, 66494685, 66498930, 66503172, 66507405,
287       66511629, 66515843, 66520045, 66524244, 66528437, 66532628, 66536801,
288       66540968, 66545132, 66549288, 66553436, 66557577, 66561711, 66565840,
289       66569963, 66570004, 66574103, 66578201, 66582298, 66582707, 66583115,
290       66587194, 66591270, 66595323, 66599360, 66603386, 66607410, 66611432,
291       66615421, 66619394, 66623366, 66623763, 66627728, 66631691, 66635652,
292       66639601, 66643544, 66647482, 66651390, 66655298, 66659177, 66663029,
293       66666880, 66670725, 66674569, 66678395, 66682219, 66686042, 66689844,
294       66693646, 66697442, 66701236, 66705023, 66708801, 66712574, 66716338,
295       66720099, 66723857, 66727581, 66731302, 66735016, 66738729, 66742440,
296       66746147, 66749838, 66753521, 66757203, 66757571, 66761249, 66764927,
297       66768604, 66772257, 66775909, 66779541, 66783159, 66786773, 66790376,
298       66793962, 66797546, 66801127, 66804703, 66808262, 66811818, 66815367,
299       66818912, 66822449, 66825986, 66829521, 66833055, 66836582, 66840106,
300       66843624, 66847140, 66850656, 66854170, 66857658, 66861130, 66864598,
301       66868064, 66871527, 66874984, 66878430, 66881873, 66885312, 66888746,
302       66892179, 66895608, 66899030, 66902433, 66905822, 66909208, 66912593,
303       66915978, 66919361, 66922743, 66926120, 66929492, 66932854, 66936205,
304       66939548, 66942882, 66946210, 66949528, 66949859, 66953164, 66956467,
305       66959762, 66960091, 66963379, 66966665, 66969950, 66973229, 66976498,
306       66979762, 66983021, 66986279, 66989531, 66992782, 66996030, 66999275,
307       67002518, 67005760, 67008993, 67012220, 67015446, 67018671, 67018993,
308       67022210, 67025425, 67028640, 67031851, 67035058, 67038263, 67041459,
309       67044653, 67047839, 67051016, 67054190, 67057359, 67060524, 67063687,
310       67066836, 67069985, 67073112, 67076238, 67079355, 67082471, 67085585,
311       67088688, 67091790, 67094862, 67095169, 67098228, 67101266, 67101568,
312       67104586, 67107601, 67110615, 67110618, 67110621, 67113616, 67116609,
313       67119594, 67122578, 67125559, 67128533, 67131506, 67134473, 67137436,
314       67140397, 67143358, 67146316, 67149268, 67152216, 67155163, 67158106,
315       67161049, 67163991, 67166929, 67167222, 67170149, 67173074, 67175993,
316       67178907, 67181820, 67184732, 67187640, 67190545, 67193440, 67193729,
317       67196611, 67199490, 67202361, 67205225, 67208088, 67208374, 67211232,
318       67214088, 67216942, 67219795, 67222648, 67225497, 67228341, 67231184,
319       67231468, 67231752, 67234590, 67237424, 67240250, 67243069, 67245884,
320       67248698, 67251505, 67254310, 67257109, 67259903, 67262692, 67265473,
321       67265751, 67268529, 67271305, 67274079, 67276851, 67279620, 67282388,
322       67285155, 67287917, 67290675, 67293433, 67296185, 67298937, 67299212,
323       67301957, 67304700, 67307442, 67310183, 67312919, 67315644, 67318366,
324       67321087, 67323805, 67326518, 67329224, 67331930, 67331957, 67334652,
325       67337347, 67340039, 67342725, 67345383, 67348017, 67350646, 67353274,
326       67355896, 67358502, 67361108, 67363707, 67366305, 67368903, 67371499,
327       67374088, 67376677, 67379265, 67381850, 67384431, 67384689, 67387266,
328       67389841, 67392403, 67394964, 67397525, 67397781, 67400338, 67402890,
329       67405435, 67407979, 67410522, 67413058, 67415590, 67418115, 67420637,
330       67423158, 67423410, 67425925, 67428434, 67430942, 67433448, 67435952,
331       67438456, 67440953, 67443448, 67445941, 67446190, 67446439, 67448925,
332       67451408, 67453886, 67456359, 67458828, 67461289, 67463747, 67466201,
333       67468640, 67471077, 67473514, 67475948, 67478379, 67478622, 67481044,
334       67483466, 67485887, 67488300, 67488541, 67490945, 67493342, 67495737,
335       67498130, 67500519, 67502886, 67505248, 67507610, 67509969, 67512326,
336       67514681, 67514916, 67517263, 67519605, 67521947, 67524283, 67526618,
337       67528949, 67531278, 67533606, 67535931, 67538254, 67540576, 67542898,
338       67545217, 67547535, 67549852, 67552168, 67554484, 67556799, 67559112,
339       67561425, 67563731, 67566034, 67566057, 67568355, 67570651, 67570880,
340       67573165, 67575449, 67577733, 67580011, 67582284, 67584546, 67586803,
341       67589060, 67591315, 67593569, 67595817, 67598064, 67600303, 67602540,
342       67604776, 67607003, 67609227, 67611449, 67613666, 67615878, 67616099,
343       67618306, 67620513, 67622701, 67624888, 67627074, 67629256, 67631437,
344       67631655, 67633831, 67635996, 67636212, 67638368, 67640522, 67642669,
345       67644814, 67646957, 67649094, 67651228, 67653359, 67655488, 67657613,
346       67659737, 67659949, 67660161, 67662279, 67664392, 67666501, 67668609,
347       67670712, 67670733, 67672832, 67674930, 67677025, 67679119, 67679328,
348       67681415, 67683499, 67685582, 67685790, 67687869, 67689943, 67692016,
349       67692223, 67694292, 67696359, 67698420, 67700476, 67702531, 67704585,
350       67704790, 67706839, 67708886, 67710931, 67712976, 67715019, 67717058,
351       67719096, 67721131, 67723166, 67723369, 67725396, 67727421, 67729443,
352       67731464, 67733480, 67735496, 67737505, 67737507, 67739505, 67741499,
353       67743493, 67745487, 67747480, 67749473, 67749672, 67749871, 67751859,
354       67753842, 67755823, 67757804, 67758002, 67759979, 67761956, 67763927,
355       67765898, 67767867, 67769836, 67771802, 67773766, 67775729, 67775925,
356       67777878, 67779822, 67781765, 67783706, 67785645, 67787584, 67789521,
357       67791457, 67793391, 67795324, 67797256, 67799187, 67801112, 67803035,
358       67804948, 67805139, 67807046, 67808951, 67810850, 67812744, 67814625,
359       67814813, 67815001, 67816875, 67818748, 67820620, 67822492, 67822679,
360       67824547, 67826413, 67828276, 67830137, 67830323, 67832181, 67834039,
361       67835895, 67837751, 67839606, 67841460, 67843311, 67845160, 67847008,
362       67848856, 67850698, 67850882, 67852720, 67854558, 67856395, 67856578,
363       67858405, 67860227, 67862048, 67862230, 67862412, 67864231, 67866048,
364       67867865, 67869682, 67871486, 67873285, 67875082, 67876877, 67878672,
365       67880467, 67882261, 67884054, 67885846, 67887635, 67889422, 67891209,
366       67892994, 67894775, 67896550, 67898323, 67900092, 67901854, 67902030,
367       67903781, 67905532, 67905707, 67907456, 67909203, 67910949, 67912682,
368       67914411, 67916139, 67917864, 67919589, 67921312, 67923034, 67924755,
369       67926471, 67928182, 67928353, 67930062, 67931771, 67933479, 67935181,
370       67936882, 67936899, 67938598, 67940294, 67941990, 67943685, 67945378,
371       67947063, 67948746, 67950429, 67952112, 67953785, 67955453, 67955619,
372       67957277, 67958934, 67960587, 67962238, 67962403, 67962568, 67962733,
373       67964382, 67966030, 67967676, 67969322, 67970966, 67972608, 67974249,
374       67974413, 67976046, 67977677, 67977840, 67979467, 67981094, 67982720,
375       67984338, 67985950, 67987561, 67987722, 67989331, 67990939, 67992547,
376       67994154, 67995761, 67997368, 67998971, 68000573, 68002174, 68002190,
377       68003789, 68005388, 68006985, 68008581, 68010176, 68011768, 68013356,
378       68014940, 68016522, 68016680, 68016838, 68018416, 68019994, 68021571,
379       68023147, 68024723, 68026296, 68027868, 68029439, 68029596, 68031162,
380       68032724, 68034286, 68034442, 68034598, 68036157, 68037716, 68039273,
381       68040827, 68042380, 68043932, 68045481, 68047024, 68048567, 68050106,
382       68051641, 68051794, 68053323, 68054849, 68056374, 68057898, 68059417,
383       68060934, 68062451, 68063967, 68065480, 68066991, 68067142, 68068651,
384       68070157, 68071660, 68071675, 68071690, 68073187, 68074678, 68074827,
385       68076316, 68077805, 68079293, 68080780, 68082265, 68083750, 68085232,
386       68086713, 68088194, 68089673, 68091149, 68092623, 68094096, 68095568,
387       68095715, 68095862, 68097331, 68098796, 68100261, 68101726, 68103190,
388       68104654, 68106116, 68107575, 68109033, 68110490, 68111945, 68113396,
389       68114845, 68116294, 68117741, 68119184, 68119328, 68120765, 68122201,
390       68123633, 68125064, 68125207, 68126633, 68128059, 68129483, 68130906,
391       68132328, 68133749, 68135154, 68135168, 68136567, 68137966, 68139365,
392       68140762, 68142156, 68143550, 68144943, 68146336, 68147729, 68149120,
393       68150511, 68151902, 68152041, 68153429, 68154816, 68156203, 68157588,
394       68158970, 68160352, 68161731, 68163110, 68164486, 68165861, 68167233,
395       68167370, 68168738, 68168874, 68170229, 68171584, 68172937, 68174282,
396       68175625, 68176966, 68177100, 68177234, 68177368, 68177502, 68178839,
397       68180175, 68181511, 68182844, 68184177, 68185509, 68186838, 68188166,
398       68189493, 68190819, 68192144, 68193466, 68194788, 68196109, 68197427,
399       68198744, 68200060, 68201375, 68202688, 68204000, 68205311, 68205442,
400       68205573, 68206880, 68208187, 68209491, 68210794, 68212097, 68213398,
401       68214697, 68215996, 68217293, 68218589, 68219885, 68221180, 68222474,
402       68223766, 68223895, 68225183, 68226470, 68227755, 68229040, 68230324,
403       68231607, 68232889, 68234167, 68235443, 68236719, 68237994, 68239269,
404       68240543, 68241817, 68243090, 68244362, 68245634, 68246903, 68248172,
405       68249441, 68250709, 68251977, 68253245, 68254509, 68255772, 68257035,
406       68258296, 68259555, 68260813, 68262068, 68263322, 68264576, 68265829,
407       68267082, 68268335, 68269587, 68270836, 68272083, 68273330, 68274574,
408       68275817, 68277060, 68278302, 68279543, 68280781, 68282018, 68283253,
409       68284485, 68285714, 68286943, 68288171, 68289393, 68290615, 68291836,
410       68293055, 68294272, 68295488, 68296702, 68297916, 68299129, 68300341,
411       68300462, 68301669, 68302873, 68304077, 68305281, 68306485, 68307687,
412       68308888, 68310089, 68311290, 68311302, 68312501, 68313699, 68314897,
413       68316094, 68317291, 68318486, 68318605, 68319793, 68320981, 68322168,
414       68323354, 68324539, 68325724, 68326909, 68328093, 68329275, 68330457,
415       68331639, 68331757, 68332935, 68334112, 68335289, 68336466, 68337640,
416       68338813, 68339982, 68341148, 68342313, 68343474, 68343590, 68344749,
417       68345908, 68347065, 68348221, 68349377, 68350532, 68351686, 68352840,
418       68353992, 68354107, 68354222, 68355370, 68356516, 68357654, 68358792,
419       68359926, 68361053, 68362179, 68363301, 68364423, 68365544, 68366659,
420       68367772, 68368884, 68368995, 68369106, 68370215, 68371323, 68372430,
421       68373537, 68374643, 68375749, 68376852, 68377953, 68379052, 68380151,
422       68381249, 68382346, 68383442, 68384537, 68385632, 68386726, 68387820,
423       68388913, 68390006, 68391099, 68392191, 68393280, 68394368, 68395455,
424       68396542, 68397626, 68398710, 68399794, 68400877, 68401959, 68403041,
425       68404123, 68405204, 68406285, 68407366, 68408447, 68409528, 68409636,
426       68409744, 68410822, 68411900, 68412978, 68414051, 68415123, 68416192,
427       68417259, 68418325, 68419391, 68420452, 68421513, 68422572, 68423631,
428       68424690, 68425749, 68426808, 68427867, 68428924, 68429981, 68431037,
429       68432093, 68433147, 68434200, 68435249, 68436298, 68437346, 68438394,
430       68439442, 68440489, 68441533, 68442576, 68443619, 68444657, 68445694,
431       68446730, 68447764, 68447867, 68447970, 68448998, 68450025, 68451052,
432       68452077, 68453102, 68454125, 68455147, 68456169, 68457187, 68458205,
433       68459223, 68460241, 68461258, 68462274, 68463289, 68464303, 68465317,
434       68466329, 68466430, 68466531, 68467540, 68468548, 68469555, 68470560,
435       68471565, 68472568, 68473570, 68474572, 68475574, 68475575, 68475576,
436       68476575, 68477573, 68478570, 68479566, 68480562, 68481557, 68482551,
437       68483545, 68484539, 68484638, 68484737, 68484836, 68485825, 68486811,
438       68487796, 68488777, 68488875, 68488973, 68489952, 68490931, 68491908,
439       68492884, 68493859, 68494834, 68495809, 68496783, 68497756, 68498728,
440       68498825, 68498922, 68499890, 68500858, 68501825, 68502791, 68503757,
441       68504720, 68505683, 68506645, 68506741, 68507700, 68508658, 68509611,
442       68510562, 68511513, 68512464, 68513415, 68514366, 68515317, 68515412,
443       68515507, 68515602, 68515697, 68515792, 68515887, 68516836, 68517785,
444       68518734, 68519683, 68520631, 68521578, 68522525, 68523470, 68524413,
445       68525354, 68526295, 68527236, 68528173, 68529109, 68530045, 68530981,
446       68531915, 68532849, 68533781, 68534713, 68535645, 68536576, 68537507,
447       68537600, 68537693, 68538622, 68539550, 68540476, 68541399, 68542320,
448       68542412, 68542504, 68543423, 68544342, 68545260, 68546176, 68547092,
449       68548007, 68548922, 68549834, 68550745, 68551656, 68551747, 68552655,
450       68553560, 68554465, 68555370, 68556274, 68557177, 68558080, 68558982,
451       68559883, 68560784, 68561685, 68561694, 68562592, 68563490, 68564388,
452       68565285, 68566181, 68567077, 68567973, 68568869, 68569765, 68570659,
453       68571552, 68572444, 68573336, 68574228, 68575120, 68576011, 68576902,
454       68576991, 68577880, 68578768, 68579655, 68580541, 68581427, 68582313,
455       68583196, 68584078, 68584960, 68585841, 68585929, 68586808, 68587685,
456       68588561, 68589437, 68590313, 68591189, 68592065, 68592940, 68593027,
457       68593894, 68594760, 68595626, 68596492, 68597356, 68598218, 68599077,
458       68599936, 68600795, 68601652, 68602508, 68603363, 68604217, 68605070,
459       68605922, 68606774, 68607626, 68608477, 68608562, 68609411, 68610260,
460       68611107, 68611954, 68612800, 68613646, 68614491, 68615336, 68616179,
461       68617021, 68617862, 68618703, 68618787, 68618871, 68619710, 68620548,
462       68621386, 68622222, 68623058, 68623893, 68624728, 68625563, 68626397,
463       68627231, 68628064, 68628896, 68629728, 68630559, 68631390, 68632219,
464       68633047, 68633875, 68634702, 68635529, 68636356, 68637183, 68638009,
465       68638833, 68639656, 68640478, 68641299, 68642120, 68642202, 68643021,
466       68643840, 68644659, 68645477, 68646294, 68647111, 68647927, 68648743,
467       68649559, 68650373, 68651187, 68651998, 68652803, 68653607, 68654410,
468       68655213, 68656016, 68656818, 68657620, 68657628, 68658427, 68659226,
469       68660024, 68660822, 68661620, 68662417, 68663214, 68664010, 68664806,
470       68665601, 68666395, 68667189, 68667982, 68668774, 68669565, 68670356,
471       68671147, 68671935, 68672723, 68673509, 68674295, 68675079, 68675862,
472       68675940, 68676719, 68677498, 68678275, 68679051, 68679826, 68680601,
473       68681375, 68682149, 68682922, 68683694, 68684466, 68685237, 68685314,
474       68685391, 68686160, 68686929, 68687697, 68688464, 68689230, 68689996,
475       68690760, 68691523, 68692285, 68693046, 68693122, 68693198, 68693956,
476       68694713, 68695468, 68696222, 68696976, 68697730, 68698483, 68699235,
477       68699986, 68700737, 68701486, 68702235, 68702984, 68703732, 68704480,
478       68705226, 68705972, 68706718, 68707463, 68708208, 68708953, 68709697,
479       68710440, 68711183, 68711926, 68712667, 68713408, 68714145, 68714882,
480       68715618, 68716354, 68717090, 68717825, 68718559, 68719292, 68720024,
481       68720753, 68721482, 68722209, 68722935, 68723660, 68724384, 68725108,
482       68725832, 68726555, 68727278, 68728001, 68728723, 68728795, 68729514,
483       68730233, 68730951, 68731669, 68732385, 68733101, 68733816, 68734528,
484       68735240, 68735951, 68736022, 68736093, 68736164, 68736235, 68736944,
485       68737653, 68738362, 68739069, 68739775, 68740481, 68741187, 68741892,
486       68742597, 68743301, 68744005, 68744707, 68745409, 68746110, 68746811,
487       68746818, 68746825, 68747524, 68748223, 68748922, 68749620, 68750315,
488       68751009, 68751703, 68752397, 68753090, 68753783, 68754474, 68755165,
489       68755856, 68755925, 68755994, 68756683, 68757371, 68758059, 68758746,
490       68759433, 68760119, 68760805, 68761488, 68762171, 68762852, 68763533,
491       68764214, 68764893, 68765572, 68766251, 68766930, 68767608, 68768286,
492       68768963, 68769640, 68770316, 68770992, 68771667, 68772342, 68773015,
493       68773688, 68774360, 68775032, 68775703, 68776374, 68776441, 68777110,
494       68777777, 68778444, 68779111, 68779778, 68780444, 68781110, 68781776,
495       68782441, 68783106, 68783770, 68784432, 68785094, 68785755, 68786416,
496       68786482, 68786548, 68787207, 68787866, 68788524, 68789182, 68789840,
497       68790497, 68791154, 68791810, 68792466, 68793122, 68793777, 68794432,
498       68795087, 68795741, 68796395, 68797048, 68797700, 68798352, 68799004,
499       68799656, 68800307, 68800372, 68800437, 68801086, 68801735, 68802384,
500       68803033, 68803681, 68804329, 68804976, 68805621, 68806265, 68806908,
501       68807551, 68808194, 68808836, 68809477, 68810118, 68810759, 68811400,
502       68811464, 68811528, 68811592, 68812230, 68812868, 68813506, 68814141,
503       68814776, 68815411, 68816045, 68816679, 68817311, 68817943, 68818571,
504       68819199, 68819826, 68820452, 68821078, 68821704, 68822329, 68822954,
505       68823579, 68824203, 68824826, 68825449, 68826071, 68826133, 68826195,
506       68826257, 68826319, 68826381, 68827000, 68827619, 68828237, 68828855,
507       68829473, 68830090, 68830707, 68831323, 68831938, 68832553, 68833167,
508       68833781, 68834395, 68835008, 68835621, 68836233, 68836842, 68837450,
509       68838057, 68838663, 68839269, 68839874, 68840479, 68841084, 68841689,
510       68842293, 68842897, 68843501, 68844105, 68844708, 68845310, 68845912,
511       68845918, 68845924, 68845930, 68845936, 68846535, 68847134, 68847733,
512       68848332, 68848930, 68849527, 68850124, 68850720, 68851315, 68851909,
513       68852503, 68853096, 68853688, 68854280, 68854872, 68855464, 68856056,
514       68856115, 68856174, 68856233, 68856822, 68857411, 68858000, 68858589,
515       68859178, 68859766, 68860353, 68860939, 68861523, 68862107, 68862691,
516       68863274, 68863857, 68864438, 68865019, 68865600, 68865658, 68866237,
517       68866816, 68867395, 68867973, 68868551, 68869129, 68869706, 68870283,
518       68870860, 68871437, 68872013, 68872589, 68873164, 68873739, 68874313,
519       68874887, 68875461, 68876035, 68876609, 68877183, 68877756, 68878329,
520       68878901, 68879473, 68880045, 68880617, 68881188, 68881759, 68882328,
521       68882897, 68883465, 68884033, 68884601, 68885169, 68885735, 68886301,
522       68886865, 68887428, 68887991, 68888554, 68889116, 68889678, 68890239,
523       68890295, 68890854, 68891412, 68891969, 68892526, 68893083, 68893639,
524       68894195, 68894751, 68895307, 68895862, 68896416, 68896970, 68897524,
525       68898078, 68898631, 68899182, 68899733, 68900284, 68900835, 68901386,
526       68901937, 68902488, 68902543, 68902598, 68902653, 68902708, 68903257,
527       68903806, 68904354, 68904902, 68905450, 68905996, 68906540, 68907084,
528       68907628, 68908172, 68908716, 68909260, 68909803, 68910345, 68910887,
529       68911429, 68911971, 68912512, 68913053, 68913594, 68913648, 68914187,
530       68914725, 68915262, 68915798, 68916334, 68916870, 68917406, 68917941,
531       68918475, 68919009, 68919543, 68920076, 68920608, 68921140, 68921672,
532       68922204, 68922735, 68923266, 68923797, 68924328, 68924859, 68925390,
533       68925919, 68926448, 68926975, 68927502, 68928029, 68928555, 68929081,
534       68929606, 68930131, 68930656, 68931180, 68931703, 68932226, 68932749,
535       68933271, 68933792, 68934313, 68934365, 68934884, 68935403, 68935922,
536       68936440, 68936957, 68937474, 68937991, 68938507, 68939023, 68939538,
537       68940053, 68940567, 68941081, 68941595, 68942108, 68942621, 68943133,
538       68943645, 68944157, 68944669, 68945180, 68945231, 68945282, 68945333,
539       68945842, 68946351, 68946860, 68947369, 68947877, 68948385, 68948893,
540       68949400, 68949906, 68950412, 68950918, 68951424, 68951929, 68952434,
541       68952938, 68953441, 68953944, 68954447, 68954949, 68955450, 68955949,
542       68956448, 68956947, 68957445, 68957943, 68958441, 68958938, 68959435,
543       68959932, 68960429, 68960926, 68961422, 68961917, 68962412, 68962907,
544       68963401, 68963894, 68964387, 68964880, 68965373, 68965866, 68966359,
545       68966852, 68967345, 68967837, 68968329, 68968821, 68968870, 68968919,
546       68968968, 68969457, 68969945, 68970432, 68970919, 68971405, 68971891,
547       68972376, 68972861, 68973346, 68973831, 68974315, 68974797, 68975278,
548       68975759, 68976240, 68976288, 68976336, 68976815, 68977294, 68977772,
549       68978250, 68978727, 68979204, 68979680, 68980156, 68980632, 68981108,
550       68981583, 68982057, 68982530, 68983003, 68983475, 68983947, 68984419,
551       68984891, 68985363, 68985834, 68986305, 68986352, 68986399, 68986868,
552       68987337, 68987806, 68988275, 68988743, 68989211, 68989679, 68990147,
553       68990615, 68991082, 68991549, 68992016, 68992482, 68992948, 68993414,
554       68993879, 68994344, 68994809, 68995274, 68995739, 68996203, 68996667,
555       68997131, 68997595, 68998058, 68998521, 68998983, 68999444, 68999905,
556       69000366, 69000827, 69001288, 69001746, 69002204, 69002661, 69003118,
557       69003575, 69004032, 69004488, 69004944, 69005400, 69005855, 69006310,
558       69006765, 69007220, 69007674, 69008128, 69008582, 69009036, 69009489,
559       69009942, 69010395, 69010847, 69011299, 69011751, 69012203, 69012655,
560       69013106, 69013557, 69013602, 69013647, 69014096, 69014545, 69014993,
561       69015441, 69015889, 69016337, 69016785, 69017232, 69017679, 69018126,
562       69018573, 69019019, 69019465, 69019911, 69020357, 69020802, 69021247,
563       69021692, 69022137, 69022581, 69023025, 69023469, 69023913, 69024356,
564       69024798, 69025240, 69025682, 69026124, 69026565, 69027006, 69027447,
565       69027491, 69027929, 69028366, 69028803, 69029238, 69029673, 69030108,
566       69030543, 69030977, 69031410, 69031843, 69032275, 69032318, 69032361,
567       69032404, 69032447, 69032876, 69033305, 69033734, 69034163, 69034592,
568       69035020, 69035448, 69035876, 69036302, 69036727, 69037152, 69037577,
569       69038002, 69038427, 69038852, 69039276, 69039699, 69040121, 69040543,
570       69040964, 69041385, 69041806, 69042227, 69042648, 69042690, 69043109,
571       69043528, 69043947, 69044366, 69044785, 69045203, 69045619, 69046034,
572       69046449, 69046863, 69047275, 69047687, 69048099, 69048511, 69048923,
573       69049335, 69049746, 69050157, 69050198, 69050239, 69050280, 69050689,
574       69051098, 69051507, 69051916, 69052323, 69052730, 69053137, 69053544,
575       69053950, 69054356, 69054761, 69055166, 69055570, 69055974, 69056377,
576       69056780, 69057183, 69057586, 69057989, 69058392, 69058795, 69059197,
577       69059599, 69060000, 69060401, 69060802, 69061203, 69061600, 69061997,
578       69062394, 69062790, 69063186, 69063582, 69063978, 69064373, 69064768,
579       69065163, 69065558, 69065953, 69066348, 69066742, 69067136, 69067530,
580       69067924, 69068317, 69068710, 69069102, 69069493, 69069884, 69070275,
581       69070314, 69070353, 69070392, 69070431, 69070820, 69071209, 69071597,
582       69071985, 69072373, 69072760, 69073146, 69073531, 69073916, 69074301,
583       69074685, 69075069, 69075453, 69075836, 69076219, 69076602, 69076984,
584       69077365, 69077746, 69078127, 69078165, 69078203, 69078241, 69078620,
585       69078999, 69079378, 69079757, 69080136, 69080514, 69080892, 69081270,
586       69081648, 69082026, 69082404, 69082782, 69083160, 69083538, 69083915,
587       69084292, 69084669, 69085046, 69085422, 69085798, 69086174, 69086550,
588       69086925, 69087300, 69087675, 69088050, 69088424, 69088798, 69089172,
589       69089545, 69089918, 69090291, 69090664, 69091037, 69091409, 69091781,
590       69092153, 69092525, 69092896, 69093267, 69093638, 69094009, 69094046,
591       69094083, 69094120, 69094157, 69094194, 69094231, 69094600, 69094969,
592       69095337, 69095705, 69096073, 69096441, 69096809, 69097177, 69097545,
593       69097912, 69098279, 69098645, 69099011, 69099377, 69099742, 69100107,
594       69100472, 69100837, 69101201, 69101565, 69101928, 69102291, 69102654,
595       69103016, 69103378, 69103740, 69104101, 69104462, 69104823, 69105184,
596       69105220, 69105256, 69105292, 69105651, 69106010, 69106369, 69106728,
597       69107087, 69107446, 69107805, 69108163, 69108521, 69108879, 69109237,
598       69109595, 69109952, 69110309, 69110666, 69111023, 69111380, 69111736,
599       69112092, 69112448, 69112803, 69113158, 69113513, 69113867, 69114221,
600       69114574, 69114927, 69115280, 69115633, 69115985, 69116337, 69116689,
601       69117040, 69117075, 69117110, 69117145, 69117180, 69117215, 69117564,
602       69117913, 69118262, 69118611, 69118959, 69119307, 69119654, 69120001,
603       69120348, 69120695, 69121041, 69121387, 69121733, 69122078, 69122422,
604       69122766, 69123109, 69123452, 69123794, 69124136, 69124478, 69124819,
605       69125160, 69125501, 69125842, 69126183, 69126217, 69126251, 69126285,
606       69126319, 69126353, 69126692, 69127031, 69127370, 69127709, 69128047,
607       69128385, 69128723, 69129060, 69129397, 69129734, 69130070, 69130406,
608       69130742, 69131077, 69131411, 69131745, 69132079, 69132413, 69132746,
609       69133079, 69133411, 69133743, 69134075, 69134406, 69134737, 69135068,
610       69135101, 69135134, 69135167, 69135200, 69135233, 69135266, 69135299,
611       69135628, 69135957, 69136286, 69136615, 69136944, 69137272, 69137600,
612       69137927, 69138254, 69138581, 69138908, 69139234, 69139560, 69139886,
613       69140212, 69140538, 69140863, 69141188, 69141513, 69141838, 69142162,
614       69142486, 69142810, 69143134, 69143457, 69143780, 69144103, 69144425,
615       69144747, 69145069, 69145391, 69145713, 69146034, 69146355, 69146676,
616       69146997, 69147029, 69147061, 69147093, 69147125, 69147157, 69147476,
617       69147794, 69148112, 69148430, 69148748, 69149066, 69149383, 69149700,
618       69150017, 69150334, 69150650, 69150966, 69151281, 69151596, 69151911,
619       69152226, 69152540, 69152854, 69153168, 69153482, 69153796, 69154110,
620       69154422, 69154734, 69155046, 69155358, 69155670, 69155981, 69156292,
621       69156603, 69156634, 69156665, 69156696, 69157005, 69157314, 69157623,
622       69157932, 69158240, 69158548, 69158856, 69159164, 69159472, 69159780,
623       69160087, 69160394, 69160701, 69161007, 69161313, 69161619, 69161925,
624       69162230, 69162535, 69162840, 69163145, 69163449, 69163753, 69164057,
625       69164360, 69164663, 69164966, 69165269, 69165572, 69165875, 69166177,
626       69166479, 69166781, 69167083, 69167385, 69167687, 69167989, 69168291,
627       69168593, 69168895, 69169196, 69169497, 69169798, 69170099, 69170400,
628       69170701, 69170704, 69170707, 69170710, 69171009, 69171308, 69171607,
629       69171905, 69172203, 69172501, 69172798, 69173095, 69173392, 69173688,
630       69173984, 69174280, 69174576, 69174872, 69175168, 69175463, 69175758,
631       69176053, 69176348, 69176643, 69176938, 69177233, 69177528, 69177823,
632       69178117, 69178411, 69178704, 69178997, 69179290, 69179583, 69179876,
633       69180168, 69180460, 69180752, 69181044, 69181335, 69181364, 69181393,
634       69181682, 69181971, 69182260, 69182548, 69182836, 69183124, 69183412,
635       69183700, 69183988, 69184276, 69184563, 69184850, 69185137, 69185424,
636       69185711, 69185998, 69186284, 69186570, 69186856, 69187142, 69187428,
637       69187713, 69187998, 69188283, 69188568, 69188853, 69189138, 69189423,
638       69189708, 69189993, 69190277, 69190561, 69190845, 69191128, 69191411,
639       69191693, 69191975, 69192257, 69192539, 69192820, 69193101, 69193382,
640       69193663, 69193944, 69194225, 69194506, 69194534, 69194562, 69194590,
641       69194869, 69195148, 69195427, 69195706, 69195985, 69196264, 69196542,
642       69196820, 69197098, 69197376, 69197653, 69197930, 69198207, 69198484,
643       69198761, 69199038, 69199314, 69199590, 69199866, 69200140, 69200414,
644       69200688, 69200962, 69201235, 69201508, 69201781, 69202054, 69202326,
645       69202598, 69202870, 69203142, 69203414, 69203686, 69203958, 69204230,
646       69204501, 69204772, 69205043, 69205314, 69205341, 69205368, 69205395,
647       69205422, 69205449, 69205718, 69205987, 69206256, 69206525, 69206794,
648       69207063, 69207332, 69207601, 69207869, 69208137, 69208405, 69208672,
649       69208939, 69209206, 69209473, 69209740, 69210006, 69210272, 69210538,
650       69210804, 69211070, 69211336, 69211602, 69211867, 69212132, 69212397,
651       69212662, 69212927, 69213191, 69213455, 69213719, 69213983, 69214247,
652       69214511, 69214775, 69215038, 69215301, 69215564, 69215827, 69216089,
653       69216351, 69216613, 69216875, 69217136, 69217397, 69217658, 69217919,
654       69218180, 69218441, 69218702, 69218963, 69218989, 69219015, 69219041,
655       69219067, 69219093, 69219352, 69219611, 69219870, 69220129, 69220387,
656       69220645, 69220903, 69221161, 69221419, 69221677, 69221935, 69222193,
657       69222450, 69222707, 69222964, 69223221, 69223478, 69223735, 69223991,
658       69224247, 69224502, 69224757, 69225012, 69225267, 69225522, 69225777,
659       69226032, 69226287, 69226542, 69226797, 69227051, 69227305, 69227559,
660       69227812, 69228065, 69228318, 69228571, 69228824, 69229077, 69229330,
661       69229582, 69229834, 69230086, 69230338, 69230590, 69230842, 69231094,
662       69231346, 69231597, 69231848, 69232099, 69232350, 69232601, 69232852,
663       69232877, 69232902, 69232927, 69232952, 69232977, 69233002, 69233251,
664       69233500, 69233748, 69233996, 69234244, 69234492, 69234739, 69234986,
665       69235233, 69235480, 69235727, 69235974, 69236220, 69236466, 69236711,
666       69236956, 69237201, 69237446, 69237690, 69237934, 69238178, 69238421,
667       69238663, 69238905, 69239147, 69239389, 69239631, 69239873, 69240114,
668       69240355, 69240596, 69240837, 69241078, 69241319, 69241560, 69241801,
669       69241825, 69241849, 69241873, 69241897, 69241921, 69241945, 69242184,
670       69242423, 69242662, 69242901, 69243140, 69243379, 69243618, 69243856,
671       69244094, 69244332, 69244570, 69244808, 69245045, 69245282, 69245519,
672       69245756, 69245992, 69246228, 69246463, 69246698, 69246933, 69247168,
673       69247403, 69247637, 69247871, 69248105, 69248339, 69248573, 69248807,
674       69249041, 69249275, 69249509, 69249742, 69249975, 69250208, 69250441,
675       69250674, 69250907, 69251140, 69251372, 69251604, 69251836, 69252068,
676       69252300, 69252532, 69252764, 69252996, 69253228, 69253460, 69253692,
677       69253924, 69254155, 69254386, 69254617, 69254848, 69255079, 69255310,
678       69255541, 69255772, 69256003, 69256234, 69256257, 69256280, 69256303,
679       69256326, 69256349, 69256372, 69256395, 69256418, 69256647, 69256876,
680       69257105, 69257333, 69257561, 69257789, 69258016, 69258243, 69258470,
681       69258697, 69258924, 69259150, 69259376, 69259602, 69259828, 69260054,
682       69260279, 69260504, 69260729, 69260954, 69261179, 69261404, 69261629,
683       69261853, 69262077, 69262301, 69262525, 69262749, 69262973, 69263196,
684       69263419, 69263642, 69263865, 69264088, 69264311, 69264534, 69264757,
685       69264979, 69265201, 69265423, 69265645, 69265867, 69266089, 69266311,
686       69266533, 69266754, 69266975, 69267196, 69267417, 69267439, 69267461,
687       69267483, 69267505, 69267527, 69267549, 69267768, 69267987, 69268206,
688       69268424, 69268642, 69268860, 69269077, 69269294, 69269511, 69269728,
689       69269944, 69270160, 69270376, 69270592, 69270808, 69271024, 69271240,
690       69271456, 69271672, 69271887, 69272102, 69272317, 69272532, 69272747,
691       69272962, 69273176, 69273390, 69273604, 69273818, 69274032, 69274246,
692       69274460, 69274674, 69274888, 69275101, 69275314, 69275527, 69275740,
693       69275953, 69276166, 69276379, 69276592, 69276805, 69277018, 69277231,
694       69277443, 69277655, 69277867, 69278078, 69278289, 69278500, 69278711,
695       69278922, 69279133, 69279344, 69279555, 69279766, 69279977, 69279998,
696       69280019, 69280040, 69280061, 69280082, 69280103, 69280312, 69280521,
697       69280730, 69280939, 69281148, 69281356, 69281564, 69281772, 69281980,
698       69282188, 69282396, 69282604, 69282812, 69283020, 69283228, 69283435,
699       69283642, 69283849, 69284056, 69284263, 69284470, 69284676, 69284882,
700       69285087, 69285291, 69285495, 69285698, 69285901, 69286104, 69286307,
701       69286510, 69286713, 69286915, 69287117, 69287319, 69287521, 69287723,
702       69287925, 69288127, 69288329, 69288531, 69288732, 69288933, 69289134,
703       69289335, 69289536, 69289737, 69289938, 69290139, 69290141, 69290143,
704       69290342, 69290541, 69290740, 69290939, 69291138, 69291337, 69291535,
705       69291733, 69291931, 69292128, 69292325, 69292522, 69292719, 69292916,
706       69293113, 69293310, 69293507, 69293703, 69293899, 69294095, 69294291,
707       69294487, 69294683, 69294879, 69295075, 69295270, 69295465, 69295660,
708       69295855, 69296050, 69296245, 69296440, 69296635, 69296830, 69297024,
709       69297218, 69297412, 69297606, 69297800, 69297994, 69298188, 69298381,
710       69298574, 69298767, 69298960, 69299153, 69299346, 69299539, 69299731,
711       69299923, 69300115, 69300307, 69300498, 69300689, 69300880, 69301071,
712       69301262, 69301453, 69301644, 69301835, 69302026, 69302217, 69302236,
713       69302255, 69302274, 69302293, 69302312, 69302501, 69302690, 69302879,
714       69303068, 69303257, 69303446, 69303635, 69303823, 69304011, 69304199,
715       69304387, 69304575, 69304763, 69304951, 69305139, 69305327, 69305514,
716       69305701, 69305888, 69306075, 69306262, 69306449, 69306636, 69306823,
717       69307009, 69307195, 69307381, 69307567, 69307753, 69307939, 69308125,
718       69308310, 69308495, 69308680, 69308865, 69309050, 69309235, 69309420,
719       69309604, 69309788, 69309972, 69310156, 69310340, 69310524, 69310708,
720       69310892, 69311076, 69311260, 69311444, 69311628, 69311811, 69311994,
721       69312177, 69312360, 69312543, 69312726, 69312909, 69313092, 69313275,
722       69313458, 69313641, 69313823, 69314005, 69314187, 69314369, 69314551,
723       69314733, 69314915, 69315097, 69315279, 69315460, 69315478, 69315496,
724       69315514, 69315532, 69315550, 69315568, 69315586, 69315604, 69315783,
725       69315962, 69316141, 69316320, 69316499, 69316678, 69316857, 69317036,
726       69317215, 69317393, 69317571, 69317749, 69317927, 69318105, 69318283,
727       69318461, 69318639, 69318817, 69318995, 69319173, 69319351, 69319528,
728       69319705, 69319882, 69320059, 69320236, 69320413, 69320590, 69320767,
729       69320944, 69321121, 69321298, 69321475, 69321651, 69321827, 69322003,
730       69322178, 69322353, 69322528, 69322703, 69322878, 69323053, 69323228,
731       69323403, 69323578, 69323752, 69323926, 69324100, 69324274, 69324448,
732       69324622, 69324796, 69324970, 69325144, 69325318, 69325491, 69325664,
733       69325837, 69326010, 69326183, 69326356, 69326529, 69326702, 69326875,
734       69327048, 69327221, 69327393, 69327565, 69327737, 69327909, 69328081,
735       69328253, 69328425, 69328596, 69328767, 69328938, 69329109, 69329280,
736       69329451, 69329622, 69329793, 69329964, 69329981, 69329998, 69330015,
737       69330032, 69330049, 69330066, 69330083, 69330100, 69330117, 69330286,
738       69330455, 69330624, 69330793, 69330962, 69331131, 69331300, 69331468,
739       69331636, 69331804, 69331972, 69332139, 69332306, 69332473, 69332640,
740       69332807, 69332974, 69333140, 69333306, 69333472, 69333638, 69333804,
741       69333970, 69334136, 69334301, 69334466, 69334631, 69334796, 69334961,
742       69335126, 69335291, 69335456, 69335621, 69335786, 69335951, 69336116,
743       69336281, 69336446, 69336611, 69336775, 69336939, 69337103, 69337267,
744       69337431, 69337595, 69337759, 69337922, 69338085, 69338248, 69338411,
745       69338574, 69338736, 69338898, 69339060, 69339222, 69339384, 69339546,
746       69339708, 69339870, 69340032, 69340194, 69340356, 69340518, 69340680,
747       69340841, 69341002, 69341163, 69341324, 69341485, 69341646, 69341807,
748       69341968, 69342129, 69342290, 69342306, 69342322, 69342338, 69342354,
749       69342370, 69342386, 69342402, 69342418, 69342434, 69342593, 69342752,
750       69342911, 69343070, 69343229, 69343388, 69343547, 69343705, 69343863,
751       69344021, 69344179, 69344337, 69344495, 69344652, 69344809, 69344966,
752       69345123, 69345280, 69345437, 69345594, 69345751, 69345908, 69346065,
753       69346222, 69346378, 69346534, 69346690, 69346846, 69347002, 69347158,
754       69347314, 69347470, 69347626, 69347782, 69347938, 69348094, 69348249,
755       69348404, 69348559, 69348714, 69348869, 69349024, 69349179, 69349334,
756       69349489, 69349644, 69349798, 69349952, 69350106, 69350260, 69350414,
757       69350568, 69350722, 69350876, 69351030, 69351184, 69351338, 69351492,
758       69351646, 69351800, 69351953, 69352106, 69352259, 69352412, 69352565,
759       69352718, 69352871, 69353023, 69353175, 69353327, 69353479, 69353631,
760       69353783, 69353935, 69354087, 69354238, 69354389, 69354540, 69354691,
761       69354842, 69354993, 69355144, 69355159, 69355174, 69355189, 69355204,
762       69355219, 69355234, 69355249, 69355264, 69355279, 69355428, 69355577,
763       69355726, 69355875, 69356024, 69356173, 69356322, 69356471, 69356620,
764       69356769, 69356918, 69357067, 69357216, 69357365, 69357514, 69357663,
765       69357811, 69357959, 69358107, 69358255, 69358403, 69358551, 69358699,
766       69358847, 69358994, 69359141, 69359288, 69359435, 69359582, 69359729,
767       69359876, 69360023, 69360170, 69360317, 69360464, 69360611, 69360758,
768       69360905, 69361052, 69361199, 69361346, 69361492, 69361638, 69361784,
769       69361930, 69362076, 69362222, 69362368, 69362514, 69362659, 69362804,
770       69362949, 69363094, 69363239, 69363384, 69363529, 69363674, 69363819,
771       69363964, 69364109, 69364254, 69364399, 69364543, 69364687, 69364831,
772       69364975, 69365119, 69365263, 69365407, 69365551, 69365695, 69365839,
773       69365983, 69366126, 69366269, 69366412, 69366555, 69366698, 69366841,
774       69366984, 69367127, 69367269, 69367411, 69367553, 69367695, 69367837,
775       69367979, 69368121, 69368263, 69368405, 69368547, 69368688, 69368829,
776       69368970, 69369111, 69369252, 69369393, 69369534, 69369675, 69369816,
777       69369957, 69370098, 69370112, 69370126, 69370140, 69370154, 69370168,
778       69370182, 69370196, 69370335, 69370474, 69370613, 69370752, 69370891,
779       69371030, 69371169, 69371308, 69371447, 69371585, 69371723, 69371861,
780       69371999, 69372137, 69372275, 69372412, 69372549, 69372686, 69372823,
781       69372960, 69373097, 69373234, 69373371, 69373508, 69373645, 69373782,
782       69373919, 69374056, 69374193, 69374330, 69374467, 69374604, 69374741,
783       69374878, 69375015, 69375151, 69375287, 69375423, 69375559, 69375695,
784       69375831, 69375967, 69376103, 69376239, 69376375, 69376511, 69376646,
785       69376781, 69376916, 69377051, 69377186, 69377321, 69377456, 69377591,
786       69377726, 69377861, 69377996, 69378131, 69378266, 69378400, 69378534,
787       69378668, 69378802, 69378936, 69379070, 69379204, 69379338, 69379472,
788       69379605, 69379738, 69379871, 69380004, 69380137, 69380270, 69380403,
789       69380536, 69380669, 69380802, 69380935, 69381067, 69381199, 69381331,
790       69381463, 69381595, 69381727, 69381859, 69381990, 69382121, 69382252,
791       69382383, 69382514, 69382645, 69382776, 69382907, 69383038, 69383051,
792       69383064, 69383077, 69383090, 69383103, 69383116, 69383129, 69383142,
793       69383155, 69383168, 69383181, 69383194, 69383207, 69383336, 69383465,
794       69383594, 69383723, 69383852, 69383981, 69384110, 69384239, 69384368,
795       69384497, 69384625, 69384753, 69384881, 69385009, 69385137, 69385265,
796       69385392, 69385519, 69385646, 69385773, 69385900, 69386027, 69386154,
797       69386281, 69386408, 69386535, 69386662, 69386789, 69386915, 69387041,
798       69387167, 69387293, 69387419, 69387545, 69387671, 69387797, 69387923,
799       69388049, 69388175, 69388301, 69388427, 69388553, 69388678, 69388803,
800       69388928, 69389053, 69389178, 69389303, 69389428, 69389553, 69389678,
801       69389803, 69389928, 69390053, 69390178, 69390303, 69390428, 69390553,
802       69390678, 69390803, 69390927, 69391051, 69391175, 69391299, 69391423,
803       69391547, 69391671, 69391795, 69391919, 69392042, 69392165, 69392288,
804       69392411, 69392534, 69392657, 69392780, 69392903, 69393026, 69393149,
805       69393272, 69393395, 69393518, 69393640, 69393762, 69393884, 69394006,
806       69394128, 69394250, 69394372, 69394494, 69394616, 69394738, 69394860,
807       69394982, 69395104, 69395225, 69395346, 69395467, 69395588, 69395709,
808       69395830, 69395951, 69396072, 69396193, 69396314, 69396435, 69396556,
809       69396677, 69396798, 69396810, 69396822, 69396834, 69396846, 69396858,
810       69396870, 69396989, 69397108, 69397227, 69397346, 69397465, 69397584,
811       69397703, 69397822, 69397941, 69398060, 69398179, 69398297, 69398415,
812       69398533, 69398651, 69398769, 69398887, 69399005, 69399123, 69399241,
813       69399359, 69399477, 69399595, 69399712, 69399829, 69399946, 69400063,
814       69400180, 69400297, 69400414, 69400531, 69400648, 69400765, 69400882,
815       69400998, 69401114, 69401230, 69401346, 69401462, 69401578, 69401694,
816       69401810, 69401926, 69402042, 69402158, 69402273, 69402388, 69402503,
817       69402618, 69402733, 69402848, 69402963, 69403078, 69403193, 69403308,
818       69403422, 69403536, 69403650, 69403764, 69403878, 69403992, 69404106,
819       69404220, 69404334, 69404447, 69404560, 69404673, 69404786, 69404899,
820       69405012, 69405125, 69405238, 69405351, 69405464, 69405577, 69405690,
821       69405803, 69405915, 69406027, 69406139, 69406251, 69406363, 69406475,
822       69406587, 69406699, 69406811, 69406923, 69407035, 69407147, 69407259,
823       69407371, 69407483, 69407595, 69407707, 69407818, 69407929, 69408040,
824       69408151, 69408262, 69408373, 69408484, 69408595, 69408706, 69408817,
825       69408928, 69409039, 69409150, 69409161, 69409172, 69409183, 69409194,
826       69409205, 69409216, 69409227, 69409238, 69409347, 69409456, 69409565,
827       69409674, 69409783, 69409892, 69410001, 69410110, 69410219, 69410328,
828       69410437, 69410546, 69410655, 69410764, 69410873, 69410982, 69411091,
829       69411200, 69411309, 69411418, 69411526, 69411634, 69411742, 69411850,
830       69411958, 69412066, 69412174, 69412282, 69412390, 69412498, 69412606,
831       69412714, 69412822, 69412930, 69413037, 69413144, 69413251, 69413358,
832       69413465, 69413572, 69413679, 69413786, 69413893, 69414000, 69414106,
833       69414212, 69414318, 69414424, 69414530, 69414636, 69414742, 69414848,
834       69414954, 69415060, 69415166, 69415272, 69415378, 69415483, 69415588,
835       69415693, 69415798, 69415903, 69416008, 69416113, 69416218, 69416323,
836       69416428, 69416533, 69416638, 69416743, 69416847, 69416951, 69417055,
837       69417159, 69417263, 69417367, 69417471, 69417575, 69417679, 69417783,
838       69417887, 69417991, 69418095, 69418198, 69418301, 69418404, 69418507,
839       69418610, 69418713, 69418816, 69418919, 69419022, 69419125, 69419228,
840       69419331, 69419433, 69419535, 69419637, 69419739, 69419841, 69419943,
841       69420045, 69420147, 69420249, 69420351, 69420453, 69420555, 69420657,
842       69420759, 69420860, 69420961, 69421062, 69421163, 69421264, 69421365,
843       69421466, 69421567, 69421668, 69421769, 69421870, 69421971, 69422072,
844       69422173, 69422274, 69422375, 69422376, 69422377, 69422378, 69422379,
845       69422380, 69422381, 69422382, 69422383, 69422384, 69422385, 69422386,
846       69422387, 69422388, 69422389, 69422390, 69422391, 69422490, 69422589,
847       69422688, 69422787, 69422886, 69422985, 69423084, 69423183, 69423282,
848       69423381, 69423480, 69423579, 69423678, 69423777, 69423876, 69423975,
849       69424073, 69424171, 69424269, 69424367, 69424465, 69424563, 69424661,
850       69424759, 69424857, 69424954, 69425051, 69425148, 69425245, 69425342,
851       69425439, 69425536, 69425633, 69425730, 69425827, 69425924, 69426021,
852       69426118, 69426214, 69426310, 69426406, 69426502, 69426598, 69426694,
853       69426790, 69426886, 69426982, 69427078, 69427174, 69427270, 69427366,
854       69427462, 69427558, 69427653, 69427748, 69427843, 69427938, 69428033,
855       69428128, 69428223, 69428318, 69428413, 69428508, 69428603, 69428698,
856       69428793, 69428888, 69428982, 69429076, 69429170, 69429264, 69429358,
857       69429452, 69429546, 69429640, 69429734, 69429828, 69429922, 69430016,
858       69430110, 69430204, 69430298, 69430392, 69430486, 69430580, 69430673,
859       69430766, 69430859, 69430952, 69431045, 69431138, 69431231, 69431324,
860       69431417, 69431510, 69431603, 69431696, 69431789, 69431882, 69431975,
861       69432068, 69432161, 69432254, 69432347, 69432439, 69432531, 69432623,
862       69432715, 69432807, 69432899, 69432991, 69433083, 69433175, 69433267,
863       69433359, 69433450, 69433541, 69433632, 69433723, 69433814, 69433905,
864       69433996, 69434087, 69434178, 69434269, 69434360, 69434451, 69434542,
865       69434633, 69434724, 69434733, 69434742, 69434751, 69434760, 69434769,
866       69434778, 69434787, 69434796, 69434805, 69434814, 69434823, 69434912,
867       69435001, 69435090, 69435179, 69435268, 69435357, 69435446, 69435535,
868       69435624, 69435713, 69435801, 69435889, 69435977, 69436065, 69436153,
869       69436241, 69436329, 69436417, 69436505, 69436593, 69436681, 69436769,
870       69436857, 69436944, 69437031, 69437118, 69437205, 69437292, 69437379,
871       69437466, 69437553, 69437640, 69437727, 69437814, 69437901, 69437988,
872       69438075, 69438161, 69438247, 69438333, 69438419, 69438505, 69438591,
873       69438677, 69438763, 69438849, 69438935, 69439021, 69439107, 69439193,
874       69439278, 69439363, 69439448, 69439533, 69439618, 69439703, 69439788,
875       69439873, 69439958, 69440043, 69440128, 69440213, 69440298, 69440382,
876       69440466, 69440550, 69440634, 69440718, 69440802, 69440886, 69440970,
877       69441054, 69441138, 69441222, 69441306, 69441390, 69441474, 69441557,
878       69441640, 69441723, 69441806, 69441889, 69441972, 69442055, 69442138,
879       69442221, 69442304, 69442387, 69442470, 69442553, 69442636, 69442719,
880       69442802, 69442885, 69442967, 69443049, 69443131, 69443213, 69443295,
881       69443377, 69443459, 69443541, 69443623, 69443705, 69443787, 69443869,
882       69443951, 69444033, 69444115, 69444197, 69444279, 69444361, 69444443,
883       69444524, 69444605, 69444686, 69444767, 69444848, 69444929, 69445010,
884       69445091, 69445172, 69445253, 69445334, 69445415, 69445496, 69445577,
885       69445585, 69445593, 69445601, 69445609, 69445617, 69445625, 69445633,
886       69445641, 69445649, 69445657, 69445665, 69445673, 69445681, 69445689,
887       69445697, 69445705, 69445713, 69445721, 69445729, 69445737, 69445816,
888       69445895, 69445974, 69446053, 69446132, 69446211, 69446290, 69446369,
889       69446448, 69446527, 69446606, 69446685, 69446764, 69446843, 69446922,
890       69447001, 69447080, 69447159, 69447238, 69447317, 69447396, 69447475,
891       69447553, 69447631, 69447709, 69447787, 69447865, 69447943, 69448021,
892       69448099, 69448177, 69448255, 69448333, 69448411, 69448489, 69448567,
893       69448645, 69448722, 69448799, 69448876, 69448953, 69449030, 69449107,
894       69449184, 69449261, 69449338, 69449415, 69449492, 69449569, 69449646,
895       69449723, 69449800, 69449876, 69449952, 69450028, 69450104, 69450180,
896       69450256, 69450332, 69450408, 69450484, 69450560, 69450636, 69450712,
897       69450788, 69450864, 69450940, 69451016, 69451092, 69451168, 69451244,
898       69451320, 69451395, 69451470, 69451545, 69451620, 69451695, 69451770,
899       69451845, 69451920, 69451995, 69452070, 69452145, 69452220, 69452295,
900       69452370, 69452445, 69452520, 69452595, 69452670, 69452745, 69452820,
901       69452895, 69452970, 69453044, 69453118, 69453192, 69453266, 69453340,
902       69453414, 69453488, 69453562, 69453636, 69453710, 69453784, 69453858,
903       69453932, 69454006, 69454080, 69454154, 69454228, 69454302, 69454376,
904       69454450, 69454524, 69454598, 69454671, 69454744, 69454817, 69454890,
905       69454963, 69455036, 69455109, 69455182, 69455255, 69455328, 69455401,
906       69455474, 69455547, 69455620, 69455693, 69455766, 69455839, 69455912,
907       69455985, 69456058, 69456130, 69456202, 69456274, 69456346, 69456418,
908       69456490, 69456562, 69456634, 69456706, 69456778, 69456850, 69456922,
909       69456994, 69457066, 69457138, 69457210, 69457281, 69457352, 69457423,
910       69457494, 69457565, 69457636, 69457707, 69457778, 69457849, 69457920,
911       69457991, 69458062, 69458133, 69458204, 69458275, 69458346, 69458417,
912       69458488, 69458559, 69458630, 69458701, 69458772, 69458843, 69458850,
913       69458857, 69458864, 69458871, 69458878, 69458885, 69458892, 69458899,
914       69458906, 69458913, 69458920, 69458927, 69458934, 69458941, 69459010,
915       69459079, 69459148, 69459217, 69459286, 69459355, 69459424, 69459493,
916       69459562, 69459631, 69459700, 69459769, 69459838, 69459907, 69459976,
917       69460045, 69460114, 69460183, 69460252, 69460321, 69460390, 69460459,
918       69460528, 69460596, 69460664, 69460732, 69460800, 69460868, 69460936};
919     System.arraycopy(temp, 0, prob, 0, temp.length);
920   }
921
922   private static void populateProb2() {
923     int[] temp = new int[] {
924       69461004, 69461072, 69461140, 69461208, 69461276, 69461344, 69461412,
925       69461480, 69461548, 69461616, 69461684, 69461751, 69461818, 69461885,
926       69461952, 69462019, 69462086, 69462153, 69462220, 69462287, 69462354,
927       69462421, 69462488, 69462555, 69462622, 69462689, 69462756, 69462823,
928       69462889, 69462955, 69463021, 69463087, 69463153, 69463219, 69463285,
929       69463351, 69463417, 69463483, 69463549, 69463615, 69463681, 69463747,
930       69463813, 69463879, 69463945, 69464011, 69464077, 69464143, 69464209,
931       69464275, 69464341, 69464407, 69464473, 69464539, 69464605, 69464670,
932       69464735, 69464800, 69464865, 69464930, 69464995, 69465060, 69465125,
933       69465190, 69465255, 69465320, 69465385, 69465450, 69465515, 69465580,
934       69465645, 69465710, 69465775, 69465840, 69465905, 69465969, 69466033,
935       69466097, 69466161, 69466225, 69466289, 69466353, 69466417, 69466481,
936       69466545, 69466609, 69466673, 69466737, 69466801, 69466864, 69466927,
937       69466990, 69467053, 69467116, 69467179, 69467242, 69467305, 69467368,
938       69467431, 69467494, 69467557, 69467620, 69467683, 69467746, 69467809,
939       69467872, 69467935, 69467998, 69468061, 69468124, 69468187, 69468250,
940       69468313, 69468375, 69468437, 69468499, 69468561, 69468623, 69468685,
941       69468747, 69468809, 69468871, 69468933, 69468995, 69469057, 69469119,
942       69469181, 69469243, 69469305, 69469366, 69469427, 69469488, 69469549,
943       69469610, 69469671, 69469732, 69469793, 69469854, 69469915, 69469976,
944       69470037, 69470098, 69470159, 69470220, 69470281, 69470342, 69470403,
945       69470464, 69470525, 69470586, 69470647, 69470708, 69470714, 69470720,
946       69470726, 69470732, 69470738, 69470744, 69470750, 69470756, 69470762,
947       69470768, 69470774, 69470780, 69470786, 69470792, 69470798, 69470804,
948       69470810, 69470816, 69470822, 69470828, 69470834, 69470840, 69470846,
949       69470852, 69470858, 69470864, 69470870, 69470876, 69470882, 69470888,
950       69470894, 69470900, 69470959, 69471018, 69471077, 69471136, 69471195,
951       69471254, 69471313, 69471372, 69471431, 69471490, 69471549, 69471608,
952       69471667, 69471726, 69471785, 69471844, 69471903, 69471962, 69472021,
953       69472080, 69472139, 69472197, 69472255, 69472313, 69472371, 69472429,
954       69472487, 69472545, 69472603, 69472661, 69472719, 69472777, 69472835,
955       69472893, 69472951, 69473009, 69473067, 69473125, 69473183, 69473241,
956       69473299, 69473357, 69473415, 69473473, 69473531, 69473589, 69473647,
957       69473705, 69473762, 69473819, 69473876, 69473933, 69473990, 69474047,
958       69474104, 69474161, 69474218, 69474275, 69474332, 69474389, 69474446,
959       69474503, 69474560, 69474617, 69474674, 69474731, 69474788, 69474845,
960       69474902, 69474959, 69475016, 69475072, 69475128, 69475184, 69475240,
961       69475296, 69475352, 69475408, 69475464, 69475520, 69475576, 69475632,
962       69475688, 69475744, 69475800, 69475856, 69475912, 69475968, 69476024,
963       69476080, 69476136, 69476192, 69476248, 69476304, 69476360, 69476416,
964       69476471, 69476526, 69476581, 69476636, 69476691, 69476746, 69476801,
965       69476856, 69476911, 69476966, 69477021, 69477076, 69477131, 69477186,
966       69477241, 69477296, 69477351, 69477406, 69477461, 69477516, 69477571,
967       69477626, 69477681, 69477736, 69477791, 69477846, 69477901, 69477956,
968       69478010, 69478064, 69478118, 69478172, 69478226, 69478280, 69478334,
969       69478388, 69478442, 69478496, 69478550, 69478604, 69478658, 69478712,
970       69478766, 69478820, 69478874, 69478928, 69478982, 69479036, 69479090,
971       69479144, 69479197, 69479250, 69479303, 69479356, 69479409, 69479462,
972       69479515, 69479568, 69479621, 69479674, 69479727, 69479780, 69479833,
973       69479886, 69479939, 69479992, 69480045, 69480098, 69480151, 69480204,
974       69480257, 69480310, 69480363, 69480416, 69480468, 69480520, 69480572,
975       69480624, 69480676, 69480728, 69480780, 69480832, 69480884, 69480936,
976       69480988, 69481040, 69481092, 69481144, 69481196, 69481248, 69481300,
977       69481352, 69481404, 69481456, 69481508, 69481560, 69481612, 69481664,
978       69481716, 69481768, 69481820, 69481872, 69481924, 69481976, 69482028,
979       69482080, 69482132, 69482184, 69482236, 69482288, 69482339, 69482390,
980       69482441, 69482492, 69482543, 69482594, 69482645, 69482696, 69482747,
981       69482798, 69482849, 69482900, 69482951, 69483002, 69483053, 69483104,
982       69483155, 69483206, 69483257, 69483308, 69483359, 69483410, 69483461,
983       69483512, 69483563, 69483614, 69483665, 69483716, 69483767, 69483772,
984       69483777, 69483782, 69483787, 69483792, 69483797, 69483802, 69483807,
985       69483812, 69483817, 69483822, 69483827, 69483832, 69483837, 69483842,
986       69483847, 69483852, 69483857, 69483862, 69483867, 69483872, 69483877,
987       69483926, 69483975, 69484024, 69484073, 69484122, 69484171, 69484220,
988       69484269, 69484318, 69484367, 69484416, 69484465, 69484514, 69484563,
989       69484612, 69484661, 69484710, 69484759, 69484808, 69484857, 69484906,
990       69484955, 69485004, 69485053, 69485102, 69485151, 69485200, 69485249,
991       69485298, 69485347, 69485396, 69485445, 69485494, 69485543, 69485592,
992       69485641, 69485690, 69485739, 69485788, 69485837, 69485886, 69485935,
993       69485984, 69486033, 69486082, 69486131, 69486180, 69486229, 69486278,
994       69486326, 69486374, 69486422, 69486470, 69486518, 69486566, 69486614,
995       69486662, 69486710, 69486758, 69486806, 69486854, 69486902, 69486950,
996       69486998, 69487046, 69487094, 69487142, 69487190, 69487238, 69487286,
997       69487333, 69487380, 69487427, 69487474, 69487521, 69487568, 69487615,
998       69487662, 69487709, 69487756, 69487803, 69487850, 69487897, 69487944,
999       69487991, 69488038, 69488085, 69488132, 69488179, 69488226, 69488273,
1000       69488320, 69488366, 69488412, 69488458, 69488504, 69488550, 69488596,
1001       69488642, 69488688, 69488734, 69488780, 69488826, 69488872, 69488918,
1002       69488964, 69489010, 69489056, 69489102, 69489148, 69489194, 69489240,
1003       69489286, 69489332, 69489378, 69489424, 69489470, 69489516, 69489562,
1004       69489608, 69489654, 69489700, 69489746, 69489792, 69489837, 69489882,
1005       69489927, 69489972, 69490017, 69490062, 69490107, 69490152, 69490197,
1006       69490242, 69490287, 69490332, 69490377, 69490422, 69490467, 69490512,
1007       69490557, 69490602, 69490647, 69490692, 69490737, 69490782, 69490827,
1008       69490872, 69490917, 69490962, 69491007, 69491052, 69491097, 69491142,
1009       69491187, 69491232, 69491277, 69491322, 69491367, 69491411, 69491455,
1010       69491499, 69491543, 69491587, 69491631, 69491675, 69491719, 69491763,
1011       69491807, 69491851, 69491895, 69491939, 69491983, 69492027, 69492071,
1012       69492115, 69492159, 69492203, 69492247, 69492291, 69492335, 69492379,
1013       69492423, 69492467, 69492511, 69492555, 69492599, 69492643, 69492686,
1014       69492729, 69492772, 69492815, 69492858, 69492901, 69492944, 69492987,
1015       69493030, 69493073, 69493116, 69493159, 69493202, 69493245, 69493288,
1016       69493331, 69493374, 69493417, 69493460, 69493503, 69493546, 69493589,
1017       69493632, 69493675, 69493718, 69493761, 69493804, 69493847, 69493890,
1018       69493933, 69493976, 69494019, 69494062, 69494105, 69494148, 69494191,
1019       69494234, 69494277, 69494320, 69494363, 69494406, 69494449, 69494492,
1020       69494535, 69494577, 69494619, 69494661, 69494703, 69494745, 69494787,
1021       69494829, 69494871, 69494913, 69494955, 69494997, 69495039, 69495081,
1022       69495123, 69495165, 69495207, 69495249, 69495291, 69495333, 69495375,
1023       69495417, 69495459, 69495501, 69495543, 69495585, 69495627, 69495669,
1024       69495711, 69495753, 69495795, 69495837, 69495879, 69495921, 69495963,
1025       69496005, 69496047, 69496089, 69496131, 69496172, 69496213, 69496254,
1026       69496295, 69496336, 69496377, 69496418, 69496459, 69496500, 69496541,
1027       69496582, 69496623, 69496664, 69496705, 69496746, 69496787, 69496828,
1028       69496869, 69496910, 69496951, 69496992, 69497033, 69497074, 69497115,
1029       69497156, 69497197, 69497238, 69497279, 69497320, 69497361, 69497402,
1030       69497443, 69497484, 69497525, 69497566, 69497607, 69497648, 69497689,
1031       69497693, 69497697, 69497701, 69497705, 69497709, 69497713, 69497717,
1032       69497721, 69497725, 69497729, 69497733, 69497737, 69497741, 69497745,
1033       69497749, 69497753, 69497757, 69497761, 69497765, 69497769, 69497773,
1034       69497777, 69497781, 69497785, 69497789, 69497793, 69497797, 69497801,
1035       69497805, 69497809, 69497813, 69497817, 69497821, 69497825, 69497829,
1036       69497868, 69497907, 69497946, 69497985, 69498024, 69498063, 69498102,
1037       69498141, 69498180, 69498219, 69498258, 69498297, 69498336, 69498375,
1038       69498414, 69498453, 69498492, 69498531, 69498570, 69498609, 69498648,
1039       69498687, 69498726, 69498765, 69498804, 69498843, 69498882, 69498921,
1040       69498960, 69498999, 69499038, 69499077, 69499116, 69499155, 69499193,
1041       69499231, 69499269, 69499307, 69499345, 69499383, 69499421, 69499459,
1042       69499497, 69499535, 69499573, 69499611, 69499649, 69499687, 69499725,
1043       69499763, 69499801, 69499839, 69499877, 69499915, 69499953, 69499991,
1044       69500029, 69500067, 69500105, 69500143, 69500181, 69500219, 69500257,
1045       69500295, 69500333, 69500371, 69500409, 69500447, 69500484, 69500521,
1046       69500558, 69500595, 69500632, 69500669, 69500706, 69500743, 69500780,
1047       69500817, 69500854, 69500891, 69500928, 69500965, 69501002, 69501039,
1048       69501076, 69501113, 69501150, 69501187, 69501224, 69501261, 69501298,
1049       69501335, 69501372, 69501409, 69501446, 69501483, 69501520, 69501557,
1050       69501594, 69501631, 69501667, 69501703, 69501739, 69501775, 69501811,
1051       69501847, 69501883, 69501919, 69501955, 69501991, 69502027, 69502063,
1052       69502099, 69502135, 69502171, 69502207, 69502243, 69502279, 69502315,
1053       69502351, 69502387, 69502423, 69502459, 69502495, 69502531, 69502567,
1054       69502603, 69502639, 69502675, 69502711, 69502747, 69502783, 69502819,
1055       69502855, 69502891, 69502927, 69502963, 69502999, 69503035, 69503071,
1056       69503107, 69503143, 69503179, 69503214, 69503249, 69503284, 69503319,
1057       69503354, 69503389, 69503424, 69503459, 69503494, 69503529, 69503564,
1058       69503599, 69503634, 69503669, 69503704, 69503739, 69503774, 69503809,
1059       69503844, 69503879, 69503914, 69503949, 69503984, 69504019, 69504054,
1060       69504089, 69504124, 69504159, 69504194, 69504229, 69504264, 69504299,
1061       69504334, 69504369, 69504404, 69504439, 69504474, 69504509, 69504544,
1062       69504579, 69504614, 69504649, 69504684, 69504719, 69504754, 69504789,
1063       69504824, 69504859, 69504894, 69504929, 69504964, 69504999, 69505034,
1064       69505068, 69505102, 69505136, 69505170, 69505204, 69505238, 69505272,
1065       69505306, 69505340, 69505374, 69505408, 69505442, 69505476, 69505510,
1066       69505544, 69505578, 69505612, 69505646, 69505680, 69505714, 69505748,
1067       69505782, 69505816, 69505850, 69505884, 69505918, 69505952, 69505986,
1068       69506020, 69506054, 69506088, 69506122, 69506156, 69506190, 69506224,
1069       69506258, 69506292, 69506326, 69506360, 69506394, 69506427, 69506460,
1070       69506493, 69506526, 69506559, 69506592, 69506625, 69506658, 69506691,
1071       69506724, 69506757, 69506790, 69506823, 69506856, 69506889, 69506922,
1072       69506955, 69506988, 69507021, 69507054, 69507087, 69507120, 69507153,
1073       69507186, 69507219, 69507252, 69507285, 69507318, 69507351, 69507384,
1074       69507417, 69507450, 69507483, 69507516, 69507549, 69507582, 69507615,
1075       69507648, 69507681, 69507714, 69507747, 69507780, 69507813, 69507846,
1076       69507879, 69507912, 69507945, 69507978, 69508011, 69508044, 69508077,
1077       69508110, 69508143, 69508176, 69508209, 69508242, 69508275, 69508308,
1078       69508341, 69508373, 69508405, 69508437, 69508469, 69508501, 69508533,
1079       69508565, 69508597, 69508629, 69508661, 69508693, 69508725, 69508757,
1080       69508789, 69508821, 69508853, 69508885, 69508917, 69508949, 69508981,
1081       69509013, 69509045, 69509077, 69509109, 69509141, 69509173, 69509205,
1082       69509237, 69509269, 69509301, 69509333, 69509365, 69509397, 69509429,
1083       69509461, 69509493, 69509525, 69509557, 69509589, 69509621, 69509653,
1084       69509685, 69509717, 69509748, 69509779, 69509810, 69509841, 69509872,
1085       69509903, 69509934, 69509965, 69509996, 69510027, 69510058, 69510089,
1086       69510120, 69510151, 69510182, 69510213, 69510244, 69510275, 69510306,
1087       69510337, 69510368, 69510399, 69510430, 69510461, 69510492, 69510523,
1088       69510554, 69510585, 69510616, 69510647, 69510678, 69510709, 69510740,
1089       69510771, 69510802, 69510833, 69510864, 69510895, 69510926, 69510957,
1090       69510988, 69511019, 69511050, 69511053, 69511056, 69511059, 69511062,
1091       69511065, 69511068, 69511071, 69511074, 69511077, 69511080, 69511083,
1092       69511086, 69511089, 69511092, 69511095, 69511098, 69511101, 69511104,
1093       69511107, 69511110, 69511113, 69511116, 69511119, 69511122, 69511125,
1094       69511128, 69511131, 69511134, 69511137, 69511140, 69511143, 69511146,
1095       69511149, 69511152, 69511155, 69511158, 69511161, 69511164, 69511167,
1096       69511170, 69511173, 69511176, 69511179, 69511182, 69511185, 69511188,
1097       69511191, 69511194, 69511197, 69511200, 69511203, 69511206, 69511209,
1098       69511212, 69511241, 69511270, 69511299, 69511328, 69511357, 69511386,
1099       69511415, 69511444, 69511473, 69511502, 69511531, 69511560, 69511589,
1100       69511618, 69511647, 69511676, 69511705, 69511734, 69511763, 69511792,
1101       69511821, 69511850, 69511879, 69511908, 69511937, 69511966, 69511995,
1102       69512024, 69512053, 69512082, 69512111, 69512140, 69512169, 69512198,
1103       69512227, 69512256, 69512285, 69512314, 69512343, 69512372, 69512401,
1104       69512430, 69512459, 69512488, 69512517, 69512545, 69512573, 69512601,
1105       69512629, 69512657, 69512685, 69512713, 69512741, 69512769, 69512797,
1106       69512825, 69512853, 69512881, 69512909, 69512937, 69512965, 69512993,
1107       69513021, 69513049, 69513077, 69513105, 69513133, 69513161, 69513189,
1108       69513217, 69513245, 69513273, 69513301, 69513329, 69513357, 69513385,
1109       69513413, 69513441, 69513469, 69513497, 69513525, 69513553, 69513581,
1110       69513609, 69513637, 69513665, 69513693, 69513721, 69513749, 69513777,
1111       69513805, 69513833, 69513861, 69513889, 69513916, 69513943, 69513970,
1112       69513997, 69514024, 69514051, 69514078, 69514105, 69514132, 69514159,
1113       69514186, 69514213, 69514240, 69514267, 69514294, 69514321, 69514348,
1114       69514375, 69514402, 69514429, 69514456, 69514483, 69514510, 69514537,
1115       69514564, 69514591, 69514618, 69514645, 69514672, 69514699, 69514726,
1116       69514753, 69514780, 69514807, 69514834, 69514861, 69514888, 69514915,
1117       69514942, 69514969, 69514996, 69515023, 69515050, 69515077, 69515104,
1118       69515131, 69515158, 69515185, 69515212, 69515239, 69515266, 69515293,
1119       69515320, 69515347, 69515374, 69515401, 69515428, 69515455, 69515482,
1120       69515509, 69515536, 69515563, 69515590, 69515617, 69515644, 69515670,
1121       69515696, 69515722, 69515748, 69515774, 69515800, 69515826, 69515852,
1122       69515878, 69515904, 69515930, 69515956, 69515982, 69516008, 69516034,
1123       69516060, 69516086, 69516112, 69516138, 69516164, 69516190, 69516216,
1124       69516242, 69516268, 69516294, 69516320, 69516346, 69516372, 69516398,
1125       69516424, 69516450, 69516476, 69516502, 69516528, 69516554, 69516580,
1126       69516606, 69516632, 69516658, 69516684, 69516710, 69516736, 69516762,
1127       69516788, 69516814, 69516840, 69516866, 69516892, 69516918, 69516944,
1128       69516970, 69516996, 69517022, 69517048, 69517074, 69517100, 69517126,
1129       69517152, 69517178, 69517204, 69517230, 69517256, 69517282, 69517308,
1130       69517334, 69517359, 69517384, 69517409, 69517434, 69517459, 69517484,
1131       69517509, 69517534, 69517559, 69517584, 69517609, 69517634, 69517659,
1132       69517684, 69517709, 69517734, 69517759, 69517784, 69517809, 69517834,
1133       69517859, 69517884, 69517909, 69517934, 69517959, 69517984, 69518009,
1134       69518034, 69518059, 69518084, 69518109, 69518134, 69518159, 69518184,
1135       69518209, 69518234, 69518259, 69518284, 69518309, 69518334, 69518359,
1136       69518384, 69518409, 69518434, 69518459, 69518484, 69518509, 69518534,
1137       69518559, 69518584, 69518609, 69518634, 69518659, 69518684, 69518709,
1138       69518734, 69518759, 69518784, 69518809, 69518834, 69518859, 69518884,
1139       69518909, 69518934, 69518958, 69518982, 69519006, 69519030, 69519054,
1140       69519078, 69519102, 69519126, 69519150, 69519174, 69519198, 69519222,
1141       69519246, 69519270, 69519294, 69519318, 69519342, 69519366, 69519390,
1142       69519414, 69519438, 69519462, 69519486, 69519510, 69519534, 69519558,
1143       69519582, 69519606, 69519630, 69519654, 69519678, 69519702, 69519726,
1144       69519750, 69519774, 69519798, 69519822, 69519846, 69519870, 69519894,
1145       69519918, 69519942, 69519966, 69519990, 69520014, 69520038, 69520062,
1146       69520086, 69520110, 69520134, 69520158, 69520182, 69520206, 69520230,
1147       69520254, 69520278, 69520302, 69520326, 69520350, 69520374, 69520398,
1148       69520422, 69520446, 69520470, 69520494, 69520518, 69520542, 69520566,
1149       69520590, 69520614, 69520638, 69520662, 69520686, 69520710, 69520734,
1150       69520758, 69520781, 69520804, 69520827, 69520850, 69520873, 69520896,
1151       69520919, 69520942, 69520965, 69520988, 69521011, 69521034, 69521057,
1152       69521080, 69521103, 69521126, 69521149, 69521172, 69521195, 69521218,
1153       69521241, 69521264, 69521287, 69521310, 69521333, 69521356, 69521379,
1154       69521402, 69521425, 69521448, 69521471, 69521494, 69521517, 69521540,
1155       69521563, 69521586, 69521609, 69521632, 69521655, 69521678, 69521701,
1156       69521724, 69521747, 69521770, 69521793, 69521816, 69521839, 69521862,
1157       69521885, 69521908, 69521931, 69521954, 69521977, 69522000, 69522023,
1158       69522046, 69522069, 69522092, 69522115, 69522138, 69522160, 69522182,
1159       69522204, 69522226, 69522248, 69522270, 69522292, 69522314, 69522336,
1160       69522358, 69522380, 69522402, 69522424, 69522446, 69522468, 69522490,
1161       69522512, 69522534, 69522556, 69522578, 69522600, 69522622, 69522644,
1162       69522666, 69522688, 69522710, 69522732, 69522754, 69522776, 69522798,
1163       69522820, 69522842, 69522864, 69522886, 69522908, 69522930, 69522952,
1164       69522974, 69522996, 69523018, 69523040, 69523062, 69523084, 69523106,
1165       69523128, 69523150, 69523172, 69523194, 69523216, 69523238, 69523260,
1166       69523282, 69523304, 69523326, 69523348, 69523370, 69523392, 69523414,
1167       69523436, 69523458, 69523480, 69523502, 69523524, 69523546, 69523568,
1168       69523590, 69523612, 69523634, 69523656, 69523678, 69523700, 69523722,
1169       69523744, 69523765, 69523786, 69523807, 69523828, 69523849, 69523870,
1170       69523891, 69523912, 69523933, 69523954, 69523975, 69523996, 69524017,
1171       69524038, 69524059, 69524080, 69524101, 69524122, 69524143, 69524164,
1172       69524185, 69524206, 69524227, 69524248, 69524269, 69524290, 69524311,
1173       69524332, 69524353, 69524374, 69524395, 69524416, 69524437, 69524458,
1174       69524479, 69524500, 69524521, 69524542, 69524563, 69524584, 69524605,
1175       69524626, 69524647, 69524668, 69524689, 69524710, 69524731, 69524752,
1176       69524773, 69524794, 69524815, 69524836, 69524857, 69524878, 69524899,
1177       69524920, 69524941, 69524962, 69524983, 69525004, 69525025, 69525046,
1178       69525067, 69525088, 69525109, 69525130, 69525151, 69525172, 69525193,
1179       69525214, 69525235, 69525256, 69525277, 69525298, 69525319, 69525340,
1180       69525361, 69525382, 69525403, 69525424, 69525445, 69525466, 69525487,
1181       69525508, 69525529, 69525550, 69525571, 69525592, 69525594, 69525596,
1182       69525598, 69525600, 69525602, 69525604, 69525606, 69525608, 69525610,
1183       69525612, 69525614, 69525616, 69525618, 69525620, 69525622, 69525624,
1184       69525626, 69525628, 69525630, 69525632, 69525634, 69525636, 69525638,
1185       69525640, 69525642, 69525644, 69525646, 69525648, 69525650, 69525652,
1186       69525654, 69525656, 69525658, 69525660, 69525662, 69525664, 69525666,
1187       69525668, 69525670, 69525672, 69525674, 69525676, 69525678, 69525680,
1188       69525682, 69525684, 69525686, 69525688, 69525690, 69525692, 69525694,
1189       69525696, 69525698, 69525700, 69525702, 69525704, 69525706, 69525708,
1190       69525710, 69525712, 69525714, 69525716, 69525718, 69525720, 69525722,
1191       69525724, 69525726, 69525728, 69525730, 69525732, 69525734, 69525736,
1192       69525738, 69525740, 69525742, 69525744, 69525746, 69525748, 69525750,
1193       69525752, 69525754, 69525756, 69525758, 69525760, 69525762, 69525764,
1194       69525766, 69525768, 69525770, 69525772, 69525774, 69525776, 69525778,
1195       69525780, 69525782, 69525784, 69525786, 69525788, 69525790, 69525792,
1196       69525794, 69525796, 69525815, 69525834, 69525853, 69525872, 69525891,
1197       69525910, 69525929, 69525948, 69525967, 69525986, 69526005, 69526024,
1198       69526043, 69526062, 69526081, 69526100, 69526119, 69526138, 69526157,
1199       69526176, 69526195, 69526214, 69526233, 69526252, 69526271, 69526290,
1200       69526309, 69526328, 69526347, 69526366, 69526385, 69526404, 69526423,
1201       69526442, 69526461, 69526480, 69526499, 69526518, 69526537, 69526556,
1202       69526575, 69526594, 69526613, 69526632, 69526651, 69526670, 69526689,
1203       69526708, 69526727, 69526746, 69526765, 69526784, 69526803, 69526822,
1204       69526841, 69526860, 69526879, 69526898, 69526917, 69526936, 69526955,
1205       69526974, 69526993, 69527012, 69527031, 69527050, 69527069, 69527088,
1206       69527107, 69527126, 69527145, 69527164, 69527183, 69527202, 69527221,
1207       69527240, 69527259, 69527278, 69527297, 69527316, 69527335, 69527354,
1208       69527373, 69527392, 69527411, 69527429, 69527447, 69527465, 69527483,
1209       69527501, 69527519, 69527537, 69527555, 69527573, 69527591, 69527609,
1210       69527627, 69527645, 69527663, 69527681, 69527699, 69527717, 69527735,
1211       69527753, 69527771, 69527789, 69527807, 69527825, 69527843, 69527861,
1212       69527879, 69527897, 69527915, 69527933, 69527951, 69527969, 69527987,
1213       69528005, 69528023, 69528041, 69528059, 69528077, 69528095, 69528113,
1214       69528131, 69528149, 69528167, 69528185, 69528203, 69528221, 69528239,
1215       69528257, 69528275, 69528293, 69528311, 69528329, 69528347, 69528365,
1216       69528383, 69528401, 69528419, 69528437, 69528455, 69528473, 69528491,
1217       69528509, 69528527, 69528545, 69528563, 69528581, 69528599, 69528617,
1218       69528635, 69528653, 69528671, 69528689, 69528707, 69528725, 69528743,
1219       69528761, 69528779, 69528797, 69528814, 69528831, 69528848, 69528865,
1220       69528882, 69528899, 69528916, 69528933, 69528950, 69528967, 69528984,
1221       69529001, 69529018, 69529035, 69529052, 69529069, 69529086, 69529103,
1222       69529120, 69529137, 69529154, 69529171, 69529188, 69529205, 69529222,
1223       69529239, 69529256, 69529273, 69529290, 69529307, 69529324, 69529341,
1224       69529358, 69529375, 69529392, 69529409, 69529426, 69529443, 69529460,
1225       69529477, 69529494, 69529511, 69529528, 69529545, 69529562, 69529579,
1226       69529596, 69529613, 69529630, 69529647, 69529664, 69529681, 69529698,
1227       69529715, 69529732, 69529749, 69529766, 69529783, 69529800, 69529817,
1228       69529834, 69529851, 69529868, 69529885, 69529902, 69529919, 69529936,
1229       69529953, 69529970, 69529987, 69530004, 69530021, 69530038, 69530055,
1230       69530072, 69530089, 69530106, 69530123, 69530140, 69530157, 69530174,
1231       69530191, 69530208, 69530225, 69530242, 69530259, 69530276, 69530293,
1232       69530310, 69530327, 69530344, 69530361, 69530378, 69530395, 69530412,
1233       69530429, 69530446, 69530463, 69530480, 69530497, 69530514, 69530531,
1234       69530548, 69530565, 69530582, 69530599, 69530616, 69530633, 69530650,
1235       69530666, 69530682, 69530698, 69530714, 69530730, 69530746, 69530762,
1236       69530778, 69530794, 69530810, 69530826, 69530842, 69530858, 69530874,
1237       69530890, 69530906, 69530922, 69530938, 69530954, 69530970, 69530986,
1238       69531002, 69531018, 69531034, 69531050, 69531066, 69531082, 69531098,
1239       69531114, 69531130, 69531146, 69531162, 69531178, 69531194, 69531210,
1240       69531226, 69531242, 69531258, 69531274, 69531290, 69531306, 69531322,
1241       69531338, 69531354, 69531370, 69531386, 69531402, 69531418, 69531434,
1242       69531450, 69531466, 69531482, 69531498, 69531514, 69531530, 69531546,
1243       69531562, 69531578, 69531594, 69531610, 69531626, 69531642, 69531658,
1244       69531674, 69531690, 69531706, 69531722, 69531738, 69531754, 69531770,
1245       69531786, 69531802, 69531818, 69531834, 69531850, 69531866, 69531882,
1246       69531898, 69531914, 69531930, 69531946, 69531962, 69531978, 69531994,
1247       69532010, 69532026, 69532042, 69532058, 69532074, 69532090, 69532106,
1248       69532122, 69532138, 69532154, 69532170, 69532186, 69532202, 69532218,
1249       69532234, 69532250, 69532266, 69532282, 69532298, 69532314, 69532330,
1250       69532346, 69532362, 69532378, 69532394, 69532410, 69532426, 69532442,
1251       69532458, 69532474, 69532490, 69532506, 69532522, 69532538, 69532554,
1252       69532569, 69532584, 69532599, 69532614, 69532629, 69532644, 69532659,
1253       69532674, 69532689, 69532704, 69532719, 69532734, 69532749, 69532764,
1254       69532779, 69532794, 69532809, 69532824, 69532839, 69532854, 69532869,
1255       69532884, 69532899, 69532914, 69532929, 69532944, 69532959, 69532974,
1256       69532989, 69533004, 69533019, 69533034, 69533049, 69533064, 69533079,
1257       69533094, 69533109, 69533124, 69533139, 69533154, 69533169, 69533184,
1258       69533199, 69533214, 69533229, 69533244, 69533259, 69533274, 69533289,
1259       69533304, 69533319, 69533334, 69533349, 69533364, 69533379, 69533394,
1260       69533409, 69533424, 69533439, 69533454, 69533469, 69533484, 69533499,
1261       69533514, 69533529, 69533544, 69533559, 69533574, 69533589, 69533604,
1262       69533619, 69533634, 69533649, 69533664, 69533679, 69533694, 69533709,
1263       69533724, 69533739, 69533754, 69533769, 69533784, 69533799, 69533814,
1264       69533829, 69533844, 69533859, 69533874, 69533889, 69533904, 69533919,
1265       69533934, 69533949, 69533964, 69533979, 69533994, 69534009, 69534024,
1266       69534039, 69534054, 69534069, 69534084, 69534099, 69534114, 69534129,
1267       69534144, 69534159, 69534174, 69534189, 69534204, 69534219, 69534233,
1268       69534247, 69534261, 69534275, 69534289, 69534303, 69534317, 69534331,
1269       69534345, 69534359, 69534373, 69534387, 69534401, 69534415, 69534429,
1270       69534443, 69534457, 69534471, 69534485, 69534499, 69534513, 69534527,
1271       69534541, 69534555, 69534569, 69534583, 69534597, 69534611, 69534625,
1272       69534639, 69534653, 69534667, 69534681, 69534695, 69534709, 69534723,
1273       69534737, 69534751, 69534765, 69534779, 69534793, 69534807, 69534821,
1274       69534835, 69534849, 69534863, 69534877, 69534891, 69534905, 69534919,
1275       69534933, 69534947, 69534961, 69534975, 69534989, 69535003, 69535017,
1276       69535031, 69535045, 69535059, 69535073, 69535087, 69535101, 69535115,
1277       69535129, 69535143, 69535157, 69535171, 69535185, 69535199, 69535213,
1278       69535227, 69535241, 69535255, 69535269, 69535283, 69535297, 69535311,
1279       69535325, 69535339, 69535353, 69535367, 69535381, 69535395, 69535409,
1280       69535423, 69535437, 69535451, 69535465, 69535479, 69535493, 69535507,
1281       69535521, 69535535, 69535549, 69535563, 69535577, 69535591, 69535605,
1282       69535619, 69535633, 69535647, 69535661, 69535675, 69535689, 69535703,
1283       69535717, 69535731, 69535744, 69535757, 69535770, 69535783, 69535796,
1284       69535809, 69535822, 69535835, 69535848, 69535861, 69535874, 69535887,
1285       69535900, 69535913, 69535926, 69535939, 69535952, 69535965, 69535978,
1286       69535991, 69536004, 69536017, 69536030, 69536043, 69536056, 69536069,
1287       69536082, 69536095, 69536108, 69536121, 69536134, 69536147, 69536160,
1288       69536173, 69536186, 69536199, 69536212, 69536225, 69536238, 69536251,
1289       69536264, 69536277, 69536290, 69536303, 69536316, 69536329, 69536342,
1290       69536355, 69536368, 69536381, 69536394, 69536407, 69536420, 69536433,
1291       69536446, 69536459, 69536472, 69536485, 69536498, 69536511, 69536524,
1292       69536537, 69536550, 69536563, 69536576, 69536589, 69536602, 69536615,
1293       69536628, 69536641, 69536654, 69536667, 69536680, 69536693, 69536706,
1294       69536719, 69536732, 69536745, 69536758, 69536771, 69536784, 69536797,
1295       69536810, 69536823, 69536836, 69536849, 69536862, 69536875, 69536888,
1296       69536901, 69536914, 69536927, 69536940, 69536953, 69536966, 69536979,
1297       69536992, 69537005, 69537018, 69537031, 69537044, 69537057, 69537070,
1298       69537083, 69537096, 69537109, 69537122, 69537135, 69537148, 69537161,
1299       69537174, 69537187, 69537200, 69537213, 69537226, 69537239, 69537252,
1300       69537265, 69537278, 69537291, 69537304, 69537317, 69537330, 69537343,
1301       69537356, 69537369, 69537381, 69537393, 69537405, 69537417, 69537429,
1302       69537441, 69537453, 69537465, 69537477, 69537489, 69537501, 69537513,
1303       69537525, 69537537, 69537549, 69537561, 69537573, 69537585, 69537597,
1304       69537609, 69537621, 69537633, 69537645, 69537657, 69537669, 69537681,
1305       69537693, 69537705, 69537717, 69537729, 69537741, 69537753, 69537765,
1306       69537777, 69537789, 69537801, 69537813, 69537825, 69537837, 69537849,
1307       69537861, 69537873, 69537885, 69537897, 69537909, 69537921, 69537933,
1308       69537945, 69537957, 69537969, 69537981, 69537993, 69538005, 69538017,
1309       69538029, 69538041, 69538053, 69538065, 69538077, 69538089, 69538101,
1310       69538113, 69538125, 69538137, 69538149, 69538161, 69538173, 69538185,
1311       69538197, 69538209, 69538221, 69538233, 69538245, 69538257, 69538269,
1312       69538281, 69538293, 69538305, 69538317, 69538329, 69538341, 69538353,
1313       69538365, 69538377, 69538389, 69538401, 69538413, 69538425, 69538437,
1314       69538449, 69538461, 69538473, 69538485, 69538497, 69538509, 69538521,
1315       69538533, 69538545, 69538557, 69538569, 69538581, 69538593, 69538605,
1316       69538617, 69538629, 69538641, 69538653, 69538665, 69538677, 69538689,
1317       69538701, 69538713, 69538725, 69538737, 69538749, 69538761, 69538773,
1318       69538785, 69538797, 69538809, 69538821, 69538833, 69538845, 69538857,
1319       69538869, 69538881, 69538893, 69538904, 69538915, 69538926, 69538937,
1320       69538948, 69538959, 69538970, 69538981, 69538992, 69539003, 69539014,
1321       69539025, 69539036, 69539047, 69539058, 69539069, 69539080, 69539091,
1322       69539102, 69539113, 69539124, 69539135, 69539146, 69539157, 69539168,
1323       69539179, 69539190, 69539201, 69539212, 69539223, 69539234, 69539245,
1324       69539256, 69539267, 69539278, 69539289, 69539300, 69539311, 69539322,
1325       69539333, 69539344, 69539355, 69539366, 69539377, 69539388, 69539399,
1326       69539410, 69539421, 69539432, 69539443, 69539454, 69539465, 69539476,
1327       69539487, 69539498, 69539509, 69539520, 69539531, 69539542, 69539553,
1328       69539564, 69539575, 69539586, 69539597, 69539608, 69539619, 69539630,
1329       69539641, 69539652, 69539663, 69539674, 69539685, 69539696, 69539707,
1330       69539718, 69539729, 69539740, 69539751, 69539762, 69539773, 69539784,
1331       69539795, 69539806, 69539817, 69539828, 69539839, 69539850, 69539861,
1332       69539872, 69539883, 69539894, 69539905, 69539916, 69539927, 69539938,
1333       69539949, 69539960, 69539971, 69539982, 69539993, 69540004, 69540015,
1334       69540026, 69540037, 69540048, 69540059, 69540070, 69540081, 69540092,
1335       69540103, 69540114, 69540125, 69540136, 69540147, 69540158, 69540169,
1336       69540180, 69540191, 69540202, 69540213, 69540224, 69540235, 69540246,
1337       69540257, 69540268, 69540279, 69540290, 69540301, 69540312, 69540323,
1338       69540334, 69540345, 69540356, 69540367, 69540378, 69540389, 69540400,
1339       69540411, 69540422, 69540433, 69540444, 69540455, 69540466, 69540477,
1340       69540488, 69540499, 69540510, 69540521, 69540532, 69540543, 69540554,
1341       69540565, 69540576, 69540587, 69540598, 69540609, 69540620, 69540631,
1342       69540642, 69540653, 69540664, 69540675, 69540686, 69540697, 69540698,
1343       69540699, 69540700, 69540701, 69540702, 69540703, 69540704, 69540705,
1344       69540706, 69540707, 69540708, 69540709, 69540710, 69540711, 69540712,
1345       69540713, 69540714, 69540715, 69540716, 69540717, 69540718, 69540719,
1346       69540720, 69540721, 69540722, 69540723, 69540724, 69540725, 69540726,
1347       69540727, 69540728, 69540729, 69540730, 69540731, 69540732, 69540733,
1348       69540734, 69540735, 69540736, 69540737, 69540738, 69540739, 69540740,
1349       69540741, 69540742, 69540743, 69540744, 69540745, 69540746, 69540747,
1350       69540748, 69540749, 69540750, 69540751, 69540752, 69540753, 69540754,
1351       69540755, 69540756, 69540757, 69540758, 69540759, 69540760, 69540761,
1352       69540762, 69540763, 69540764, 69540765, 69540766, 69540767, 69540768,
1353       69540769, 69540770, 69540771, 69540772, 69540773, 69540774, 69540775,
1354       69540776, 69540777, 69540778, 69540779, 69540780, 69540781, 69540782,
1355       69540783, 69540784, 69540785, 69540786, 69540787, 69540788, 69540789,
1356       69540790, 69540791, 69540792, 69540793, 69540794, 69540795, 69540796,
1357       69540797, 69540798, 69540799, 69540800, 69540801, 69540802, 69540803,
1358       69540804, 69540805, 69540806, 69540807, 69540808, 69540809, 69540810,
1359       69540811, 69540812, 69540813, 69540814, 69540815, 69540816, 69540817,
1360       69540818, 69540819, 69540820, 69540821, 69540822, 69540823, 69540824,
1361       69540825, 69540826, 69540827, 69540828, 69540829, 69540830, 69540831,
1362       69540832, 69540833, 69540834, 69540835, 69540836, 69540837, 69540838,
1363       69540839, 69540840, 69540841, 69540842, 69540843, 69540844, 69540845,
1364       69540846, 69540847, 69540848, 69540849, 69540850, 69540851, 69540852,
1365       69540853, 69540854, 69540855, 69540856, 69540857, 69540858, 69540859,
1366       69540860, 69540861, 69540862, 69540863, 69540864, 69540865, 69540866,
1367       69540867, 69540868, 69540869, 69540870, 69540871, 69540872, 69540873,
1368       69540874, 69540875, 69540876, 69540877, 69540878, 69540879, 69540880,
1369       69540881, 69540882, 69540891, 69540900, 69540909, 69540918, 69540927,
1370       69540936, 69540945, 69540954, 69540963, 69540972, 69540981, 69540990,
1371       69540999, 69541008, 69541017, 69541026, 69541035, 69541044, 69541053,
1372       69541062, 69541071, 69541080, 69541089, 69541098, 69541107, 69541116,
1373       69541125, 69541134, 69541143, 69541152, 69541161, 69541170, 69541179,
1374       69541188, 69541197, 69541206, 69541215, 69541224, 69541233, 69541242,
1375       69541251, 69541260, 69541269, 69541278, 69541287, 69541296, 69541305,
1376       69541314, 69541323, 69541332, 69541341, 69541350, 69541359, 69541368,
1377       69541377, 69541386, 69541395, 69541404, 69541413, 69541422, 69541431,
1378       69541440, 69541449, 69541458, 69541467, 69541476, 69541485, 69541494,
1379       69541503, 69541512, 69541521, 69541530, 69541539, 69541548, 69541557,
1380       69541566, 69541575, 69541584, 69541593, 69541602, 69541611, 69541620,
1381       69541629, 69541638, 69541647, 69541656, 69541665, 69541674, 69541683,
1382       69541692, 69541701, 69541710, 69541719, 69541728, 69541737, 69541746,
1383       69541755, 69541764, 69541773, 69541782, 69541791, 69541800, 69541809,
1384       69541818, 69541827, 69541836, 69541845, 69541854, 69541863, 69541872,
1385       69541881, 69541890, 69541899, 69541908, 69541917, 69541926, 69541935,
1386       69541944, 69541953, 69541962, 69541971, 69541980, 69541989, 69541998,
1387       69542007, 69542016, 69542025, 69542034, 69542043, 69542052, 69542061,
1388       69542070, 69542079, 69542088, 69542097, 69542106, 69542115, 69542124,
1389       69542133, 69542142, 69542151, 69542160, 69542169, 69542178, 69542187,
1390       69542196, 69542205, 69542214, 69542223, 69542232, 69542241, 69542250,
1391       69542259, 69542268, 69542277, 69542286, 69542295, 69542304, 69542313,
1392       69542322, 69542331, 69542340, 69542349, 69542358, 69542367, 69542376,
1393       69542385, 69542394, 69542403, 69542412, 69542421, 69542430, 69542439,
1394       69542448, 69542457, 69542466, 69542475, 69542484, 69542493, 69542502,
1395       69542511, 69542520, 69542529, 69542538, 69542547, 69542556, 69542565,
1396       69542574, 69542583, 69542592, 69542601, 69542610, 69542619, 69542628,
1397       69542637, 69542646, 69542655, 69542664, 69542673, 69542682, 69542691,
1398       69542700, 69542709, 69542718, 69542727, 69542736, 69542745, 69542753,
1399       69542761, 69542769, 69542777, 69542785, 69542793, 69542801, 69542809,
1400       69542817, 69542825, 69542833, 69542841, 69542849, 69542857, 69542865,
1401       69542873, 69542881, 69542889, 69542897, 69542905, 69542913, 69542921,
1402       69542929, 69542937, 69542945, 69542953, 69542961, 69542969, 69542977,
1403       69542985, 69542993, 69543001, 69543009, 69543017, 69543025, 69543033,
1404       69543041, 69543049, 69543057, 69543065, 69543073, 69543081, 69543089,
1405       69543097, 69543105, 69543113, 69543121, 69543129, 69543137, 69543145,
1406       69543153, 69543161, 69543169, 69543177, 69543185, 69543193, 69543201,
1407       69543209, 69543217, 69543225, 69543233, 69543241, 69543249, 69543257,
1408       69543265, 69543273, 69543281, 69543289, 69543297, 69543305, 69543313,
1409       69543321, 69543329, 69543337, 69543345, 69543353, 69543361, 69543369,
1410       69543377, 69543385, 69543393, 69543401, 69543409, 69543417, 69543425,
1411       69543433, 69543441, 69543449, 69543457, 69543465, 69543473, 69543481,
1412       69543489, 69543497, 69543505, 69543513, 69543521, 69543529, 69543537,
1413       69543545, 69543553, 69543561, 69543569, 69543577, 69543585, 69543593,
1414       69543601, 69543609, 69543617, 69543625, 69543633, 69543641, 69543649,
1415       69543657, 69543665, 69543673, 69543681, 69543689, 69543697, 69543705,
1416       69543713, 69543721, 69543729, 69543737, 69543745, 69543753, 69543761,
1417       69543769, 69543777, 69543785, 69543793, 69543801, 69543809, 69543817,
1418       69543825, 69543833, 69543841, 69543849, 69543857, 69543865, 69543873,
1419       69543881, 69543889, 69543897, 69543905, 69543913, 69543921, 69543929,
1420       69543937, 69543945, 69543953, 69543961, 69543969, 69543977, 69543985,
1421       69543993, 69544001, 69544009, 69544017, 69544025, 69544033, 69544041,
1422       69544049, 69544057, 69544065, 69544073, 69544081, 69544089, 69544097,
1423       69544105, 69544113, 69544121, 69544129, 69544137, 69544145, 69544153,
1424       69544161, 69544169, 69544177, 69544185, 69544193, 69544201, 69544209,
1425       69544217, 69544225, 69544233, 69544241, 69544249, 69544257, 69544265,
1426       69544273, 69544281, 69544289, 69544297, 69544305, 69544313, 69544321,
1427       69544329, 69544337, 69544345, 69544353, 69544361, 69544369, 69544377,
1428       69544385, 69544393, 69544401, 69544409, 69544417, 69544425, 69544433,
1429       69544441, 69544449, 69544457, 69544465, 69544473, 69544481, 69544489,
1430       69544497, 69544505, 69544513, 69544521, 69544529, 69544537, 69544545,
1431       69544553, 69544561, 69544569, 69544577, 69544585, 69544593, 69544601,
1432       69544609, 69544617, 69544625, 69544633, 69544641, 69544649, 69544657,
1433       69544665, 69544673, 69544681, 69544689, 69544697, 69544705, 69544713,
1434       69544721, 69544729, 69544737, 69544745, 69544753, 69544761, 69544769,
1435       69544777, 69544785, 69544793, 69544800, 69544807, 69544814, 69544821,
1436       69544828, 69544835, 69544842, 69544849, 69544856, 69544863, 69544870,
1437       69544877, 69544884, 69544891, 69544898, 69544905, 69544912, 69544919,
1438       69544926, 69544933, 69544940, 69544947, 69544954, 69544961, 69544968,
1439       69544975, 69544982, 69544989, 69544996, 69545003, 69545010, 69545017,
1440       69545024, 69545031, 69545038, 69545045, 69545052, 69545059, 69545066,
1441       69545073, 69545080, 69545087, 69545094, 69545101, 69545108, 69545115,
1442       69545122, 69545129, 69545136, 69545143, 69545150, 69545157, 69545164,
1443       69545171, 69545178, 69545185, 69545192, 69545199, 69545206, 69545213,
1444       69545220, 69545227, 69545234, 69545241, 69545248, 69545255, 69545262,
1445       69545269, 69545276, 69545283, 69545290, 69545297, 69545304, 69545311,
1446       69545318, 69545325, 69545332, 69545339, 69545346, 69545353, 69545360,
1447       69545367, 69545374, 69545381, 69545388, 69545395, 69545402, 69545409,
1448       69545416, 69545423, 69545430, 69545437, 69545444, 69545451, 69545458,
1449       69545465, 69545472, 69545479, 69545486, 69545493, 69545500, 69545507,
1450       69545514, 69545521, 69545528, 69545535, 69545542, 69545549, 69545556,
1451       69545563, 69545570, 69545577, 69545584, 69545591, 69545598, 69545605,
1452       69545612, 69545619, 69545626, 69545633, 69545640, 69545647, 69545654,
1453       69545661, 69545668, 69545675, 69545682, 69545689, 69545696, 69545703,
1454       69545710, 69545717, 69545724, 69545731, 69545738, 69545745, 69545752,
1455       69545759, 69545766, 69545773, 69545780, 69545787, 69545794, 69545801,
1456       69545808, 69545815, 69545822, 69545829, 69545836, 69545843, 69545850,
1457       69545857, 69545864, 69545871, 69545878, 69545885, 69545892, 69545899,
1458       69545906, 69545913, 69545920, 69545927, 69545934, 69545941, 69545948,
1459       69545955, 69545962, 69545969, 69545976, 69545983, 69545990, 69545997,
1460       69546004, 69546011, 69546018, 69546025, 69546032, 69546039, 69546046,
1461       69546053, 69546060, 69546067, 69546074, 69546081, 69546088, 69546095,
1462       69546102, 69546109, 69546116, 69546123, 69546130, 69546137, 69546144,
1463       69546151, 69546158, 69546165, 69546172, 69546179, 69546186, 69546193,
1464       69546200, 69546207, 69546214, 69546221, 69546228, 69546235, 69546242,
1465       69546249, 69546256, 69546263, 69546270, 69546277, 69546284, 69546291,
1466       69546298, 69546305, 69546312, 69546319, 69546326, 69546333, 69546340,
1467       69546347, 69546354, 69546361, 69546368, 69546375, 69546382, 69546389,
1468       69546396, 69546403, 69546410, 69546417, 69546424, 69546431, 69546438,
1469       69546445, 69546452, 69546459, 69546466, 69546473, 69546480, 69546487,
1470       69546494, 69546501, 69546508, 69546515, 69546522, 69546529, 69546536,
1471       69546543, 69546550, 69546557, 69546564, 69546571, 69546578, 69546585,
1472       69546592, 69546599, 69546605, 69546611, 69546617, 69546623, 69546629,
1473       69546635, 69546641, 69546647, 69546653, 69546659, 69546665, 69546671,
1474       69546677, 69546683, 69546689, 69546695, 69546701, 69546707, 69546713,
1475       69546719, 69546725, 69546731, 69546737, 69546743, 69546749, 69546755,
1476       69546761, 69546767, 69546773, 69546779, 69546785, 69546791, 69546797,
1477       69546803, 69546809, 69546815, 69546821, 69546827, 69546833, 69546839,
1478       69546845, 69546851, 69546857, 69546863, 69546869, 69546875, 69546881,
1479       69546887, 69546893, 69546899, 69546905, 69546911, 69546917, 69546923,
1480       69546929, 69546935, 69546941, 69546947, 69546953, 69546959, 69546965,
1481       69546971, 69546977, 69546983, 69546989, 69546995, 69547001, 69547007,
1482       69547013, 69547019, 69547025, 69547031, 69547037, 69547043, 69547049,
1483       69547055, 69547061, 69547067, 69547073, 69547079, 69547085, 69547091,
1484       69547097, 69547103, 69547109, 69547115, 69547121, 69547127, 69547133,
1485       69547139, 69547145, 69547151, 69547157, 69547163, 69547169, 69547175,
1486       69547181, 69547187, 69547193, 69547199, 69547205, 69547211, 69547217,
1487       69547223, 69547229, 69547235, 69547241, 69547247, 69547253, 69547259,
1488       69547265, 69547271, 69547277, 69547283, 69547289, 69547295, 69547301,
1489       69547307, 69547313, 69547319, 69547325, 69547331, 69547337, 69547343,
1490       69547349, 69547355, 69547361, 69547367, 69547373, 69547379, 69547385,
1491       69547391, 69547397, 69547403, 69547409, 69547415, 69547421, 69547427,
1492       69547433, 69547439, 69547445, 69547451, 69547457, 69547463, 69547469,
1493       69547475, 69547481, 69547487, 69547493, 69547499, 69547505, 69547511,
1494       69547517, 69547523, 69547529, 69547535, 69547541, 69547547, 69547553,
1495       69547559, 69547565, 69547571, 69547577, 69547583, 69547589, 69547595,
1496       69547601, 69547607, 69547613, 69547619, 69547625, 69547631, 69547637,
1497       69547643, 69547649, 69547655, 69547661, 69547667, 69547673, 69547679,
1498       69547685, 69547691, 69547697, 69547703, 69547709, 69547715, 69547721,
1499       69547727, 69547733, 69547739, 69547745, 69547751, 69547757, 69547763,
1500       69547769, 69547775, 69547781, 69547787, 69547793, 69547799, 69547805,
1501       69547811, 69547817, 69547823, 69547829, 69547835, 69547841, 69547847,
1502       69547853, 69547859, 69547865, 69547871, 69547877, 69547883, 69547889,
1503       69547895, 69547901, 69547907, 69547913, 69547919, 69547925, 69547931,
1504       69547937, 69547943, 69547949, 69547955, 69547961, 69547967, 69547973,
1505       69547979, 69547985, 69547991, 69547997, 69548003, 69548009, 69548015,
1506       69548021, 69548027, 69548033, 69548039, 69548045, 69548051, 69548057,
1507       69548063, 69548069, 69548075, 69548081, 69548087, 69548093, 69548099,
1508       69548105, 69548111, 69548117, 69548123, 69548129, 69548135, 69548141,
1509       69548147, 69548153, 69548159, 69548165, 69548171, 69548177, 69548183,
1510       69548189, 69548195, 69548201, 69548207, 69548213, 69548219, 69548225,
1511       69548231, 69548237, 69548243, 69548249, 69548255, 69548261, 69548267,
1512       69548273, 69548279, 69548285, 69548291, 69548297, 69548303, 69548309,
1513       69548315, 69548321, 69548327, 69548333, 69548339, 69548345, 69548351,
1514       69548357, 69548363, 69548369, 69548375, 69548381, 69548387, 69548393,
1515       69548399, 69548405, 69548411, 69548416, 69548421, 69548426, 69548431,
1516       69548436, 69548441, 69548446, 69548451, 69548456, 69548461, 69548466,
1517       69548471, 69548476, 69548481, 69548486, 69548491, 69548496, 69548501,
1518       69548506, 69548511, 69548516, 69548521, 69548526, 69548531, 69548536,
1519       69548541, 69548546, 69548551, 69548556, 69548561, 69548566, 69548571,
1520       69548576, 69548581, 69548586, 69548591, 69548596, 69548601, 69548606,
1521       69548611, 69548616, 69548621, 69548626, 69548631, 69548636, 69548641,
1522       69548646, 69548651, 69548656, 69548661, 69548666, 69548671, 69548676,
1523       69548681, 69548686, 69548691, 69548696, 69548701, 69548706, 69548711,
1524       69548716, 69548721, 69548726, 69548731, 69548736, 69548741, 69548746,
1525       69548751, 69548756, 69548761, 69548766, 69548771, 69548776, 69548781,
1526       69548786, 69548791, 69548796, 69548801, 69548806, 69548811, 69548816,
1527       69548821, 69548826, 69548831, 69548836, 69548841, 69548846, 69548851,
1528       69548856, 69548861, 69548866, 69548871, 69548876, 69548881, 69548886,
1529       69548891, 69548896, 69548901, 69548906, 69548911, 69548916, 69548921,
1530       69548926, 69548931, 69548936, 69548941, 69548946, 69548951, 69548956,
1531       69548961, 69548966, 69548971, 69548976, 69548981, 69548986, 69548991,
1532       69548996, 69549001, 69549006, 69549011, 69549016, 69549021, 69549026,
1533       69549031, 69549036, 69549041, 69549046, 69549051, 69549056, 69549061,
1534       69549066, 69549071, 69549076, 69549081, 69549086, 69549091, 69549096,
1535       69549101, 69549106, 69549111, 69549116, 69549121, 69549126, 69549131,
1536       69549136, 69549141, 69549146, 69549151, 69549156, 69549161, 69549166,
1537       69549171, 69549176, 69549181, 69549186, 69549191, 69549196, 69549201,
1538       69549206, 69549211, 69549216, 69549221, 69549226, 69549231, 69549236,
1539       69549241, 69549246, 69549251, 69549256, 69549261, 69549266, 69549271,
1540       69549276, 69549281, 69549286, 69549291, 69549296, 69549301, 69549306,
1541       69549311, 69549316, 69549321, 69549326, 69549331, 69549336, 69549341,
1542       69549346, 69549351, 69549356, 69549361, 69549366, 69549371, 69549376,
1543       69549381, 69549386, 69549391, 69549396, 69549401, 69549406, 69549411,
1544       69549416, 69549421, 69549426, 69549431, 69549436, 69549441, 69549446,
1545       69549451, 69549456, 69549461, 69549466, 69549471, 69549476, 69549481,
1546       69549486, 69549491, 69549496, 69549501, 69549506, 69549511, 69549516,
1547       69549521, 69549526, 69549531, 69549536, 69549541, 69549546, 69549551,
1548       69549556, 69549561, 69549566, 69549571, 69549576, 69549581, 69549586,
1549       69549591, 69549596, 69549601, 69549606, 69549611, 69549616, 69549621,
1550       69549626, 69549631, 69549636, 69549641, 69549646, 69549651, 69549656,
1551       69549661, 69549666, 69549671, 69549676, 69549681, 69549686, 69549691,
1552       69549696, 69549701, 69549706, 69549711, 69549716, 69549721, 69549726,
1553       69549731, 69549736, 69549741, 69549746, 69549751, 69549756, 69549761,
1554       69549766, 69549771, 69549776, 69549781, 69549786, 69549791, 69549796,
1555       69549801, 69549806, 69549811, 69549816, 69549821, 69549826, 69549831,
1556       69549836, 69549841, 69549846, 69549851, 69549856, 69549861, 69549866,
1557       69549871, 69549876, 69549881, 69549886, 69549891, 69549896, 69549901,
1558       69549906, 69549911, 69549916, 69549921, 69549926, 69549931, 69549936,
1559       69549941, 69549946, 69549951, 69549956, 69549961, 69549966, 69549971,
1560       69549976, 69549981, 69549986, 69549991, 69549996, 69550001, 69550006,
1561       69550011, 69550016, 69550021, 69550026, 69550031, 69550036, 69550041,
1562       69550046, 69550051, 69550056, 69550061, 69550066, 69550071, 69550076,
1563       69550081, 69550086, 69550091, 69550096, 69550101, 69550106, 69550111,
1564       69550116, 69550121, 69550126, 69550131, 69550136, 69550141, 69550146,
1565       69550151, 69550156, 69550161, 69550166, 69550171, 69550176, 69550181,
1566       69550186, 69550191, 69550196, 69550201, 69550206, 69550211, 69550216,
1567       69550221, 69550226, 69550231, 69550236, 69550241, 69550246, 69550251,
1568       69550256, 69550261, 69550266, 69550271, 69550276, 69550281, 69550286,
1569       69550291, 69550296, 69550301, 69550306, 69550311, 69550316, 69550321,
1570       69550326, 69550331, 69550336, 69550341, 69550346, 69550351, 69550356,
1571       69550361, 69550366, 69550371, 69550376, 69550381, 69550386, 69550390,
1572       69550394, 69550398, 69550402, 69550406, 69550410, 69550414, 69550418,
1573       69550422, 69550426, 69550430, 69550434, 69550438, 69550442, 69550446,
1574       69550450, 69550454, 69550458, 69550462, 69550466, 69550470, 69550474,
1575       69550478, 69550482, 69550486, 69550490, 69550494, 69550498, 69550502,
1576       69550506, 69550510, 69550514, 69550518, 69550522, 69550526, 69550530,
1577       69550534, 69550538, 69550542, 69550546, 69550550, 69550554, 69550558,
1578       69550562, 69550566, 69550570, 69550574, 69550578, 69550582, 69550586,
1579       69550590, 69550594, 69550598, 69550602, 69550606, 69550610, 69550614,
1580       69550618, 69550622, 69550626, 69550630, 69550634, 69550638, 69550642,
1581       69550646, 69550650, 69550654, 69550658, 69550662, 69550666, 69550670,
1582       69550674, 69550678, 69550682, 69550686, 69550690, 69550694, 69550698,
1583       69550702, 69550706, 69550710, 69550714, 69550718, 69550722, 69550726,
1584       69550730, 69550734, 69550738, 69550742, 69550746, 69550750, 69550754,
1585       69550758, 69550762, 69550766, 69550770, 69550774, 69550778, 69550782,
1586       69550786, 69550790, 69550794, 69550798, 69550802, 69550806, 69550810,
1587       69550814, 69550818, 69550822, 69550826, 69550830, 69550834, 69550838,
1588       69550842, 69550846, 69550850, 69550854, 69550858, 69550862, 69550866,
1589       69550870, 69550874, 69550878, 69550882, 69550886, 69550890, 69550894,
1590       69550898, 69550902, 69550906, 69550910, 69550914, 69550918, 69550922,
1591       69550926, 69550930, 69550934, 69550938, 69550942, 69550946, 69550950,
1592       69550954, 69550958, 69550962, 69550966, 69550970, 69550974, 69550978,
1593       69550982, 69550986, 69550990, 69550994, 69550998, 69551002, 69551006,
1594       69551010, 69551014, 69551018, 69551022, 69551026, 69551030, 69551034,
1595       69551038, 69551042, 69551046, 69551050, 69551054, 69551058, 69551062,
1596       69551066, 69551070, 69551074, 69551078, 69551082, 69551086, 69551090,
1597       69551094, 69551098, 69551102, 69551106, 69551110, 69551114, 69551118,
1598       69551122, 69551126, 69551130, 69551134, 69551138, 69551142, 69551146,
1599       69551150, 69551154, 69551158, 69551162, 69551166, 69551170, 69551174,
1600       69551178, 69551182, 69551186, 69551190, 69551194, 69551198, 69551202,
1601       69551206, 69551210, 69551214, 69551218, 69551222, 69551226, 69551230,
1602       69551234, 69551238, 69551242, 69551246, 69551250, 69551254, 69551258,
1603       69551262, 69551266, 69551270, 69551274, 69551278, 69551282, 69551286,
1604       69551290, 69551294, 69551298, 69551302, 69551306, 69551310, 69551314,
1605       69551318, 69551322, 69551326, 69551330, 69551334, 69551338, 69551342,
1606       69551346, 69551350, 69551354, 69551358, 69551362, 69551366, 69551370,
1607       69551374, 69551378, 69551382, 69551386, 69551390, 69551394, 69551398,
1608       69551402, 69551406, 69551410, 69551414, 69551418, 69551422, 69551426,
1609       69551430, 69551434, 69551438, 69551442, 69551446, 69551450, 69551454,
1610       69551458, 69551462, 69551466, 69551470, 69551474, 69551478, 69551482,
1611       69551486, 69551490, 69551494, 69551498, 69551502, 69551506, 69551510,
1612       69551514, 69551518, 69551522, 69551526, 69551530, 69551534, 69551538,
1613       69551542, 69551546, 69551550, 69551554, 69551558, 69551562, 69551566,
1614       69551570, 69551574, 69551578, 69551582, 69551586, 69551590, 69551594,
1615       69551598, 69551602, 69551606, 69551610, 69551614, 69551618, 69551622,
1616       69551626, 69551630, 69551634, 69551638, 69551642, 69551646, 69551650,
1617       69551654, 69551658, 69551662, 69551666, 69551670, 69551674, 69551678,
1618       69551682, 69551686, 69551690, 69551694, 69551698, 69551702, 69551706,
1619       69551710, 69551714, 69551718, 69551722, 69551726, 69551730, 69551734,
1620       69551738, 69551742, 69551746, 69551750, 69551754, 69551758, 69551762,
1621       69551766, 69551770, 69551774, 69551778, 69551782, 69551786, 69551790,
1622       69551794, 69551798, 69551802, 69551806, 69551810, 69551814, 69551818,
1623       69551822, 69551826, 69551830, 69551834, 69551838, 69551842, 69551846,
1624       69551850, 69551854, 69551858, 69551862, 69551866, 69551870, 69551874,
1625       69551878, 69551882, 69551886, 69551890, 69551894, 69551898, 69551902,
1626       69551906, 69551910, 69551914, 69551918, 69551922, 69551926, 69551930,
1627       69551934, 69551938, 69551942, 69551946, 69551950, 69551954, 69551958,
1628       69551962, 69551966, 69551970, 69551974, 69551978, 69551982, 69551986,
1629       69551990, 69551994, 69551998, 69552002, 69552006, 69552010, 69552014,
1630       69552018, 69552022, 69552026, 69552030, 69552034, 69552038, 69552042,
1631       69552046, 69552050, 69552054, 69552058, 69552062, 69552066, 69552070,
1632       69552074, 69552078, 69552082, 69552086, 69552090, 69552094, 69552098,
1633       69552102, 69552106, 69552110, 69552114, 69552118, 69552122, 69552126,
1634       69552130, 69552134, 69552138, 69552142, 69552146, 69552150, 69552154,
1635       69552158, 69552162, 69552166, 69552170, 69552174, 69552178, 69552182,
1636       69552186, 69552190, 69552194, 69552198, 69552202, 69552206, 69552210,
1637       69552214, 69552218};
1638     System.arraycopy(temp, 0, prob, prob.length - temp.length, temp.length);
1639   }
1640
1641   private static int[] chars;
1642   private static void populateChars1() {
1643     chars = new int[10002];
1644     int[] temp = new int[] {32, 9, 10, 101, 97, 13, 105, 111,
1645        110, 116, 114, 115, 108, 100, 99, 117, 109, 104, 112, 103, 48, 46,
1646        98, 49, 160, 102, 50, 118, 121, 107, 44, 119, 45, 58, 51, 53, 52,
1647        57, 56, 106, 54, 122, 55, 47, 41, 40, 124, 120, 1103, 1072, 1086,
1648        113, 1080, 1575, 1077, 1085, 1090, 12540, 1088, 12398, 95, 1089, 39,
1649        1604, 33, 233, 12290, 30340, 1083, 1074, 12289, 12531, 1082, 12356,
1650        34, 3634, 91, 93, 63, 62, 1076, 225, 1605, 1084, 3609, 1610, 12395,
1651        12375, 1585, 1087, 1608, 12391, 12488, 3619, 1091, 12390, 243, 12377,
1652        1606, 61, 3629, 12473, 1578, 12427, 42, 12394, 12452, 12483, 12383,
1653        12539, 3656, 12392, 3648, 12434, 3585, 12414, 12399, 237, 38, 19968,
1654        12523, 1075, 20154, 12463, 252, 3617, 305, 3657, 3591, 59, 12364,
1655        1073, 1583, 1099, 1079, 1576, 20013, 224, 3633, 12363, 26085, 1607,
1656        43, 228, 12522, 12435, 12521, 12426, 12387, 22823, 3623, 24180, 231,
1657        12450, 3621, 3618, 26377, 1100, 3604, 1081, 1587, 1593, 29992, 3637,
1658        12425, 37, 246, 26032, 3588, 19981, 3626, 12373, 12418, 26159, 12371,
1659        60, 21697, 22312, 26376, 3607, 12464, 3636, 3610, 1095, 12471, 12525,
1660        2366, 19978, 12362, 126, 12358, 187, 12503, 227, 12479, 12428, 1577,
1661        3627, 1093, 25105, 12524, 12367, 3605, 945, 20998, 20250, 12489, 26412,
1662        12501, 183, 23398, 12467, 22269, 29983, 1601, 273, 3021, 8220, 8221,
1663        20316, 1602, 1603, 35, 25991, 12472, 20102, 12513, 64, 3632, 12354,
1664        12502, 12365, 22320, 20986, 34892, 23376, 32593, 51060, 21457, 12459,
1665        21517, 8230, 2381, 19979, 1497, 12384, 2352, 1493, 36, 1078, 12486,
1666        1740, 12510, 23567, 8226, 32773, 1600, 1588, 234, 26041, 959, 26368,
1667        3611, 26102, 12496, 12469, 1094, 23478, 1581, 3405, 20837, 3614, 3649,
1668        250, 22238, 964, 20010, 24773, 20844, 24066, 20197, 29702, 953, 1609,
1669        1110, 21512, 949, 34920, 12461, 351, 20840, 21069, 35201, 20107, 33258,
1670        12424, 1580, 232, 1101, 20214, 12481, 12300, 3652, 26009, 3586, 25163,
1671        12301, 3592, 21644, 21487, 33021, 12304, 12451, 21830, 8211, 322,
1672        1096, 2325, 12305, 22825, 25104, 12369, 39640, 21152, 12512, 3660,
1673        12385, 241, 20026, 3639, 20869, 23450, 20449, 1092, 4304, 22909, 25968,
1674        37329, 22810, 12458, 26469, 3640, 30005, 21040, 27861, 24037, 19994,
1675        957, 4312, 12381, 3641, 26426, 30475, 37096, 26178, 2375, 24515, 169,
1676        12491, 92, 3594, 32654, 31532, 12388, 24615, 12517, 28857, 12454,
1677        21306, 2344, 36890, 12415, 65533, 12379, 244, 1492, 1377, 12499, 963,
1678        2367, 28961, 20027, 26399, 32034, 45796, 35770, 255, 432, 12487, 12456,
1679        22899, 20182, 25152, 29289, 12519, 44592, 3277, 1102, 12515, 1582,
1680        226, 1589, 20307, 1586, 30011, 2360, 31995, 353, 29256, 229, 12393,
1681        20851, 21160, 36947, 38388, 1571, 1500, 20110, 8212, 39029, 961, 26126,
1682        12417, 27700, 12360, 2965, 3650, 30456, 36825, 12497, 3651, 26684,
1683        28023, 3149, 1512, 31038, 24230, 24215, 20870, 22577, 1514, 12475,
1684        22270, 12420, 30331, 12511, 30446, 94, 12372, 38754, 26381, 30693,
1685        12431, 25945, 21518, 22806, 26356, 954, 21451, 23665, 35211, 2340,
1686        27880, 21205, 3007, 960, 2350, 21270, 23433, 1591, 2368, 29305, 20301,
1687        20320, 12490, 39064, 32463, 21147, 31034, 51648, 20135, 21033, 23601,
1688        24687, 38382, 19977, 37117, 24335, 44032, 951, 4308, 2354, 21153,
1689        3655, 21516, 12509, 269, 21271, 7841, 8364, 9733, 25237, 31449, 12480,
1690        20204, 2980, 38291, 20445, 1502, 21496, 51032, 3009, 49828, 20803,
1691        36164, 281, 2351, 45716, 12506, 20140, 24403, 36865, 21495, 20043,
1692        20351, 38598, 235, 12474, 7871, 23545, 49324, 24847, 27425, 236, 20195,
1693        24471, 956, 26908, 347, 1488, 31185, 47196, 261, 2346, 1489, 12441,
1694        24320, 171, 20385, 32447, 54616, 35352, 380, 38480, 125, 27963, 50640,
1695        287, 23458, 3635, 1097, 7879, 123, 3263, 22120, 12484, 7843, 601,
1696        955, 19982, 12527, 31561, 39318, 12493, 36710, 31649, 20215, 30495,
1697        20132, 35828, 22914, 27491, 12408, 1398, 21407, 22580, 1590, 25552,
1698        35328, 44256, 21046, 962, 2357, 27671, 2379, 35199, 965, 3248, 257,
1699        20108, 49884, 382, 20063, 36807, 20040, 1513, 51064, 24863, 35780,
1700        23481, 47532, 12455, 26524, 51088, 25216, 2306, 245, 29616, 24314,
1701        35013, 21335, 21462, 29255, 26597, 31572, 37325, 19987, 33394, 54620,
1702        1705, 12465, 21578, 4320, 25151, 35299, 38899, 20170, 21475, 12495,
1703        24179, 31243, 31354, 25253, 21839, 12500, 31934, 30528, 2361, 26989,
1704        35270, 20854, 37324, 27969, 23383, 12514, 12376, 28216, 25910, 24433,
1705        30476, 4153, 3262, 35774, 19975, 2986, 1408, 32852, 22411, 12477,
1706        48372, 22797, 21450, 12419, 23454, 36827, 39135, 9632, 253, 9658,
1707        4321, 259, 25628, 36335, 12460, 240, 2990, 45768, 20687, 32771, 3391,
1708        37327, 21326, 21488, 12507, 248, 223, 24605, 38651, 96, 20855, 12429,
1709        12397, 35745, 3349, 31435, 24819, 49436, 2992, 24191, 24341, 3120,
1710        22522, 51012, 21592, 1400, 50500, 25509, 24212, 12505, 38271, 24405,
1711        7897, 26080, 24030, 24120, 33457, 20809, 22478, 12298, 20876, 27714,
1712        1504, 20184, 7899, 35831, 12299, 3612, 20309, 32423, 3134, 20048,
1713        27665, 36733, 20379, 19990, 28040, 26481, 1574, 3606, 26360, 3135,
1714        23453, 30000, 26415, 7845, 3006, 28982, 24744, 21435, 176, 2750, 1501,
1715        36215, 31070, 30330, 27604, 25512, 36824, 22330, 19996, 30007, 230,
1716        38306, 27231, 51221, 1381, 27005, 2975, 22363, 4317, 21482, 20808,
1717        25345, 35777, 3137, 36523, 32946, 36554, 36817, 21307, 31867, 38376,
1718        51068, 25918, 26143, 947, 3265, 25143, 23637, 26435, 7889, 242, 50612,
1719        12468, 33521, 38498, 26631, 943, 31295, 12400, 35239, 12449, 2342,
1720        24086, 1506, 3368, 21338, 12504, 37682, 20070, 21313, 249, 23569,
1721        25351, 35805, 27809, 30740, 29233, 25903, 49688, 1491, 7901, 7853,
1722        46020, 26408, 24067, 1573, 20171, 37197, 2369, 1594, 2327, 263, 26465,
1723        45824, 25171, 25919, 3603, 28909, 32780, 31456, 28304, 948, 7873,
1724        24460, 26495, 3376, 51204, 37027, 30333, 26696, 3240, 38283, 24456,
1725        12508, 940, 51228, 20877, 30334, 39057, 3624, 4315, 3390, 49345, 238,
1726        36153, 30721, 24029, 9734, 32622, 20225, 20849, 21463, 53944, 22235,
1727        21161, 21543, 36796, 26657, 51008, 25110, 30028, 2332, 27492, 21608,
1728        34255, 20889, 2997, 3221, 21521, 4314, 12494, 30001, 24555, 27004,
1729        27743, 21476, 22770, 30452, 2494, 417, 1495, 969, 46972, 24050, 1569,
1730        3112, 1579, 28779, 1508, 2994, 12409, 2985, 31119, 20219, 21333, 12457,
1731        26053, 165, 44536, 32004, 2348, 35760, 22791, 36899, 3595, 23558,
1732        22240, 9830, 35373, 3615, 31181, 20160, 1511, 35441, 12466, 36141,
1733        3223, 3122, 22763, 1584, 38263, 32769, 12470, 7911, 29579, 4305, 22303,
1734        1199, 21442, 50896, 51452, 20462, 28165, 20256, 35821, 45208, 20813,
1735        24418, 972, 32479, 26448, 39118, 35413, 1387, 3270, 21021, 21015,
1736        46300, 23436, 3608, 3238, 31350, 36895, 1570, 24072, 7875, 35813,
1737        3074, 22768, 1499, 21002, 21253, 1548, 34987, 37326, 4316, 1662, 20303,
1738        3393, 26679, 7847, 4152, 35797, 50836, 38750, 26395, 36896, 21508,
1739        26131, 35835, 3236, 35486, 2335, 24517, 21035, 21029, 44172, 21453,
1740        29699, 12378, 44396, 30149, 39321, 3638, 46041, 7883, 1711, 29694,
1741        12423, 3364, 4140, 32032, 3616, 8222, 3250, 27835, 59179, 36229, 3093,
1742        23627, 25506, 7907, 27468, 54868, 22836, 941, 8594, 22826, 23550,
1743        20491, 23460, 30707, 3256, 27454, 32467, 9679, 20581, 27668, 20415,
1744        31246, 33391, 25165, 26410, 20116, 36873, 3654, 36816, 1410, 12442,
1745        36074, 49457, 38500, 1505, 21019, 25307, 36716, 2480, 21619, 54644,
1746        3625, 24049, 25490, 30701, 47484, 2330, 3016, 2736, 191, 21729, 1257,
1747        1098, 30041, 49548, 25103, 48708, 20570, 31080, 21151, 37202, 31169,
1748        20174, 27169, 49888, 20123, 51109, 25454, 32929, 35215, 4309, 32080,
1749        25972, 25913, 180, 2970, 50689, 38738, 20294, 12302, 2991, 21345,
1750        20104, 32218, 35443, 12403, 23455, 215, 20999, 23548, 31215, 32473,
1751        30058, 30465, 23384, 48512, 28145, 12303, 4307, 47928, 24859, 26519,
1752        2995, 33410, 50857, 24535, 12516, 39564, 32452, 36148, 942, 20004,
1753        27096, 3370, 38988, 36617, 38405, 26149, 28436, 29366, 23798, 38450,
1754        36984, 24635, 21360, 35336, 8250, 966, 24110, 32048, 36820, 2509,
1755        24247, 36861, 3253, 3378, 174, 163, 186, 26449, 36719, 12416, 254,
1756        51080, 36009, 23616, 47560, 1396, 32454, 29031, 31639, 29575, 3597,
1757        3246, 33853, 38395, 2503, 36136, 54924, 35265, 24182, 2622, 24352,
1758        23621, 48120, 2358, 22987, 7885, 44277, 36039, 31505, 3202, 50668,
1759        24425, 4145, 20987, 35268, 952, 25773, 251, 967, 3128, 12411, 7909,
1760        283, 23494, 47564, 32476, 33616, 3851, 2728, 30010, 20799, 33829,
1761        49464, 3375, 24378, 44397, 4323, 4322, 22788, 1749, 2337, 3359, 36023,
1762        9834, 299, 1496, 24590, 31859, 25522, 38144, 7891, 26354, 12462, 36798,
1763        20080, 47924, 26045, 275, 7903, 337, 1391, 22253, 12498, 1490, 32844,
1764        44060, 38656, 21464, 22905, 35843, 7921, 7913, 8251, 2309, 8218, 35758,
1765        20540, 51004, 35753, 50724, 32534, 21209, 38451, 21363, 4096, 44284,
1766        324, 46308, 20139, 239, 20302, 2495, 22495, 22793, 2765, 2759, 8224,
1767        45236, 35069, 3114, 21150, 31616, 3125, 36275, 345, 1112, 44221, 29987,
1768        3247, 33267, 23130, 3384, 21315, 161, 7855, 31163, 40644, 27494, 30424,
1769        36234, 28201, 21806, 22242, 20363, 39532, 3330, 4311, 35501, 25214,
1770        29260, 25226, 2993, 28207, 35748, 3381, 36208, 27599, 20856, 4121,
1771        50976, 24102, 40857, 26223, 35814, 31216, 25928, 35759, 8482, 51312,
1772        35266, 3242, 35937, 24459, 44544, 21448, 3108, 2752, 27833, 25112,
1773        2472, 27770, 23646, 20248, 51652, 27979, 29609, 20934, 30524, 4143,
1774        24195, 2370, 35782, 24453, 4141, 3374, 1735, 50672, 2608, 2984, 32418,
1775        1592, 36942, 12370, 39033, 1510, 4112, 24540, 1397, 54252, 34880,
1776        38463, 27426, 30003, 26413, 8203, 27827, 50864, 36135, 20915, 26222,
1777        36830, 25252, 9670, 31687, 30906, 35272, 3118, 1407, 167, 44288, 12518,
1778        20843, 3377, 33647, 7919, 20845, 39365, 4100, 8249, 53552, 35810,
1779        27515, 26666, 20811, 31665, 25353, 8722, 23500, 35469, 1503, 31574,
1780        4306, 26144, 51077, 21322, 21916, 47784, 22336, 21490, 47732, 29577,
1781        38918, 38469, 24231, 26031, 26089, 7917, 1111, 24503, 12406, 12368,
1782        22659, 946, 24220, 27773, 28858, 23572, 21629, 26681, 32232, 3762,
1783        12402, 33322, 27573, 40657, 26512, 26174, 279, 20891, 31278, 48169,
1784        24577, 26371, 39764, 23427, 33402, 21452, 24211, 12374, 34915, 3110,
1785        1179, 35789, 26494, 35542, 9472, 29615, 27982, 26029, 1614, 9474,
1786        30332, 21834, 50504, 33041, 22812, 2734, 35874, 7893, 23041, 12293,
1787        39080, 9500, 50868, 21548, 27874, 32068, 21382, 3737, 21334, 24052,
1788        20122, 50948, 20241, 25511, 22855, 36939, 36130, 32500, 50556, 22686,
1789        33879, 30382, 3103, 20061, 26446, 20505, 177, 3119, 973, 24065, 31614,
1790        32066, 28246, 25289, 32856, 32154, 20064, 25215, 21547, 28608, 54617,
1791        9660, 33268, 2339, 22833, 181, 26680, 31227, 39044, 32676, 2349, 48148,
1792        37319, 339, 1114, 164, 27597, 36948, 36578, 32887, 27490, 54840, 8225,
1793        32076, 39030, 38134, 23713, 20960, 20030, 47308, 4117, 35282, 20181,
1794        2343, 53356, 21513, 25293, 170, 35519, 19969, 20117, 2709, 50629,
1795        178, 3095, 36092, 24076, 36814, 44368, 38190, 2453, 1405, 21527, 53440,
1796        26063, 1108, 25442, 36131, 35895, 51201, 2616, 20805, 54408, 2376,
1797        51473, 51020, 24613, 39006, 25126, 26397, 22871, 49373, 3257, 33324,
1798        38065, 20892, 24565, 20221, 3379, 54532, 46356, 2319, 23578, 37038,
1799        27493, 49440, 49845, 1406, 12422, 22259, 47588, 27983, 23448, 22827,
1800        30830, 1105, 27611, 3244, 22290, 24235, 36755, 26816, 35768, 22799,
1801        2310, 34899, 30053, 2741, 3251, 21312, 26500, 20778, 21507, 9829,
1802        35746, 32862, 4313, 20859, 31036, 24494, 3231, 38142, 12401, 39208,
1803        31881, 20037, 23487, 2631, 1494, 8240, 22343, 35910, 22283, 1670,
1804        371, 39046, 25925, 1392, 32057, 38431, 3233, 24178, 34903, 28459,
1805        38272, 51076, 3398, 33590, 182, 47112, 19971, 22530, 2476, 32178,
1806        24046, 2763, 27531, 3143, 27915, 3147, 35273, 12366, 2359, 36739,
1807        2724, 21319, 51116, 44228, 2690, 36753, 49892, 25658, 20113, 45380,
1808        20114, 52380, 2326, 52824, 24207, 47749, 1116, 35500, 24111, 21738,
1809        6098, 21942, 22996, 38590, 32207, 1388, 29486, 33756, 21387, 2488,
1810        33487, 48516, 2623, 24375, 30103, 2479, 7863, 46321, 9675, 36949,
1811        44144, 1118, 38609, 49885, 20041, 52852, 23626, 28010, 39134, 54028,
1812        3658, 23416, 36793, 28082, 7915, 49328, 25209, 3015, 21017, 3105,
1813        47785, 45936, 52404, 28168, 29275, 22521, 23475, 30772, 363, 23425,
1814        53664, 1567, 50900, 33865, 51089, 21048, 54633, 33539, 172, 2624,
1815        4334, 45432, 22856, 23395, 4123, 52628, 44036, 21095, 24213, 3098,
1816        31471, 27941, 21378, 1744, 30410, 29677, 21177, 29420, 28120, 4116,
1817        39280, 47084, 25240, 23401, 974, 27721, 50752, 38555, 1107, 28385,
1818        23470, 33310, 38442, 402, 47932, 36187, 36027, 38957, 2744, 20917,
1819        20633, 23429, 27801, 27010, 3271, 21542, 26379, 24651, 39340, 38477,
1820        33609, 3403, 12476, 21355, 36914, 26234, 21336, 35703, 4328, 35838,
1821        25915, 27849, 27704, 38543, 26044, 25321, 25563, 2341, 26497, 35430,
1822        28155, 20284, 21010, 32905, 9473, 23822, 27927, 54032, 31508, 45800,
1823        38169, 35531, 36938, 12532, 21320, 3784, 39443, 184, 22885, 31192,
1824        4126, 47197, 38597, 38745, 3354, 20339, 24198, 20358, 44163, 4129,
1825        33509, 36259, 24107, 2751, 2482, 36913, 162, 31168, 3142, 31105, 1115,
1826        54665, 20029, 20381, 12520, 4124, 35686, 31179, 21028, 24038, 2313,
1827        20852, 44552, 2598, 3785, 3136, 35757, 2979, 2581, 2478, 33719, 31461,
1828        2311, 25805, 19988, 21491, 35222, 21704, 35785, 20146, 20853, 50696,
1829        34276, 51200, 1119, 12353, 20105, 36866, 21439, 27966, 19997, 32422,
1830        2730, 38634, 38505, 32493, 39636, 48156, 2600, 20083, 36828, 24237,
1831        23554, 39000, 20919, 3014, 9492, 1385, 22870, 6070, 21892, 47700,
1832        7887, 21709, 38632, 24202, 26862, 2949, 24373, 36848, 8213, 2738,
1833        188, 47000, 24441, 36889, 38889, 34701, 21454, 46104, 53685, 44053,
1834        12405, 23089, 33464, 35775, 1379, 45224, 27431, 36864, 38081, 45348,
1835        24800, 24184, 36125, 34955, 37504, 35848, 3713, 27178, 49353, 2347,
1836        35468, 31361, 32461, 31199, 54000, 20848, 25285, 9633, 32972, 25588,
1837        2404, 26522, 23618, 27602, 22920, 4154, 44148, 54624, 44160, 38556,
1838        4101, 26434, 22830, 52572, 1409, 38468, 24448, 20551, 33775, 35752,
1839        1729, 20418, 39302, 25147, 2474, 35802, 22323, 32599, 48264, 35527,
1840        49444, 7877, 168, 36731, 20142, 38795, 2951, 48376, 36319, 30828,
1841        38472, 30171, 21602, 45908, 3363, 52264, 27083, 21215, 21183, 20826,
1842        3228, 2468, 4318, 23612, 1380, 1113, 27744, 48176, 8206, 21327, 32508,
1843        30151, 25144, 20247, 21364, 1384, 8658, 20234, 38917, 36794, 28288,
1844        23432, 26641, 3593, 36766, 30002, 23556, 45684, 21560, 21016, 38913,
1845        3116, 7881, 36855, 65279, 25668, 20943, 29190, 1106, 30431, 23519,
1846        3399, 54168, 8195, 48152, 32102, 175, 26800, 32440, 1746, 25391, 9650,
1847        23186, 355, 21628, 21047, 25705, 40635, 20313, 52636, 189, 1616, 32426,
1848        30097, 32026, 32435, 37240, 166, 45817, 26230, 27508, 54788, 21051,
1849        24907, 2996, 35251, 27954, 1611, 22359, 26723, 48660, 33145, 20020,
1850        27719, 26202, 32455, 31309, 37070, 38596, 30274, 2613, 9482, 54588,
1851        32722, 2735, 3732, 50669, 28789, 21672, 2596, 3275, 26411, 30417,
1852        20253, 20196, 7849, 27850, 36884, 20165, 38050, 22260, 1412, 26550,
1853        25480, 27841, 25173, 20260, 21213, 31777, 27497, 38663, 26367, 28783,
1854        48277, 35834, 35841, 54980, 958, 23492, 39184, 3353, 2610, 24449,
1855        52397, 20572, 38706, 44608, 35696, 50630, 3757, 23681, 22266, 27161,
1856        6042, 38647, 3776, 38522, 26790, 20185, 32456, 33287, 3019, 37444,
1857        2617, 23707, 23459, 2753, 8595, 20516, 25239, 48260, 27211, 32477,
1858        38761, 20498, 32933, 25955, 32763, 24187, 3613, 29399, 21531, 53076,
1859        24149, 35388, 34917, 36196, 367, 35762, 27663, 3266, 50577, 21344,
1860        29105, 361, 4330, 30427, 31569, 47476, 27036, 38215, 25551, 40658,
1861        44048, 22992, 37239, 12619, 12382, 36969, 51649, 29238, 772, 22294,
1862        3351, 4325, 2969, 2602, 3226, 21483, 36149, 38989, 35342, 24481, 24536,
1863        4156, 47140, 26432, 3100, 23553, 27810, 24746, 36008, 34013, 36935,
1864        31186, 4097, 4324, 38626, 3366, 3719, 33510, 38364, 20304, 48124,
1865        4151, 3264, 36152, 24322, 7867, 29483, 47568, 9608, 23614, 39154,
1866        23452, 33655, 38470, 27177, 29664, 27507, 3630, 21367, 190, 34382,
1867        2463, 29872, 26579, 51665, 32511, 22971, 26619, 39592, 21103, 2635,
1868        23613, 21478, 27442, 54540, 20202, 36611, 27996, 38381, 28310, 28286,
1869        32113, 32321, 25976, 20493, 3394, 179, 32097, 12412, 3761, 44620,
1870        950, 38138, 25343, 45784, 40670, 36879, 20912, 1394, 26893, 23653,
1871        2606, 28988, 21733, 25937, 47141, 21106, 1617, 21018, 44208, 51333,
1872        21477, 357, 2497, 36127, 23431, 247, 33050, 25774, 33303, 2492, 24444,
1873        2716, 1378, 51216, 3138, 1726, 3751, 22721, 31821, 48149, 24188, 22969,
1874        8593, 25246, 3018, 6035, 29790, 38914, 20006, 49569, 38386, 29087,
1875        24040, 1402, 40060, 1241, 1615, 49549, 35498, 36175, 54364, 2312,
1876        7851, 44428, 2604, 35242, 30343, 1187, 25176, 54664, 27888, 2672,
1877        28814, 53468, 26152, 24930, 378, 32932, 21381, 38544, 2364, 23566,
1878        25033, 22243, 38047, 31069, 20908, 27138, 26292, 22280, 32681, 34507,
1879        32819, 1171, 23721, 28151, 20016, 27993, 23381, 12389, 3745, 31383,
1880        33337, 48652, 24133, 3235, 2562, 21494, 34220, 39035, 2726, 32013,
1881        20419, 21809, 48320, 20816, 31359, 21220, 3942, 23457, 28526, 25324,
1882        20914, 32025, 21862, 30064, 20055, 3254, 44305, 21361, 26757, 35672,
1883        732, 26366, 36339, 185, 29066, 20005, 23546, 3372, 24109, 38627, 35611,
1884        51656, 54632, 3760, 4155, 710, 20276, 31680, 38236, 20497, 2336, 2588,
1885        24466, 3738, 20839, 46108, 1572, 2745, 3205, 53412, 32147, 50557,
1886        35946, 2958, 3077, 3765, 36001, 24693, 53580, 1618, 26576, 33073,
1887        50872, 38996, 21050, 4310, 4157, 27598, 31958, 21551, 23631, 23064,
1888        24310, 24039, 38646, 32858, 24656, 50808, 26087, 6036, 22025, 24618,
1889        20896, 35377, 20315, 26472, 23565, 49900, 303, 22815, 32451, 4332,
1890        50632, 1498, 20081, 12380, 36062, 4146, 26007, 50508, 20065, 20874,
1891        36996, 35442, 33016, 24739, 22919, 35338, 28006, 20992, 20474, 2620,
1892        30342, 32487, 6016, 2719, 54805, 37089, 24196, 29378, 24489, 21402,
1893        7865, 32039, 46160, 48373, 3530, 36317, 6040, 21066, 20652, 54872,
1894        25484, 20729, 25505, 39740, 36024, 20966, 31689, 20024, 297, 47336,
1895        39034, 31526, 32908, 29359, 40092, 2711, 32043, 2732, 23560, 24112,
1896        2507, 39278, 36032, 39069, 6047, 45733, 20861, 36000, 39038, 50528,
1897        25191, 2470, 32117, 51592, 25554, 27402, 52488, 25346, 35823, 12541,
1898        27798, 24576, 25645, 21024, 24351, 26263, 35613, 4122, 31481, 2331,
1899        26477, 21332, 26332, 3600, 48324, 44201, 4106, 38867, 22902, 3356,
1900        4142, 1734, 26725, 39304, 3749, 28020, 36129, 36842, 33180, 7895,
1901        33635, 25630, 36991, 44033, 32000, 33026, 44540, 36012, 55176, 35302,
1902        3906, 22679, 23544, 25463, 25311, 24093, 20159, 23447, 26463, 48520,
1903        47728, 3392, 38281, 52293, 21776, 7869, 34394, 28895, 3255, 9671,
1904        35036, 52376, 46412, 26997, 45804, 22995, 49496, 29273, 295, 36718,
1905        12534, 28966, 26479, 20511, 40575, 27873, 21109, 22256, 29976, 22352,
1906        3129, 32701, 32431, 30784, 8801, 33014, 12316, 2673, 333, 27605, 47536,
1907        8470, 326, 1404, 3659, 32993, 29356, 22918, 24059, 21073, 30070, 1389,
1908        44553, 3954, 26124, 20025, 36028, 25935, 24778, 45572, 3008, 2455,
1909        22609, 12492, 32260, 24464, 51613, 369, 4326, 2742, 2439, 3010, 30563,
1910        23506, 2460, 23792, 50892, 30142, 12478, 8730, 26262, 7857, 30436,
1911        39131, 3333, 32842, 36605, 39749, 36035, 3144, 32570, 3274, 37073,
1912        24895, 49465, 26588, 25276, 39178, 12413, 46988, 21058, 48143, 31085,
1913        36305, 40664, 33080, 22307, 36805, 50506, 46993, 21171, 26071, 32784,
1914        22818, 50728, 26082, 32884, 1709, 53804, 49696, 2625, 35914, 30561,
1915        23485, 21127, 29986, 27784, 23615, 54856, 40165, 38452, 28204, 23551,
1916        54217, 3538, 28771, 318, 3754, 32988, 23467, 3921, 3771, 31454, 25361,
1917        9678, 32618, 35506, 7929, 24377, 45812, 21311, 28187, 35799, 20465,
1918        20596, 45320, 34399, 3964, 9516, 30423, 26242, 21621, 54637, 39068,
1919        33288, 38520, 35387, 12421, 38024, 33150, 46021, 34429, 35504, 21191,
1920        26716, 34180, 26691, 54876, 52964, 24115, 35370, 35379, 29123, 28193,
1921        24402, 3505, 25688, 26480, 36213, 1383, 25481, 26639, 23547, 45216,
1922        9618, 52768, 28369, 32990, 22635, 28287, 26106, 38534, 47492, 38752,
1923        48155, 54200, 36882, 45813, 3385, 8592, 20210, 38542, 52286, 23526,
1924        37636, 49352, 23439, 33945, 50977, 27905, 47549, 1399, 52712, 45212,
1925        6031, 20489, 36960, 21414, 20180, 4139, 24537, 3735, 32118, 36664,
1926        21218, 35023, 25265, 3245, 51339, 24369, 36557, 27973, 44400, 20001,
1927        27794, 27193, 38538, 49437, 25244, 35793, 28595, 30719, 48177, 4150,
1928        20046, 21917, 24694, 20161, 1390, 21556, 38525, 4102, 23736, 34101,
1929        50732, 39277, 28070, 21561, 22362, 29482, 49692, 51456, 3361, 3127,
1930        29645, 52285, 32020, 53364, 52292, 39746, 47448, 36870, 27503, 2953,
1931        3239, 2721, 2371, 25439, 12359, 20961, 20129, 38911, 40481, 48288,
1932        47144, 22612, 31283, 45843, 20860, 21934, 32650, 39770, 53469, 24681,
1933        3383, 32244, 8734, 37030, 34411, 3590, 20804, 54596, 35079, 25317,
1934        3382, 22258, 28798, 40845, 53945, 2566, 4327, 23562, 50416, 50501,
1935        20598, 27427, 48513, 24748, 8804, 28872, 22338, 1722, 9507, 31455,
1936        3926, 38075, 39537, 1739, 54869, 20057, 30913, 26195, 3725, 2489,
1937        25187, 19976, 21063, 37266, 40784, 23456, 25201, 25731, 32210, 24597,
1938        44057, 46976, 24291, 1742, 26580, 30418, 22863, 6020, 1736, 40614,
1939        31478, 54256, 28784, 35226, 4144, 12407, 32553, 40736, 20648, 40065,
1940        20882, 12396, 45376, 47672, 23039, 23380, 20262, 21169, 21807, 22937,
1941        316, 28129, 36786, 30435, 36151, 31563, 50676, 33740, 35009, 20928,
1942        22841, 20255, 24785, 2447, 47548, 27578, 50616, 35044, 45912, 3777,
1943        39151, 32005, 35422, 47480, 24935, 36650, 24452, 20249, 28072, 54056,
1944        4118, 22278, 33437, 2328, 20405, 32536, 25138, 20439, 36067, 22351,
1945        20384, 26157, 2338, 2583, 23517, 3000, 2438, 3342, 25277, 9488, 28903,
1946        1382, 29392, 23559, 35465, 20173, 49332, 29978, 23142, 36020, 28014,
1947        52828, 22622, 23156, 6043, 63243, 26792, 3755, 20964, 3126, 968, 1958,
1948        28271, 24525, 32925, 23385, 23486, 40763, 9642, 1201, 12453, 8805,
1949        8776, 9478, 47566, 3620, 28363, 26564, 24499, 9553, 12307, 32047,
1950        38321, 22681, 31062, 3661, 37322, 39550, 8745, 44152, 38145, 26700,
1951        35786, 20559, 36763, 25196, 26417, 38548, 47200, 21734, 25569, 23610,
1952        26286, 26970, 29748, 27683, 22311, 2486, 34966, 2305, 20280, 24658,
1953        1403, 21162, 27818, 33109, 26834, 1688, 36973, 30952, 9617, 8231,
1954        49468, 2465, 37109, 1507, 8208, 28079, 35386, 25964, 38920, 52280,
1955        21092, 32879, 32489, 21416, 33136, 3938, 22805, 54744, 52840, 22524,
1956        33298, 35206, 49660, 49849, 20685, 3207, 55148, 25250, 26228, 28418,
1957        30422, 33459, 51208, 3520, 36681, 36134, 38972, 20272, 9576, 26364,
1958        38772, 48128, 52629, 20659, 46304, 35712, 26118, 2626, 2694, 29287,
1959        2714, 2565, 30496, 54693, 31077, 32094, 23244, 27785, 48036, 2693,
1960        40599, 23435, 9600, 36867, 27530, 33891, 46608, 2725, 54021, 26333,
1961        2586, 47088, 9578, 29572, 27931, 24754, 33033, 34907, 33104, 26753,
1962        9524, 23563, 3272, 21746, 9619, 33778, 28716, 3400, 26391, 2950, 25581,
1963        22696, 45720, 3631, 24598, 32724, 24080, 22346, 3764, 23043, 3733,
1964        38378, 36741, 49340, 20426, 3739, 23110, 25235, 1401, 25499, 6086,
1965        28508, 38936, 9552, 31890, 36190, 52992, 29980, 29942, 29240, 21009,
1966        32173, 30284, 27839, 3923, 3482, 52980, 21331, 21568, 38915, 21484,
1967        28392, 20599, 44600, 2377, 26611, 2380, 33495, 33151, 58853, 36829,
1968        36133, 38182, 3206, 25313, 32791, 36951, 38454, 31558, 38712, 30246,
1969        2591, 22727, 12685, 63688, 3908, 40636, 1109, 8704, 2355, 47581, 36186,
1970        24321, 24509, 32340, 33618, 24544, 46384, 1169, 48624, 4222, 40723,
1971        33707, 4171, 3512, 3111, 36963, 24745, 2496, 44061, 35037, 23652,
1972        3602, 9496, 27901, 30690, 2723, 2727, 31245, 48337, 38518, 32937,
1973        3535, 54140, 3514, 8811, 63242, 26059, 25954, 32943, 33832, 36341,
1974        3714, 1968, 33406, 25340, 3716, 2458, 12404, 25269, 20206, 50472,
1975        25140, 20693, 3214, 4331, 21172, 9604, 24594, 32854, 2632, 2595, 28009,
1976        28041, 9532, 6071, 22068, 6033, 33395, 27934, 32302, 35889, 12355,
1977        47792, 32974, 3767, 4244, 20975, 24125, 54889, 3515, 38083, 6038,
1978        27171, 25193, 3117, 28431, 20663, 33713, 26690, 25613, 6041, 20391,
1979        47004, 28139, 44200, 6091, 30722, 33261, 38459, 50644, 29141, 3628,
1980        35330, 22900, 30059, 22865, 37347, 328, 2333, 20035, 37101, 36797,
1981        29436, 51217, 30805, 4113, 47100, 34913, 3501, 35029, 20271, 45367,
1982        40479, 36575, 33673, 44192, 3742, 36880, 24382, 20134, 3146, 31348,
1983        50620, 28096, 37341, 3079, 27687, 2324, 26086, 38322, 35064, 3956,
1984        49552, 20094, 38453, 2972, 27748, 711, 28342, 3599, 33694, 27735,
1985        51676, 3371, 39854, 23703, 3373, 46973, 30908, 27807, 3380, 23696,
1986        25973, 30123, 32441, 44760, 8207, 20989, 8236, 35477, 22618, 8451,
1987        39039, 33489, 38155, 26460, 3367, 36104, 3936, 4329, 34588, 50756,
1988        20841, 3115, 3402, 9572, 22934, 28809, 33455, 34425, 29827, 25514,
1989        9312, 44508, 40836, 24518, 37492, 29554, 52509, 34214, 28818, 27946,
1990        6021, 31206, 30130, 28511, 8319, 39166, 13217, 46028, 20223, 2582,
1991        2733, 23019, 20940, 33126, 26694, 2459, 29028, 3335, 26781, 23233,
1992        36857, 26575, 36745, 33836, 28404, 20044, 38642, 32966, 9565, 25106,
1993        36300, 33804, 38428, 27583, 54609, 28034, 27877, 2477, 32963, 9571,
1994        3358, 32209, 30636, 26538, 31908, 34385, 3722, 28748, 44204, 33576,
1995        35731, 29618, 51096, 26216, 3209, 25299, 2703, 38108, 6072, 3789,
1996        9313, 23068, 27396, 35264, 3078, 25429, 4239, 55092, 32442, 9557,
1997        27542, 24324, 29245, 47561, 25381, 9563, 38360, 32531, 26441, 2434,
1998        26628, 20056, 37857, 9564, 3665, 25331, 4017, 34389, 12297, 20957,
1999        25298, 52384, 47553, 25943, 3523, 36367, 48276, 21097, 29916, 32626,
2000        3598, 22633, 25308, 3540, 28176, 31807, 28845, 25026, 52649, 33747,
2001        51313, 47049, 28248, 3334, 21330, 3769, 36843, 1962, 38485, 47803,
2002        1657, 26194, 3962, 36742, 26172, 23588, 30127, 38177, 36214, 32959,
2003        32882, 20982, 36992, 40802, 20179, 27424, 20018, 28450, 25932, 24674,
2004        27745, 9475, 20740, 29627, 48292, 33146, 3928, 32764, 36941, 1927,
2005        32318, 26421, 35722, 35010, 3939, 21193, 44264, 26525, 22296, 3107,
2006        39569, 39658, 2637, 22615, 19992, 28171, 37034, 31684, 39575, 2454,
2007        26609, 26825, 24736, 9559, 6081, 32317, 33529, 20126, 24223, 21365,
2008        31726, 50880, 25130, 21247, 35041, 33293, 22868, 25975, 24422, 38929,
2009        8242, 24500, 32439, 4120, 2715, 34218, 32291, 28330, 27298, 3720,
2010        25671, 1509, 36933, 38928, 12296, 4757, 37291, 26132, 51105, 289,
2011        37228, 24062, 32420, 3302, 25233, 50520, 35261, 9569, 6076, 27713,
2012        21943, 27155, 35033, 37428, 8976, 24163, 12530, 25142, 26049, 12306,
2013        9580, 24069, 36194, 24467, 32958, 54861, 54952, 23531, 45712, 22369,
2014        21368, 49325, 291, 26092, 9654, 25286, 27284, 32645, 8706, 32224,
2015        21170, 36981, 36965, 39376, 24189, 9508, 7923, 24140, 2710, 30416,
2016        26705, 20420, 37969, 4160, 53216, 33777, 47161, 35657, 32153, 25014,
2017        26119, 28860, 25424, 36986, 30244, 2334, 9568, 3780, 28378, 1613,
2018        26001, 24478, 9562, 8729, 4114, 28902, 2696, 23542, 38149, 21654,
2019        9495, 31049, 49836, 51600, 34678, 31895, 27489, 30086, 21696, 54844,
2020        49800, 9567, 21682, 30473, 9661, 50688, 27627, 23396, 9561, 21427,
2021        21443, 3601, 21570, 48380, 29943, 29467, 54728, 27475, 36321, 34349,
2022        3779, 27891, 31896, 48736, 31281, 8194, 3237, 1960, 22218, 27882,
2023        24323, 34183, 33538, 40654, 2451, 6075, 27875, 36724, 32928, 30862,
2024        30555, 3853, 36393, 44275, 36235, 33900, 21576, 36771, 2329, 24742,
2025        33108, 22374, 21514, 29595, 25402, 9574, 38684, 28797, 20937, 23476,
2026        38515, 36801, 32433, 26165, 3123, 32472, 28580, 33256, 50613, 39511,
2027        51316, 29038, 24490, 34269, 12308, 1964, 30899, 24796, 24033, 9577,
2028        29239, 36180, 12361, 20818, 25644, 24708, 23507, 23529, 45576, 3517,
2029        775, 12309, 12640, 21741, 26361, 44480, 23731, 22985, 24551, 36291,
2030        29926, 2323, 23576, 8359, 23449, 25720, 8718, 50529, 28611, 20237,
2031        30196, 2475, 6082, 44257, 22922, 2731, 35258, 22982, 23389, 23195,
2032        21857, 9555, 36776, 36328, 25136, 20141, 2754, 37057, 9484, 25670,
2033        34081, 34923, 28781, 32736, 38517, 24815, 8992, 22475, 2437, 24713,
2034        26885, 53080, 1922, 24344, 50980, 30879, 35859, 49844, 30021, 47592,
2035        39048, 35825, 47101, 31570, 6044, 30865, 23574, 36192, 2603, 33714,
2036        33976, 9558, 2962, 36920, 24904, 8993, 51460, 3086, 20387, 2471, 1683,
2037        33075, 9575, 20239, 9566, 22766, 21223, 48393, 36777, 8721, 3503,
2038        34746, 33738, 9651, 23490, 35492, 3243, 26093, 30887, 7905, 4147,
2039        20538, 9825, 25200, 2441, 23305, 7927, 24573, 29157, 26187, 38519,
2040        23888, 22443, 20607, 47016, 26612, 6050, 9570, 29017, 9612, 36132,
2041        36182, 25195, 9616, 9556, 47533, 21202, 267, 37707, 47582, 32954,
2042        24118, 27836, 9579, 21520, 33251, 51901, 27987, 24190, 2567, 30140,
2043        21098, 35480, 2307, 3508, 6026, 26088, 24735, 2593, 9573, 27867, 36655,
2044        38971, 38613, 32918, 54801, 8978, 26020, 1393, 26827, 24185, 29923,
2045        12357, 39336, 31379, 53588, 28422, 37749, 22661, 26012, 1203, 25369,
2046        35351, 39514, 31911, 21305, 731, 3081, 20124, 1672, 22402, 20820,
2047        4335, 26627, 2406, 28856, 24259, 51256, 44537, 20296, 3758, 35488,
2048        8747, 32416, 40643, 30408, 53596, 51061, 38160, 12622, 8233, 8810,
2049        29454, 8710, 32899, 22859, 44068, 23035, 28059, 32257, 51328, 30406,
2050        25830, 22519, 37002, 46112, 22675, 29747, 32202, 39063, 8201, 22857,
2051        32938, 45436, 47673, 34503, 50773, 47800, 25198, 39536, 2487, 25159,
2052        35980, 48268, 29468, 36784, 37111, 20542, 54060, 21966, 53448, 23611,
2053        1386, 24609, 39128, 25366, 2739, 49905, 2568, 39542, 52880, 3778,
2054        9560, 47017, 25475, 12444, 23815, 21908, 3222, 25806, 20096, 729,
2055        33328, 28388, 36774, 34562, 24171, 37628, 31389, 50420, 39023, 25302,
2056        36394, 1415, 22730, 21931, 1411, 28092, 38599, 7859, 33883, 31282,
2057        50920, 32716, 35832, 38686, 24910, 48296, 54253, 38640, 33311, 8214,
2058        6039, 33039, 22378, 47116, 54812, 21083, 49912, 35806, 38560, 31946,
2059        3267, 31957, 9314, 32768, 52268, 54925, 8202, 26842, 24265, 49492,
2060        8561, 46377, 35433, 1413, 20801, 20625, 49910, 8235, 32982, 24357,
2061        36154, 35576, 26799, 30462, 53441, 271, 26438, 24443, 9554, 32822,
2062        25080, 52272, 45453, 6084, 39438, 54045, 35380, 22528, 311, 21767,
2063        36637, 38109, 2743, 22654, 25300, 32437, 34928, 25169, 20047, 35856,
2064        30990, 4725, 38506, 2469, 20973, 50628, 37257, 21544, 40527, 24724,
2065        30742, 24070, 25496, 24330, 32893, 46121, 21566, 25758, 38592, 29151,
2066        25259, 22771, 26247, 36713, 728, 36093, 8712, 6023, 34909, 38901,
2067        36712, 28415, 20208, 22958, 6017, 29611, 3304, 40511, 31232, 37679,
2068        38400, 33289, 1748, 54413, 35426, 31292, 26647, 51025, 4245, 21351,
2069        6030, 20932, 28504, 45944, 52395, 24950, 39015, 47001, 31918, 2534,
2070        53584, 22561, 2407, 23004, 20976, 32602, 26894, 29246, 38152, 25958,
2071        49689, 26447, 37666, 3768, 2408, 33889, 27133, 47676, 45328, 32874,
2072        33167, 31661, 53444, 1777, 31048, 50883, 36493, 38512, 28900, 33633,
2073        1632, 24505, 21861, 23725, 23229, 27738, 22403, 30165, 47111, 12643,
2074        40718, 28846, 38401, 51340, 22334, 3337, 27893, 2605, 25166, 47579,
2075        44040, 37995, 38393, 40372, 39364, 27972, 63731, 24524, 50937, 51697,
2076        37011, 21350, 50837, 21091, 26607, 51137, 32483, 21563, 31452, 28085,
2077        30896, 53433, 3545, 26257, 3773, 22993, 1563, 54984, 27450, 50526,
2078        31609, 33452, 27852, 34174, 25206, 29808, 28687, 23047, 33294, 40483,
2079        20661, 34972, 23528, 32396, 20658, 22842, 33678, 1769, 24942, 28938,
2080        20667, 20523, 49901, 38617, 23777, 28107, 36891, 52265, 23624, 21449,
2081        54504, 50743, 23849, 3524, 23527, 44867, 35851, 29788, 33292, 23072,
2082        21780, 1717, 51596, 35930, 2707, 3924, 24266, 26704, 24840, 20817,
2083        21674, 32541, 25320, 31298, 4127, 28866, 35440, 27233, 3495, 27974,
2084        22043, 49772, 25539, 23159, 33796, 33988, 24288, 24680, 20918, 25312,
2085        23002, 8743, 3647, 24193, 27779, 30290, 32186, 44596, 4170, 4018,
2086        32466, 40831, 20329, 35676, 1959, 27844, 12310, 23660, 23581, 51424,
2087        22534, 35347, 38577, 24358, 40634, 31258, 20806, 24944, 45149, 47540,
2088        3395, 52968, 1633, 22616, 34989, 4223, 32469, 24685, 27185, 28382,
2089        39547, 51104, 12311, 35868, 25562, 26517, 20052, 27589, 12410, 8764,
2090        39366, 52432, 26224, 33831, 63246, 33469, 20736, 3546, 29422, 19985,
2091        3663, 3094, 3763, 37051, 21195, 25040, 24931, 32922, 36924, 29376,
2092        36898, 37559, 38563, 31150, 34253, 32445, 28113, 36628, 26685, 33485,
2093        28843, 36785, 36143, 20399, 21574, 20002, 1929, 24808, 2467, 25799,
2094        6078, 32190, 1395, 38739, 3218, 29401, 21460, 38666, 50516, 8229,
2095        36212, 27965, 30526, 23273, 38568, 25885, 23391, 32490, 28192, 36808,
2096        1612, 33922, 28357, 6018, 20341, 32501, 733, 6032, 32023, 23608, 36831,
2097        4637, 2569, 50984, 23330, 21208, 33805, 9835, 20175, 26742, 45336,
2098        52860, 3484, 51453, 23884, 9792, 9794, 31351, 39759, 22435, 24676,
2099        40169, 31992, 1923, 3666, 45769, 28024, 24432, 27465, 25220, 1707,
2100        25802, 33178, 30044, 970, 22915, 24917, 44404, 45815, 44984, 47029,
2101        20011, 27511, 36139, 4653, 36156, 24429, 28142, 3664, 45440, 30168,
2102        26689, 34109, 52769, 25764, 38499, 54756, 36629, 34945, 40180, 22570,
2103        35997, 29425, 2695, 33274, 29301, 29421, 33446, 53011, 48716, 34092,
2104        33683, 38307, 34030, 38654, 9674, 28057, 22079, 26801, 44049, 21897,
2105        30861, 24339, 45909, 39292, 29081, 38570, 26097, 29417, 22467, 9426,
2106        25448, 21890, 53360, 46319, 21346, 34900, 28393, 50725, 40560, 28331,
2107        29518, 25342, 3740, 53560, 50772, 50521, 24367, 20767, 1685, 34430,
2108        21340, 36424, 52789, 35698, 36744, 20941, 26197, 38035, 6025, 39164,
2109        2999, 8727, 29237, 25996, 36893, 54400, 21385, 32156, 23067, 63728,
2110        32294, 54260, 32368, 24801, 32434, 33993, 20911, 44417, 20285, 36362,
2111        34277, 8719, 32705, 36649, 2536, 4661, 22882, 29756, 21525, 24616,
2112        27472, 21155, 37255, 24677, 28516, 34924, 48388, 54016, 2535, 29228,
2113        45458, 28548, 25273, 36974, 29539, 39554, 37941, 30827, 51704, 55141,
2114        35947, 20597, 20534, 25135, 3536, 27585, 22739, 4098, 33931, 45180,
2115        25377, 39062, 24085, 20923, 37782, 21280, 34384, 20613, 25243, 52392};
2116     System.arraycopy(temp, 0, chars, 0, temp.length);
2117   }
2118   private static void populateChars2() {
2119     int[] temp = new int[] {
2120        49472, 54732, 38391, 51669, 49556, 20266, 46024, 32617, 21898, 36930,
2121        36600, 25746, 24858, 38620, 36015, 9668, 33550, 23518, 26528, 36562,
2122        50685, 30871, 24311, 32789, 55192, 4148, 4840, 45772, 2652, 47168,
2123        25407, 1926, 50780, 49380, 4621, 35880, 35582, 36066, 21246, 54392,
2124        31844, 1690, 3109, 4224, 29408, 9315, 22916, 47215, 54536, 20670,
2125        3365, 22287, 23014, 32592, 30789, 64257, 27922, 22888, 37528, 37066,
2126        30079, 32191, 4632, 25818, 30033, 29738, 38728, 46989, 24034, 53952,
2127        1784, 63743, 36203, 2974, 27703, 47456, 29544, 23617, 30095, 46301,
2128        25197, 26820, 54036, 33144, 24764, 25242, 1928, 26280, 27675, 1660,
2129        50536, 26539, 730, 28639, 33541, 4768, 34311, 19993, 28316, 37912,
2130        36172, 50648, 37237, 3001, 1211, 27688, 25776, 30683, 50024, 28448,
2131        45392, 32518, 4813, 2959, 21497, 45803, 22904, 46244, 34886, 32564,
2132        34809, 27506, 27754, 3276, 52236, 4704, 50684, 3350, 33970, 28525,
2133        8260, 26352, 28381, 1414, 20995, 53084, 24841, 23947, 48712, 53948,
2134        26114, 53461, 26898, 2599, 33382, 48317, 3346, 50040, 35803, 29281,
2135        54841, 8800, 39540, 1634, 25042, 21472, 27631, 25856, 29282, 29226,
2136        1665, 21187, 3303, 21163, 21796, 20786, 25304, 3232, 25745, 8243,
2137        20513, 12542, 28180, 25582, 4616, 21703, 28322, 32465, 50952, 9758,
2138        21400, 38125, 32930, 50997, 349, 2697, 4333, 54785, 34560, 38797,
2139        46307, 24343, 20390, 36171, 54589, 50517, 39578, 12291, 38397, 4773,
2140        32085, 38742, 20984, 1934, 36002, 29004, 37238, 26420, 52896, 30591,
2141        1673, 3746, 40493, 24055, 36910, 33218, 24825, 36161, 39588, 6034,
2142        52972, 21371, 24088, 26543, 38290, 24043, 19995, 20054, 38062, 37670,
2143        21034, 47589, 50532, 29369, 48279, 49832, 21681, 44512, 33030, 30067,
2144        33433, 38669, 21273, 25384, 20111, 36158, 33821, 20467, 51608, 22894,
2145        6048, 23194, 32330, 21535, 9827, 21693, 38136, 29492, 26179, 34676,
2146        21676, 39442, 29642, 26039, 24688, 6087, 28655, 8234, 25260, 4845,
2147        48744, 37198, 45264, 27832, 26127, 49244, 31056, 28500, 4119, 38464,
2148        37129, 2373, 31067, 45459, 21078, 28189, 39729, 30137, 20305, 54047,
2149        21683, 12295, 30450, 3734, 33235, 51069, 36007, 47605, 8756, 26635,
2150        28044, 22372, 31579, 38041, 51276, 28169, 63729, 3539, 47788, 63730,
2151        33351, 25836, 23403, 32670, 25417, 2717, 49397, 52237, 8739, 21123,
2152        23828, 24217, 21388, 32960, 32737, 29128, 46496, 47160, 24789, 32011,
2153        40863, 35961, 25010, 49512, 3510, 25380, 26151, 20240, 27733, 32160,
2154        24604, 20167, 20605, 24700, 20677, 32114, 265, 29508, 27819, 3937,
2155        47353, 33624, 39282, 24161, 33152, 48400, 32568, 3986, 34542, 46523,
2156        24417, 49604, 26643, 21688, 3461, 20365, 28514, 36874, 4709, 21523,
2157        31966, 48731, 38420, 3669, 1776, 45285, 3139, 37122, 21129, 29229,
2158        7861, 27498, 2791, 24868, 28147, 25447, 37549, 23071, 39041, 36752,
2159        20136, 45789, 36795, 53416, 38886, 30643, 44260, 54057, 30399, 22963,
2160        35850, 3208, 2575, 33909, 33980, 38203, 3215, 33192, 38665, 22949,
2161        37806, 20553, 4149, 22353, 45797, 36138, 285, 33540, 26729, 39281,
2162        20282, 30697, 35186, 25153, 50865, 20711, 24501, 28417, 36059, 22533,
2163        3087, 54792, 32923, 31515, 21049, 38614, 3930, 50656, 33181, 33519,
2164        21093, 8560, 46500, 25088, 21912, 36887, 4133, 28911, 1779, 3905,
2165        25292, 3080, 33086, 37233, 25788, 22942, 32499, 21481, 30385, 1758,
2166        25335, 33290, 36735, 1932, 47952, 6096, 12615, 2314, 35987, 8362,
2167        25793, 36011, 52825, 24833, 47113, 29312, 24962, 31096, 20698, 22602,
2168        54224, 31109, 28792, 35207, 27695, 33426, 45000, 31520, 21855, 22132,
2169        40548, 33606, 37204, 44844, 36758, 22816, 33034, 22285, 27224, 31528,
2170        4720, 48157, 27054, 53581, 46096, 22890, 51320, 31291, 22941, 39378,
2171        22952, 52492, 35475, 32566, 53328, 35598, 3904, 26954, 26217, 21248,
2172        28921, 32752, 29006, 30897, 51092, 25998, 39567, 22774, 25970, 22040,
2173        4232, 30460, 64258, 23541, 23477, 28810, 2960, 27225, 33995, 35776,
2174        21555, 44845, 31909, 36923, 22586, 33032, 48164, 8467, 45397, 32709,
2175        4752, 30776, 32380, 9664, 31712, 21705, 20028, 1635, 24908, 10146,
2176        30770, 4125, 23451, 1931, 3934, 23020, 30967, 22368, 3782, 33018,
2177        27249, 24307, 3224, 50641, 33139, 44648, 21410, 3804, 28907, 35772,
2178        3662, 8711, 53556, 47680, 4843, 32233, 36330, 1920, 3910, 28879, 35920,
2179        3148, 25096, 24807, 40607, 21038, 22122, 35998, 12641, 37772, 36530,
2180        1778, 53748, 38695, 27815, 3667, 54848, 52632, 40441, 49789, 28183,
2181        39173, 28291, 30162, 33721, 35408, 21895, 20022, 40517, 40335, 2412,
2182        45433, 32331, 22581, 28212, 20857, 26976, 21534, 22075, 28317, 38553,
2183        40667, 25674, 30959, 34442, 22564, 37045, 46076, 27778, 33098, 25309,
2184        38053, 31363, 4755, 21999, 4103, 35784, 33905, 45347, 2712, 12445,
2185        36031, 32363, 53456, 31209, 2790, 47551, 47805, 25797, 54784, 53224,
2186        34028, 36016, 24428, 3548, 35885, 33131, 33392, 20137, 28976, 20457,
2187        1961, 54268, 20007, 38748, 46392, 4336, 20985, 32961, 39165, 44054,
2188        23466, 47148, 36720, 2498, 54172, 1936, 26531, 9316, 6077, 20828,
2189        26775, 47704, 33419, 33453, 48064, 6080, 38476, 33334, 37231, 38208,
2190        25513, 12446, 33733, 45927, 8562, 22839, 40509, 3772, 47751, 30703,
2191        27387, 32027, 22317, 38639, 22365, 22247, 52832, 31302, 24245, 28170,
2192        21321, 33031, 29814, 34593, 34468, 1686, 25172, 32610, 36386, 21860,
2193        2464, 37259, 20521, 28577, 51396, 21710, 53020, 38025, 20725, 21329,
2194        54001, 9672, 48165, 20754, 365, 49104, 38156, 51677, 54645, 27760,
2195        30733, 25334, 2963, 36877, 21467, 1641, 52845, 38343, 24392, 29298,
2196        32544, 47217, 29138, 38593, 3347, 34299, 2409, 4161, 8857, 33564,
2197        37041, 37509, 38383, 10084, 23219, 39662, 30174, 40232, 24035, 36126,
2198        1637, 44050, 22291, 39449, 50741, 3343, 36538, 33769, 40179, 22082,
2199        31548, 30185, 26847, 9763, 28460, 37320, 20392, 39556, 24222, 22925,
2200        26623, 30522, 31237, 20901, 24248, 30922, 25436, 38085, 47204, 24717,
2201        23609, 2411, 21375, 38057, 23016, 46888, 24218, 30433, 25615, 23515,
2202        25379, 8629, 49704, 35878, 33216, 35463, 12599, 28251, 36852, 45225,
2203        44340, 25022, 20098, 50473, 21843, 53372, 2584, 54648, 46168, 25684,
2204        29791, 28641, 9702, 29705, 25114, 2415, 25238, 32177, 20062, 25079,
2205        1933, 30126, 2720, 36195, 34203, 1669, 33579, 12443, 33735, 21650,
2206        3747, 48197, 30928, 23472, 30294, 31805, 63736, 32110, 1681, 54764,
2207        31967, 23663, 34432, 2878, 21754, 3352, 25594, 36042, 25993, 26000,
2208        47352, 29993, 47021, 22196, 46504, 33795, 39894, 21465, 8806, 1640,
2209        25545, 4319, 23648, 29563, 23534, 48729, 31929, 28493, 29503, 38587,
2210        37489, 37340, 8210, 34583, 49452, 28103, 37474, 20632, 4848, 50885,
2211        1373, 39047, 2636, 35738, 22777, 28799, 30849, 22887, 34217, 21679,
2212        33203, 20254, 21557, 21295, 33147, 22092, 52524, 3653, 51593, 33184,
2213        38902, 25812, 27146, 50631, 53457, 4162, 1636, 32624, 31623, 1706,
2214        47691, 48709, 4635, 28100, 912, 31165, 25387, 36556, 45228, 48537,
2215        33225, 31364, 8807, 59115, 26028, 52981, 31883, 39635, 29242, 1741,
2216        27682, 26646, 32283, 31469, 27792, 27572, 1930, 37664, 53097, 22756,
2217        34893, 22217, 32016, 25423, 51232, 25001, 24278, 32829, 12636, 33593,
2218        26283, 34957, 20872, 38392, 37218, 47280, 21643, 22840, 55120, 47085,
2219        21397, 21254, 45929, 59017, 1639, 45240, 2607, 22549, 49453, 21947,
2220        24799, 6085, 24359, 2597, 22846, 50633, 24999, 25654, 54008, 40486,
2221        39686, 9080, 31293, 6037, 35140, 4853, 25199, 4877, 48150, 37048,
2222        32903, 26771, 21214, 48757, 54635, 30813, 36452, 20431, 31487, 23596,
2223        2543, 3766, 30571, 2321, 25405, 30008, 25605, 35695, 21000, 25161,
2224        32462, 40665, 2755, 28195, 1638, 45209, 32597, 39192, 28528, 51667,
2225        55064, 4619, 4872, 26586, 6083, 26829, 37230, 21149, 32896, 53092,
2226        10003, 20945, 48121, 27331, 52377, 29432, 2410, 48420, 46907, 37507,
2227        314, 1924, 3668, 37467, 40629, 34521, 36804, 53916, 3227, 45828, 32051,
2228        8834, 1043333, 28572, 35845, 4186, 24041, 38662, 981, 22434, 27575,
2229        47576, 52644, 22484, 39171, 32299, 37676, 23633, 49500, 4776, 38275,
2230        33102, 29863, 26021, 34523, 29734, 25778, 4175, 45230, 51081, 21485,
2231        22869, 44161, 23830, 24427, 34223, 30036, 4134, 20979, 38622, 3984,
2232        37323, 36926, 46832, 38931, 8209, 2952, 29640, 27899, 4733, 3415,
2233        33899, 3305, 31204, 6089, 34509, 20322, 48127, 30050, 49368, 26837,
2234        40680, 39472, 3805, 28073, 1305, 32227, 25325, 32827, 27679, 39295,
2235        38991, 44732, 33436, 3216, 34935, 54592, 27985, 22576, 35065, 35948,
2236        3920, 27085, 30338, 1417, 44052, 52489, 38048, 24426, 44628, 54144,
2237        22750, 28790, 20864, 26869, 23604, 2537, 51229, 37165, 23094, 39072,
2238        51468, 3925, 21769, 3499, 28888, 34433, 23493, 25666, 29076, 24809,
2239        27900, 39286, 2539, 54017, 25472, 1468, 26310, 49341, 28136, 39129,
2240        34196, 20621, 34315, 40637, 28487, 38054, 35854, 35449, 23561, 35875,
2241        37039, 36106, 20314, 39551, 12533, 33948, 30447, 32673, 31391, 12386,
2242        4723, 37723, 38829, 26365, 4019, 30535, 27131, 3219, 51079, 1921,
2243        20177, 26198, 20323, 27694, 45257, 9824, 341, 38567, 36051, 54156,
2244        25296, 12482, 359, 40594, 2499, 35617, 21564, 32781, 26803, 63250,
2245        4648, 51236, 33806, 26025, 36084, 8600, 31177, 34395, 36225, 4651,
2246        34074, 53668, 46405, 23113, 21756, 23532, 52252, 50432, 23234, 2864,
2247        4656, 29279, 37247, 26122, 29477, 27463, 35853, 9487, 32180, 36176,
2248        31108, 49399, 21486, 51564, 27766, 33008, 23835, 30631, 20900, 49334,
2249        46272, 31166, 22604, 20522, 40613, 21290, 8901, 49240, 20955, 37284,
2250        37049, 27197, 25995, 26388, 34067, 45196, 49933, 26632, 51664, 32058,
2251        21059, 33465, 2760, 27667, 21927, 26805, 26530, 47931, 30164, 37026,
2252        27308, 20360, 27495, 31373, 28954, 20446, 55121, 38982, 2457, 12963,
2253        4808, 29241, 21647, 34121, 35088, 3090, 30358, 37112, 47213, 20977,
2254        22030, 65104, 52983, 33492, 4707, 24936, 21633, 2538, 39423, 31783,
2255        20050, 33841, 2794, 44272, 21914, 24051, 28389, 21764, 26278, 33545,
2256        28905, 26454, 2413, 53420, 31072, 2795, 29802, 36276, 26943, 33833,
2257        28068, 32902, 32239, 35558, 29033, 37009, 33029, 8741, 36767, 30889,
2258        26329, 49100, 38389, 45448, 4781, 21936, 12430, 1207, 29509, 3458,
2259        27838, 37085, 45924, 30270, 44852, 33296, 27512, 38582, 36137, 61984,
2260        21980, 50619, 52856, 21577, 38533, 45132, 54804, 22013, 22931, 33729,
2261        1042487, 24420, 22047, 29840, 1185, 22781, 34249, 38055, 39076, 2462,
2262        32428, 12849, 34802, 38604, 2433, 35320, 2837, 32333, 39745, 36145,
2263        3935, 9742, 10047, 34584, 52393, 26311, 3490, 32362, 27726, 26797,
2264        2792, 30116, 21133, 47708, 9499, 24208, 29632, 34453, 39348, 26708,
2265        31545, 1785, 29100, 33674, 3307, 21281, 33589, 4613, 38678, 35223,
2266        21930, 29022, 9317, 45128, 31735, 28467, 33639, 25386, 3096, 39037,
2267        23622, 12596, 40655, 48180, 30031, 2414, 24282, 37832, 30917, 25749,
2268        38043, 2893, 29995, 40778, 22986, 36481, 27741, 22645, 33046, 25318,
2269        30355, 3497, 33631, 4238, 29560, 55137, 47329, 22496, 8744, 3336,
2270        28844, 45516, 2320, 37686, 33067, 30494, 49483, 55124, 39717, 26963,
2271        28689, 51247, 51480, 31397, 36168, 29781, 28657, 28891, 3999, 47092,
2272        34164, 6073, 1463, 52270, 2589, 1464, 21880, 3913, 34722, 2579, 39791,
2273        45140, 53665, 8746, 38619, 23784, 25597, 35584, 27728, 23521, 37221,
2274        33659, 1374, 46980, 45256, 27060, 21505, 29956, 2542, 30702, 28760,
2275        21237, 1524, 20238, 2796, 539, 23706, 36064, 2691, 38180, 27896, 24661,
2276        2510, 21673, 20506, 38997, 31353, 25327, 25438, 3473, 25375, 22350,
2277        22862, 40660, 19998, 26592, 31446, 1251, 36711, 23803, 28796, 1177,
2278        35586, 25487, 36953, 44316, 37304, 30192, 31377, 3909, 35122, 53681,
2279        8660, 39748, 21727, 35090, 34638, 21515, 27264, 45349, 4234, 10065,
2280        25874, 27526, 30699, 21610, 2353, 48764, 20008, 47609, 8758, 27012,
2281        20183, 33307, 50670, 22234, 28179, 24871, 38146, 9491, 9699, 54004,
2282        21585, 1781, 45210, 36983, 38930, 36159, 9698, 37145, 48141, 31398,
2283        35028, 31491, 40077, 9644, 1460, 27712, 21380, 29071, 4240, 28949,
2284        31161, 20051, 20871, 8757, 38449, 1966, 33620, 27975, 33398, 9480,
2285        31581, 39056, 46497, 36420, 4111, 40801, 3306, 21250, 3671, 35359,
2286        30860, 31407, 29306, 44636, 45124, 29792, 38583, 22366, 35609, 9582,
2287        32495, 24794, 21742, 25329, 19984, 36101, 28507, 47337, 35829, 2954,
2288        3670, 31319, 20166, 46385, 34224, 3642, 3525, 22880, 1043296, 34281,
2289        30072, 31459, 29787, 3672, 29053, 21589, 9788, 8786, 46120, 28629,
2290        27014, 34398, 59009, 33125, 32728, 31337, 46181, 331, 47896, 27204,
2291        39180, 51021, 22151, 36245, 33329, 20846, 31869, 21137, 40251, 26999,
2292        9483, 38175, 1041703, 29042, 50584, 2540, 25765, 26023, 26848, 30520,
2293        20336, 1782, 1780, 48145, 27803, 31229, 3452, 38416, 54204, 28210,
2294        55184, 32478, 47019, 28372, 31095, 50424, 34126, 31601, 30219, 2887,
2295        36838, 24758, 30529, 9786, 30505, 23241, 3521, 27777, 26791, 6090,
2296        21815, 29380, 25844, 59114, 21888, 32986, 23081, 6088, 24290, 31964,
2297        33368, 37336, 40858, 28472, 38753, 23649, 48316, 20518, 45916, 31378,
2298        27813, 35070, 48960, 31402, 36090, 28263, 38887, 38501, 23994, 48533,
2299        1456, 28919, 24101, 51536, 4677, 37275, 36468, 22066, 21653, 9547,
2300        25950, 22769, 2879, 23682, 30221, 20398, 39042, 44618, 32438, 31903,
2301        55036, 33099, 30113, 32512, 37210, 47131, 34219, 27953, 38262, 31162,
2302        12828, 26928, 29831, 22107, 33286, 24608, 3308, 37413, 28466, 34850,
2303        9700, 45940, 28065, 2405, 9477, 15142, 9836, 309, 37232, 50476, 45324,
2304        2587, 2541, 21700, 31914, 38446, 30606, 57348, 22404, 28552, 1523,
2305        25504, 21185, 36466, 50812, 3344, 20463, 2456, 45776, 35766, 3088,
2306        4779, 40595, 38082, 22687, 12485, 36077, 31925, 37756, 29712, 61472,
2307        28346, 3673, 22593, 6092, 34157, 26274, 30596, 59131, 40568, 31840,
2308        537, 55180, 3309, 48261, 39381, 33276, 25414, 4115, 23045, 23044,
2309        30691, 38209, 25032, 36249, 26279, 29211, 53300, 35424, 30651, 25170,
2310        29786, 38660, 35363, 37226, 38907, 2592, 29590, 52884, 32865, 1700,
2311        36198, 1965, 20355, 9318, 47156, 31143, 28149, 46609, 34434, 4941,
2312        38230, 33559, 39274, 27579, 38046, 32070, 31296, 47157, 34633, 46164,
2313        28478, 3234, 4196, 28003, 4771, 33009, 3091, 3858, 32920, 21325, 29746,
2314        25771, 26464, 22114, 29254, 24103, 3549, 4225, 23591, 21736, 54760,
2315        30590, 4226, 4829, 21899, 3454, 32504, 38078, 21737, 21992, 12609,
2316        6112, 25441, 1042486, 28558, 31339, 30637, 3106, 38191, 35059, 8563,
2317        36783, 2764, 1940, 27837, 47716, 32680, 28122, 22124, 35269, 45580,
2318        28851, 39881, 34107, 30585, 9581, 3504, 1783, 33592, 2856, 23087,
2319        52897, 33445, 24977, 29614, 22065, 30129, 3587, 28373, 53489, 8736,
2320        5222, 36958, 21104, 33530, 21128, 3940, 4672, 21596, 23077, 30251,
2321        25234, 20045, 3919, 46263, 50694, 21713, 4634, 32735, 30710, 38713,
2322        46629, 30634, 26629, 39539, 35535, 35167, 2570, 6024, 63735, 47693,
2323        28822, 23776, 25622, 48656, 24974, 45229, 20904, 38289, 22383, 8735,
2324        36255, 12553, 21941, 47925, 21235, 3404, 48391, 32831, 23421, 21987,
2325        4004, 37613, 46992, 32907, 26289, 39822, 38605, 24162, 38067, 45734,
2326        29634, 26342, 25074, 65103, 32548, 28435, 24013, 59066, 36988, 31811,
2327        29750, 20887, 33760, 39558, 30307, 36527, 33670, 28953, 29730, 24465,
2328        32517, 8232, 12613, 59100, 44285, 31672, 26577, 22367, 29733, 58566,
2329        38013, 26313, 4901, 20332, 21584, 24867, 30566, 24730, 23679, 26429,
2330        21932, 30802, 59162, 59130, 23344, 28414, 1939, 21359, 3596, 54196,
2331        45588, 26207, 33802, 50967, 3675, 9701, 51222, 38221, 2860, 5509,
2332        6022, 4221, 33643, 44176, 33285, 39045, 38181, 8759, 40104, 9787,
2333        6093, 9655, 28937, 27167, 31499, 49899, 47956, 24246, 55128, 47212,
2334        24803, 38539, 2793, 20502, 25619, 48044, 22057, 59120, 31637, 12529,
2335        3589, 4158, 30414, 45252, 23267, 26133, 9584, 33012, 2946, 27986,
2336        24853, 47120, 3310, 6103, 31716, 1041647, 53132, 9685, 9602, 4851,
2337        35060, 48848, 35607, 32838, 40158, 27048, 49916, 27788, 48389, 38379,
2338        50912, 24315, 45937, 31636, 31809, 32509, 28670, 1808, 38746, 1041734,
2339        38588, 32251, 12294, 53272, 32834, 37108, 29749, 32532, 50136, 37321,
2340        24328, 34656, 32121, 44220, 30115, 21891, 28925, 30300, 50715, 51684,
2341        3872, 36757, 57344, 31961, 65109, 53188, 32474, 46027, 29649, 37351,
2342        4659, 44145, 25703, 35809, 34321, 32453, 38394, 21822, 27029, 35674,
2343        44988, 3230, 39899, 28698, 20448, 2872, 312, 24005, 31406, 20873,
2344        29522, 39269, 35566, 30741, 20130, 34444, 21766, 51260, 38968, 35513,
2345        7952, 28181, 2852, 51082, 21777, 29309, 27814, 27544, 28186, 20308,
2346        32948, 25305, 51117, 31047, 31040, 36286, 49920, 38471, 30544, 2504,
2347        30207, 53812, 25578, 32406, 49632, 34122, 22418, 8054, 4163, 33308,
2348        1043286, 39548, 50745, 25203, 26840, 28359, 44992, 24976, 8835, 7936,
2349        44788, 45244, 38475, 28218, 26462, 53413, 12593, 47585, 40132, 23394,
2350        51687, 24646, 33300, 35565, 21348, 4623, 36764, 2576, 40434, 25850,
2351        23630, 24319, 30732, 4609, 33043, 4936, 29060, 59161, 25098, 45787,
2352        36142, 39493, 8228, 22930, 23724, 1013, 26241, 21242, 44415, 4811,
2353        49847, 9319, 21632, 23013, 34649, 58979, 21076, 31041, 22697, 24623,
2354        900, 30428, 31401, 38414, 34662, 47736, 49455, 52040, 29234, 2880,
2355        3453, 52452, 8481, 26214, 30094, 25947, 39608, 13213, 30977, 22204,
2356        1937, 46524, 8599, 24409, 48140, 36454, 38536, 20814, 50505, 28153,
2357        59091, 25443, 22179, 39290, 27516, 28865, 2551, 26355, 23386, 52196,
2358        53808, 32494, 27088, 4896, 38064, 9756, 2862, 35641, 24275, 49744,
2359        36144, 37758, 25031, 9320, 33302, 29822, 27243, 38225, 29481, 4169,
2360        23913, 57474, 32687, 33275, 22022, 23388, 35715, 30610, 3743, 50560,
2361        59098, 30315, 1925, 21957, 25524, 31264, 46364, 44263, 36264, 24287,
2362        24653, 38255, 31311, 28234, 45331, 46161, 9737, 22039, 25884, 26786,
2363        6027, 26874, 20133, 35438, 37196, 34875, 3311, 32203, 25287, 31001,
2364        20939, 35773, 32608, 54736, 21519, 770, 36174, 28609, 2873, 9635,
2365        9122, 32033, 462, 4250, 8361, 25458, 3463, 39912, 2722, 48596, 35876,
2366        32957, 52740, 22778, 36943, 27774, 29471, 32880, 2947, 4168, 971,
2367        20432, 29557, 22438, 30420, 21971, 51094, 28037, 34914, 52656, 3522,
2368        4824, 25722, 4962, 10070, 20885, 51086, 4617, 47105, 32629, 4650,
2369        59011, 31607, 24458, 22764, 45805, 27194, 9605, 40140, 29277, 8765,
2370        61623, 30439, 51210, 33499, 21474, 51075, 23697, 24439, 3465, 24347,
2371        38816, 23495, 36060, 51788, 49714, 3793, 46944, 39533, 36676, 27945,
2372        32349, 45544, 27603, 35837, 35808, 49356, 31983, 36845, 32371, 25854,
2373        27099, 24472, 28335, 28205, 26191, 3929, 44624, 1724, 52888, 34103,
2374        38774, 27584, 26880, 4165, 26806, 30519, 6113, 27696, 2797, 28196,
2375        33040, 50928, 30872, 29200, 24264, 28654, 36111, 29785, 32098, 12601,
2376        32359, 27513, 22666, 38491, 21256, 25370, 31496, 8200, 9479, 29494,
2377        50740, 32314, 36726, 20278, 47497, 37292, 25410, 22953, 39620, 30133,
2378        36244, 31893, 39052, 23413, 25314, 54049, 38124, 38115, 37586, 27978,
2379        50549, 54663, 1942, 38308, 49707, 33527, 40860, 44216, 5123, 29764,
2380        36010, 3542, 38675, 21480, 31014, 63724, 27580, 22103, 30970, 28154,
2381        3931, 32533, 20451, 37706, 36703, 20406, 45377, 6028, 50519, 40100,
2382        25735, 25794, 30068, 36140, 28051, 477, 1043254, 31482, 28828, 4875,
2383        39050, 32745, 45130, 8855, 26604, 28825, 27147, 36781, 31568, 9504,
2384        21671, 36869, 30504, 39347, 1042479, 24691, 30178, 50734, 35178, 22684,
2385        26865, 55193, 22852, 30208, 21719, 65102, 33515, 23308, 37276, 9585,
2386        6114, 61607, 63732, 2799, 21866, 25602, 28889, 31975, 47344, 22446,
2387        25341, 36049, 24336, 47449, 24971, 33333, 40573, 29701, 35114, 32824,
2388        36994, 50028, 47452, 33688, 22108, 22275, 38643, 25601, 32010, 25358,
2389        39031, 23786, 32538, 38342, 52308, 27527, 4614, 31098, 54660, 38607,
2390        1042482, 50545, 33162, 36995, 21702, 26103, 20440, 21489, 33134, 61550,
2391        3488, 21627, 20031, 22974, 23092, 1041718, 37193, 33463, 29020, 33400,
2392        4173, 8056, 53888, 36929, 24396, 38192, 21874, 609, 26974, 46036,
2393        33706, 769, 4722, 25139, 26485, 23629, 3873, 4167, 53672, 2858, 26726,
2394        33743, 37168, 48977, 29696, 46316, 59106, 4164, 59116, 28780, 27103,
2395        51469, 39607, 26505, 24832, 4763, 8238, 33213, 5251, 25134, 6049,
2396        44081, 36635, 22956, 26866, 22732, 39719, 39314, 24709, 30415, 54943,
2397        3451, 27902, 57347, 45785, 50544, 35905, 23125, 30511, 34003, 32521,
2398        3462, 30361, 26406, 23673, 4001, 34532, 54729, 35435, 20461, 1042478,
2399        48976, 53680, 45143, 3360, 24684, 28053, 35709, 44188, 4961, 24092,
2400        25942, 63348, 23791, 21652, 32843, 38130, 25376, 21827, 8223, 21571,
2401        39285, 34241, 47569, 4726, 32399, 34581, 36070, 8869, 25282, 31310,
2402        21283, 38635, 4209, 9607, 28904, 2798, 27863, 28437, 30403, 2508,
2403        25078, 38808, 33187, 20642, 39301, 37389, 53304, 28465, 8166, 26099,
2404        8853, 25892, 12432, 48184, 2818, 3874, 39387, 35516, 26552, 39464,
2405        1465, 2594, 33491, 2866, 6055, 31388, 34837, 39654, 29344, 36746,
2406        37799, 36447, 59016, 54176, 25810, 26326, 8596, 34690, 57361, 23167,
2407        27762, 32806, 25769, 36978, 1263, 27278, 39612, 5125, 65105, 32697,
2408        44413, 6100, 39059, 55136, 33828, 29835, 6079, 34631, 49480, 45806,
2409        39243, 8239, 35763, 27609, 27859, 22821, 52244, 61548, 24816, 54169,
2410        39108, 28586, 21234, 2761, 21949, 29864, 29001, 35970, 4009, 26161,
2411        46748, 46763, 491, 37619, 37159, 28173, 4850, 23100, 34261, 44191,
2412        39156, 8564, 29096, 821, 20731, 39187, 49709, 1963, 12610, 40779,
2413        52841, 5314, 22767, 33105, 21816, 32666, 59111, 26707, 39621, 33304,
2414        55152, 40786, 40687, 3507, 4197, 13212, 30202, 38990, 5198, 3741,
2415        59109, 22121, 25530, 37675, 59101, 39853, 32485, 12570, 26751, 1941,
2416        44151, 32554, 25467, 3467, 48521, 1042480, 24407, 20369, 30187, 21032,
2417        28711, 31330, 28751, 38788, 1967, 37274, 44180, 9321, 23536, 31820,
2418        40201, 4770, 9523, 5130, 20760, 30757, 39848, 32526, 46360, 21421,
2419        29158, 715, 24199, 45573, 21978, 29824, 25000, 26238, 4826, 20993,
2420        40557, 23254, 1821, 4251, 28699, 31167, 3220, 27022, 62047, 40120,
2421        20490, 57477, 4622, 30179, 22831, 4728, 49481, 8750, 32187, 34065,
2422        6074, 46416, 63685, 47577, 1648, 53472, 21658, 33247, 24119, 4925,
2423        38056, 34153, 46317, 46749, 1175, 4629, 28132, 47960, 44292, 28198,
2424        28340, 39562, 21413, 38179, 25662, 4023, 22999, 4814, 37195, 25294,
2425        33011, 32999, 24958, 21441, 24811, 29796, 38197, 28861, 25102, 21536,
2426        34093, 31267, 23480, 31382, 22016, 1043331, 54800, 50564, 12583, 28416,
2427        28293, 59125, 21617, 63248, 31686, 33725, 47020, 12575, 32341, 33253,
2428        1043212, 699, 24398, 53301, 34137, 32386, 59037, 25087, 36993, 20319,
2429        2891, 7925, 33503, 30201, 1042485, 24571, 4721, 32671, 31252, 21884,
2430        33722, 9837, 52041, 4654, 34691, 32996, 39519, 26578, 23162, 36461,
2431        34811, 466, 47495, 31933, 38170, 24361, 28479, 27018, 30633, 4193,
2432        40442, 9688, 9603, 32503, 21648, 22707, 26570, 20689, 32639, 26541,
2433        36184, 26946, 8048, 35126, 34115, 29626, 3099, 32305, 29801, 37638,
2434        31117, 34071, 3020, 39559, 55016, 25225, 12616, 47104, 61656, 3476,
2435        29184, 36799, 38112, 22021, 25179, 44273, 48173, 20458, 36524, 63234,
2436        57360, 35781, 27292, 48727, 37569, 23522, 4899, 13115, 27607, 47688,
2437        54988, 31513, 37610, 1462, 40367, 37445, 32350, 3338, 31998, 658,
2438        38956, 10006, 52412, 25527, 31713, 9839, 34152, 49296, 23525, 48282,
2439        10048, 34310, 33479, 28156, 818, 45356, 3911, 1816, 22829, 23625,
2440        40633, 32718, 35032, 35538, 24130, 20504, 28644, 25100, 4675, 25248,
2441        55113, 40485, 59020, 31171, 4772, 33454, 31751, 28160, 6063, 2854,
2442        31368, 33580, 26925, 9606, 49939, 32458, 38045, 21553, 4819, 33418,
2443        23143, 36671, 44403, 9501, 20291, 47340, 54029, 25600, 35692, 2863,
2444        8255, 21591, 50969, 5335, 9583, 54184, 33005, 30105, 38497, 28640,
2445        44861, 25319, 29440, 23729, 40284, 4810, 4166, 13095, 30328, 3944,
2446        59113, 8016, 30048, 20970, 12317, 23769, 773, 33502, 24421, 2466,
2447        801, 24760, 50956, 53040, 31627, 27769, 30347, 21526, 48192, 33240,
2448        20120, 54077, 30239, 31174, 34619, 24920, 53428, 59184, 40515, 40023,
2449        3794, 44051, 26112, 20812, 3584, 34558, 24413, 47945, 4821, 26654,
2450        39568, 36294, 30938, 8182, 54044, 27035, 37213, 9643, 24996, 54996,
2451        32519, 23853, 19999, 23700, 38417, 54548, 28297, 35109, 9117, 45068,
2452        44202, 31118, 3797, 21878, 28108, 25488, 27179, 32633, 9476, 44217,
2453        2881, 24822, 26389, 46916, 1719, 55072, 36620, 9438, 38189, 30640,
2454        34645, 4189, 9744, 47926, 28353, 28071, 9728, 25413, 39130, 4706,
2455        28867, 39661, 38893, 1042481, 34986, 36956, 34083, 31629, 20991, 25744,
2456        33100, 30249, 9481, 27742, 40522, 29409, 1470, 22329, 25371, 8601,
2457        39479, 26348, 20060, 52313, 23046, 20916, 31968, 31224, 1723, 36162,
2458        30629, 20433, 53244, 29771, 20273, 33586, 20348, 20478, 32641, 1281,
2459        22134, 3622, 33137, 59087, 20312, 9120, 35427, 32690, 63738, 38126,
2460        33936, 1040426, 65117, 28063, 50784, 28626, 34396, 39535, 4649, 21638,
2461        63727, 27964, 36381, 4638, 51500, 37530, 29605, 30153, 30233, 30910,
2462        22241, 47364, 3511, 31659, 54945, 46388, 59054, 33399, 32496, 21426,
2463        23445, 30717, 45188, 22199, 1041584, 59107, 28174, 36299, 23461, 1826,
2464        9515, 45934, 27595, 4846, 3788, 30090, 28102, 38671, 30746, 47493,
2465        40499, 34367, 4194, 44555, 1041705, 10063, 20356, 23996, 25571, 63723,
2466        1663, 23568, 1461, 1731, 15104, 4618, 617, 28074, 29723, 31146, 21537,
2467        37261, 48981, 27189, 26665, 48195, 12631, 9116, 51692, 46769, 33575,
2468        9119, 27084, 29313, 26185, 23146, 29922, 21646, 53553, 45740, 3203,
2469        2461, 45012, 25653, 40300, 12318, 29469, 63725, 20525, 10004, 46896,
2470        21937, 30778, 21828, 44637, 38086, 27586, 44860, 25212, 28847, 25004,
2471        37150, 6120, 32024, 61647, 31560, 23157, 48374, 33585, 28458, 46280,
2472        33255, 30186, 511, 34506, 63734, 39237, 3210, 9115, 21422, 37397,
2473        50659, 29662, 39545, 8838, 27648, 1042484, 34870, 30844, 47610, 714,
2474        8815, 4213, 21657, 33940, 44557, 24951, 25898, 46357, 4220, 37264,
2475        22718, 45713, 27553, 9531, 59097, 53485, 54072, 33179, 4219, 48852,
2476        39138, 30933, 51900, 39563, 21990, 8814, 34769, 33603, 3104, 36989,
2477        21792, 28540, 26624, 49456, 9539, 21533, 47464, 53431, 44611, 1840,
2478        49256, 4658, 38859, 30180, 12595, 27280, 8150, 53000, 2435, 464, 32104,
2479        4669, 9689, 30518, 38346, 12584, 20500, 5229, 28197, 48307, 40285,
2480        31584, 2844, 27739, 3991, 65118, 29935, 47502, 5456, 28544, 36894,
2481        59104, 33640, 39311, 20472, 29243, 24488, 8052, 20565, 21714, 31899,
2482        21501, 3082, 25824, 27323, 40495, 21269, 9118, 54411, 4003, 3474,
2483        30106, 991, 1042483, 35728, 27028, 28046, 441, 22036, 44865, 32427,
2484        38173, 5319, 12336, 33215, 38133, 20191, 31729, 26727, 53476, 25421,
2485        34905, 27453, 34670, 3355, 28651, 21545, 25944, 34388, 25912, 31384,
2486        59112, 12433, 45235, 38111, 25119, 61501, 28463, 59021, 27053, 38892,
2487        23805, 36944, 21550, 24091, 33660, 26613, 34943, 48904, 12618, 8569,
2488        35892, 24561, 3795, 12579, 31207, 33421, 50277, 35203, 23218, 34851,
2489        46037, 712, 23919, 24596, 592, 31260, 23158, 31806, 335, 34201, 3073,
2490        20149, 31074, 1043330, 2839, 4765, 32286, 65106, 301, 36732, 37532,
2491        22070, 35815, 30655, 37021, 47701, 5200, 38309, 35867, 59108, 61485,
2492        5333, 44225, 31692, 31414, 51132, 22391, 3852, 21473, 63687, 20106,
2493        27529, 39110, 32129, 4135, 25754, 7823, 30923, 12555, 28977, 4627,
2494        54607, 771, 33862, 27016, 21985, 21599, 36487, 30545, 37624, 30154,
2495        9641, 20147, 34383, 32660, 27822, 32482, 25531, 44751, 8565, 31565,
2496        1825, 33750, 5507, 27994, 20034, 45700, 46433, 35819, 34427, 45227,
2497        12623, 38504, 30597, 38171, 33071, 20834, 3792, 29280, 53220, 20127,
2498        8134, 34597, 29854, 52507, 57503, 44900, 39307, 30109, 8254, 59110,
2499        12526, 51796, 23831, 38253, 31725, 30609, 38076, 30352, 28078, 26248,
2500        4231, 25803, 34527, 22948, 33450, 20898, 65110, 1661, 38039, 27067,
2501        27320, 21606, 40550, 561, 20653, 4753, 9601, 49564, 25880, 59126,
2502        36779, 32792, 1041701, 21595, 25891, 15360, 34993, 9332, 30318, 34579,
2503        21342, 32361, 1824, 48531, 50052, 1811, 34407, 34770, 29989, 26855,
2504        21799, 24817, 2384, 52996, 40569, 29165, 40840, 25520, 4708, 34543,
2505        28327, 35331, 25303, 9831, 35183, 38935, 1371, 4108, 31381, 44405,
2506        1041586, 2315, 38425, 35916, 59140, 24698, 36837, 38771, 1041721,
2507        59185, 50489, 29722, 36405, 700, 44749, 24469, 4756, 29599, 1843,
2508        3537, 21119, 46176, 8494, 38107, 32652, 29990, 24812, 24331, 4657,
2509        29898, 596, 22775, 20396, 21582, 22165, 25315, 277, 21894, 47469,
2510        38210, 59025, 39201, 31921, 51219, 23579, 8733, 26212, 40480, 37300,
2511        1041634, 21417, 34829, 24473, 39851, 27795, 23011, 30136, 23138, 40521,
2512        63237, 24257, 53077, 31721, 23018, 20469, 32714, 36418, 36841, 48724,
2513        9711, 38000, 22754, 38924, 3988, 36324, 21173, 1813, 34996, 46516,
2514        34191, 34085, 1043234, 1954, 373, 14592, 3993, 22007, 23059, 25420,
2515        45460, 50924, 29403, 23437, 1949, 7984, 4705, 21670, 47128, 25291,
2516        293, 63238, 49438, 36802, 20164, 34885, 4827, 23270, 30169, 35791,
2517        35881, 13214, 28712, 35884, 34814, 4620, 29088, 28402, 36426, 35866,
2518        50687, 63281, 36761, 30822, 1836, 21310, 26964, 24682, 54148, 31087,
2519        23860, 4873, 46400, 39003, 3502, 50493, 38722, 4777, 32631, 23462,
2520        39995, 4841, 24061, 54161, 55129, 22158, 35098, 50025, 21675, 25431,
2521        3348, 1834, 23408, 30232, 35830, 3881, 24340, 44613, 28805, 9832,
2522        49788, 40107, 35039, 36068, 48139, 23869, 32491, 9760, 53459, 4864,
2523        53960, 38094, 28457, 20608, 31153, 30768, 8050, 4963, 23620, 35559,
2524        9333, 51144, 23789, 29336, 62018, 32997, 35563, 4869, 27462, 1659,
2525        4633, 15872, 33081, 6019, 45139, 50143, 38026, 31824, 4939, 27617,
2526        25344, 23997, 1043188, 28126, 32557, 27781, 1770, 1245, 28167, 49913,
2527        50893, 29641, 27263, 38128, 39253, 28222, 9662, 1789, 4243, 1473,
2528        1679, 45184, 30241, 20800, 28140, 31061, 34015, 4214, 49396, 9130,
2529        28672, 1041707, 4782, 25494, 34568, 31042, 5205, 25558, 29996, 46892,
2530        25326, 1042451, 4758, 4611, 5316, 48730, 50044, 593, 1676, 36955,
2531        33222, 25466, 39342, 8709, 1042391, 21698, 21668, 22244, 32044, 35131,
2532        23628, 1790, 51329, 40063, 38331, 36036, 24813, 29113, 53237, 53568,
2533        37406, 36968, 50760, 48159, 831, 36368, 39089, 63631, 23075, 3092,
2534        33983, 30758, 23504, 31308, 1620, 4192, 24447, 37510, 5285, 39333,
2535        54187, 23781, 57345, 30183, 59094, 37007, 2698, 4608, 25549, 37742,
2536        33193, 22002, 3229, 1946, 33784, 3796, 26686, 35548, 1728, 28407,
2537        5503, 52868, 28625, 9681, 35635, 44641, 4849, 27825, 58999, 21708,
2538        9680, 34758, 26551, 3674, 603, 39087, 29145, 4006, 7747, 33636, 36460,
2539        5290, 22160, 4828, 20769, 38541, 25062, 29179, 65532, 37043, 13199,
2540        31668, 34068, 39600, 20295, 12556, 30394, 1938, 30305, 1195, 24726,
2541        29619, 9586, 51789, 865, 1771, 37555, 45823, 63686, 35057, 26728,
2542        52152, 22809, 28088, 54396, 33600, 24826, 40702, 40848, 47129, 1644,
2543        32703, 22137, 51334, 28227, 24756, 34451, 58980, 4624, 8902, 1041617,
2544        713, 21913, 29462, 22874, 26891, 1658, 63309, 31567, 38358, 44079,
2545        28753, 21863, 6115, 49344, 31071, 515, 53217, 375, 45798, 28228, 31858,
2546        52180, 21277, 1956, 9352, 9125, 3362, 27355, 21655, 21872, 47607,
2547        39825, 52899, 33094, 1209, 25772, 9613, 808, 59038, 21522, 58865,
2548        24980, 45253, 58636, 57346, 23810, 22427, 33449, 50491, 24913, 633,
2549        34417, 38894, 21994, 30402, 38552, 53484, 1945, 24527, 22257, 10877,
2550        48072, 9828, 468, 21057, 32609, 44452, 57812, 8215, 29461, 25711,
2551        37648, 2544, 35988, 21405, 22178, 33323, 26015, 26584, 32753, 62139,
2552        3102, 28000, 33583, 25084, 1041200, 1042433, 3943, 39361, 31434, 720,
2553        9512, 35820, 26487, 35616, 28425, 33107, 24792, 21240, 49808, 22221,
2554        26164, 2849, 2870, 33096, 36040, 20807, 23882, 28538, 33210, 39711,
2555        53825, 1643, 49108, 33615, 59403, 61626, 49928, 2757, 33355, 22139,
2556        4203, 51428, 33205, 28356, 27673, 23005, 33477, 44866, 35924, 53597,
2557        38323, 26003, 34946, 20367, 34022, 38466, 37709, 27153, 59095, 29384,
2558        32761, 34282, 27523, 32381, 9774, 12571, 34314, 26851, 2718, 4132,
2559        28532, 22136, 34728, 33669, 25034, 4673, 35764, 36490, 28950, 37502,
2560        20643, 45231, 27904, 11520, 23090, 26199, 59390, 36343, 30684, 25077,
2561        34784, 8198, 30568, 34044, 29134, 39123, 38150, 30775, 59057, 22163,
2562        37393, 8001, 4645, 49677, 37200, 54747, 33686, 39553, 37219, 25721,
2563        45957, 44361, 320, 37434, 38589, 27821, 5359, 1041223, 34847, 26107,
2564        57759, 21939, 29852, 34612, 34360, 22159, 36409, 618, 39627, 50771,
2565        32475, 4172, 32412, 37001, 15616, 52843, 61483, 26503, 29355, 59023,
2566        31255, 38068, 31103, 28510, 36022, 34948, 63719, 21294, 61372, 61664,
2567        40150, 36163, 12617, 50753, 30820, 1810, 33007, 8566, 28325, 33129,
2568        24186, 59119, 48333, 1041648, 23057, 9745, 12850, 35973, 24124, 21804,
2569        29502, 33074, 48281, 24581, 25642, 51673, 29674, 39850, 35543, 34949,
2570        32181, 26244, 25115, 20112, 4652, 34615, 26017, 33338, 48737, 25620,
2571        26196, 59138, 63333, 23825, 21317, 26839, 45600, 35578, 3075, 9998,
2572        31142, 4710, 6066, 22349, 26719, 44169, 4874, 31428, 59175, 45321,
2573        38096, 58971, 34479, 35754, 39509, 19989, 49567, 21970, 32774, 40157,
2574        2847, 647, 34739, 34496, 40766, 38012, 4809, 1689, 2822, 39993, 8771,
2575        39221, 33894, 9428, 20515, 36347, 4130, 49520, 28497, 50276, 52258,
2576        36759, 31959, 21117, 26965, 2842, 1041702, 977, 58552, 814, 63681,
2577        6116, 24012, 1127, 24337, 49679, 25523, 38649, 34541, 22744, 27311,
2578        30562, 65111, 51923, 31104, 30442, 34647, 28951, 6095, 31786, 10026,
2579        1042476, 29678, 40605, 653, 7956, 61558, 34502, 21707, 24949, 49093,
2580        10061, 25474, 38670, 27075, 34578, 4667, 28593, 36834, 21757, 34553,
2581        307, 21636, 34635, 48528, 38069, 25616, 3801, 2888, 20456, 34222,
2582        21243, 29030, 4731, 507, 21005, 343, 4678, 3799, 4636, 27988, 4938,
2583        36155, 33914, 4965, 25160, 30821, 9334, 5328, 61614, 49360, 58773,
2584        35014, 34563, 59157, 13568, 52405, 23346, 38148, 63683, 4008, 33390,
2585        1041720, 21988, 1649, 32353, 2580, 31418, 40639, 21867, 20762, 52853,
2586        2821, 8568, 32901, 31658, 36961, 26249, 27315, 37036, 4216, 37476,
2587        59032, 3544, 35174, 38051, 4241, 29855, 47943, 31923, 12620, 63233,
2588        21499, 4923, 39589, 27647, 513, 39634, 21541, 22702, 25306, 34623,
2589        1043235, 4013, 35074, 51792, 52600, 38718, 9322, 26722, 25462, 1832,
2590        12319, 766, 20375, 4920, 44621, 23896, 35855, 30874, 30759, 29351,
2591        32942, 57350, 20850, 21500, 26407, 65125, 24751, 1042460, 6121, 22063,
2592        58637, 39214, 36667, 31063, 49573, 63684, 65123, 32679, 40133, 32365,
2593        3489, 39255, 38335, 24380, 12032, 3800, 62719, 38256, 38765, 47159,
2594        21972, 39631, 1041202, 8960, 28396, 26917, 24258, 63682, 38938, 30242,
2595        39405, 30883, 26188, 21471, 21902, 29690, 27001, 32046, 8598, 4230,
2596        49961, 2560, 21085, 59096, 38034, 4754, 29934, 7969, 3798, 32029,
2597        36425, 45845, 1815, 30679, 44609, 24900, 27192, 33830, 63329, 27079,
2598        21558, 38178, 10066, 21510, 22313, 23265, 29744, 63739, 31494, 33065,
2599        40617, 26991, 63337, 22209, 63737, 33907, 28451, 21691, 8895, 53095,
2600        46895, 50032, 35826, 31800, 1040824, 39250, 32184, 501, 20558, 4878,
2601        28821, 26166, 27421, 2025, 4797, 22003, 59191, 23833, 27166, 39557,
2602        63726, 30091, 33630, 59036, 37350, 3879, 54973, 30780, 25288, 3487,
2603        20822, 39582, 25332, 12551, 23539, 20389, 5234, 30818, 27872, 1123,
2604        57720, 39122, 23105, 36495, 30604, 23782, 32236, 995, 26638, 1835,
2605        58942, 35594, 5206, 40843, 34193, 13076, 33335, 30817, 1846, 23418,
2606        944, 39675, 40141, 26688, 59117, 21833, 1715, 39079, 36346, 34978,
2607        8707, 25082, 29647, 48856, 61692, 30071, 37728, 5418, 34552, 35461,
2608        37891, 63280, 3121, 36427, 40510, 26171, 22741, 30777, 44740, 29394,
2609        20721, 12594, 34952, 39585, 47028, 50739, 29317, 52645, 26296, 33848,
2610        28095, 30045, 3916, 45480, 20547, 22462, 38217, 37970, 51674, 25373,
2611        1041680, 3880, 47719, 35628, 58841, 29322, 9519, 24675, 329, 12621,
2612        1043241, 29736, 1104, 44808, 50567, 28270, 36856, 58991, 20486, 36076,
2613        2365, 36479, 9493, 57480, 28635, 21669, 34199, 46375, 21087, 61627,
2614        29029, 23723, 35084, 34108, 37312, 25899, 6102, 58998, 1645, 26060,
2615        25035, 2861, 37225, 9587, 29807, 22592, 53104, 21068, 1043185, 23735,
2616        3787, 40482, 39319, 29136, 30306, 11056, 34849, 824, 8366, 63282,
2617        26137, 49668, 29999, 40748, 36382, 33682, 30652, 29484, 28152, 36740,
2618        49343, 24806, 36118, 4242, 35912, 34162, 28386, 30738, 32377, 23301,
2619        51609, 4917, 8614, 26075, 8748, 34510, 28390, 31546, 33588, 28583,
2620        35357, 28734, 50137, 24814, 50144, 1042399, 36489, 2876, 1763, 28408,
2621        4099, 29130, 31059, 31657, 52240, 5354, 20956, 29166, 25661, 38747,
2622        35281, 30857, 26978, 32895, 21886, 45072, 45352, 47103, 4907, 51908,
2623        8680, 21549, 30350, 22024, 54749, 31631, 62017, 4674, 4612, 39053,
2624        45656, 37396, 38737, 32619, 37032, 31709, 33985, 33393, 37716, 9527,
2625        28399, 50433, 1858, 613, 26717, 37169, 27710, 63289, 27628, 14848,
2626        32552, 33476, 33003, 37000, 22575, 4854, 28061, 46904, 9335, 9424,
2627        46616, 35811, 3875, 58974, 27386, 48289, 52908, 29977, 38967, 59178,
2628        39699, 20594, 26979, 36706, 1042404, 24779, 1042468, 7717, 1458, 9743,
2629        24530, 30663, 35749, 38601, 61669, 21343, 34306, 59201, 27537, 34001,
2630        27887, 776, 30472, 24774, 29585, 20925, 25540, 9615, 39309, 28693,
2631        23049, 28598, 4904, 45339, 30855, 30087, 28766, 49941, 2704, 59018,
2632        28610, 6060, 8725, 38408, 21604, 24575, 32537, 8567, 27929, 30344,
2633        45825, 13312, 1181, 1040826, 34047, 36019, 38860, 37826, 22376, 58661,
2634        32945, 36146, 32171, 58732, 30782, 7779, 12559, 26697, 31287, 37561,
2635        38356, 22138, 39757, 25736, 38224, 38514, 25503, 37711, 25775, 3328,
2636        37928, 1596, 49816, 24665, 33537, 38398, 38328, 52320, 35575, 21981};
2637     System.arraycopy(temp, 0, chars, chars.length - temp.length, temp.length);
2638   }
2639  }
2640}
2641