• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 package com.google.common.base;
18 
19 import com.google.caliper.BeforeExperiment;
20 import com.google.caliper.Benchmark;
21 import com.google.caliper.Param;
22 import com.google.common.base.BenchmarkHelpers.SampleMatcherConfig;
23 import com.google.common.collect.Lists;
24 
25 import java.util.BitSet;
26 import java.util.Collections;
27 import java.util.List;
28 import 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  */
38 public 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
setUp()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 
trimAndCollapseFromString(int reps)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 
matches(int reps)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 
checkString(int length, int percent, String matchingChars, Random rand, boolean forceSlow, boolean web)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 
randomCharFrom(String s, Random rand)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 {
populateProb1()155      populateProb1();
populateProb2()156      populateProb2();
populateChars1()157      populateChars1();
populateChars2()158      populateChars2();
159    }
160 
161    private final Random random;
162 
CharSamples(Random random)163    public CharSamples(Random random) {
164      this.random = random;
165    }
nextCodePoint()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 
populateProb1()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 
populateProb2()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;
populateChars1()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    }
populateChars2()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