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