blob: d32c037afd970695bb7a3b9da11d7e93362235df [file] [log] [blame]
jeffhao5d1ac922011-09-29 17:41:15 -07001/*
2 * Copyright (C) 2009 The Android Open Source Project
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
17import java.util.concurrent.*;
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070018import java.util.concurrent.atomic.AtomicLong;
jeffhao5d1ac922011-09-29 17:41:15 -070019
20/**
21 * Test for Jit regressions.
22 */
23public class Main {
buzbeee62076c2012-03-21 14:26:16 -070024 public static int const0x1234() {
25 return 0x1234;
26 }
27
28 public static long const0x123443211234() {
29 return 0x123443211234L;
30 }
31
jeffhao5d1ac922011-09-29 17:41:15 -070032 public static void main(String args[]) throws Exception {
33 b2296099Test();
34 b2302318Test();
35 b2487514Test();
buzbee9ab05de2012-01-18 15:43:48 -080036 b5884080Test();
Brian Carlstromb20d24d2014-03-27 16:54:27 -070037 b13679511Test();
buzbee4922ef92012-02-24 14:32:20 -080038 largeFrameTest();
Ian Rogers513c64a2012-02-26 15:16:23 -080039 largeFrameTestFloat();
Alexei Zavjalovc17ebe82014-02-26 10:38:23 +070040 mulBy1Test();
buzbeee62076c2012-03-21 14:26:16 -070041 getterSetterTest();
42 identityTest();
43 wideGetterSetterTest();
44 wideIdentityTest();
45 returnConstantTest();
Vladimir Markoe1fced12014-04-04 14:52:53 +010046 setterTestWithReturnArgIgnoreReturn();
47 setterTestWithReturnArgUseReturn();
48 wideSetterTestWithReturnArgIgnoreReturn();
49 wideSetterTestWithReturnArgUseReturn();
Vladimir Markodb406322014-02-19 14:11:19 +000050 LVNTests.testNPE1();
51 LVNTests.testNPE2();
Elliott Hughes5a8e3d52012-07-11 11:16:24 -070052 ZeroTests.longDivTest();
53 ZeroTests.longModTest();
Vladimir Markoa1a70742014-03-03 10:28:05 +000054 MirOpSelectTests.testIfCcz();
buzbee40bbb392014-03-19 12:28:16 -070055 ManyFloatArgs();
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070056 atomicLong();
Chao-ying Fu3d325c62014-03-27 14:17:28 -070057 LiveFlags.test();
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070058 }
59
60 public static void atomicLong() {
61 AtomicLong atomicLong = new AtomicLong();
62 atomicLong.addAndGet(3);
63 atomicLong.addAndGet(2);
64 atomicLong.addAndGet(1);
65 long result = atomicLong.get();
66 System.out.println(result == 6L ? "atomicLong passes" :
67 ("atomicLong failes: returns " + result + ", expected 6")
68 );
buzbeee62076c2012-03-21 14:26:16 -070069 }
70
71 public static void returnConstantTest() {
72 long res = const0x1234();
73 res += const0x123443211234();
74 Foo foo = new Foo();
75 res += foo.iConst0x1234();
76 res += foo.iConst0x123443211234();
77 if (res == 40031347689680L) {
78 System.out.println("returnConstantTest passes");
79 }
80 else {
81 System.out.println("returnConstantTest fails: " + res +
82 " (expecting 40031347689680)");
83 }
84 }
85
86 static void wideIdentityTest() {
87 Foo foo = new Foo();
Ian Rogers116848d2014-02-07 21:10:37 -080088 long i = 0x200000001L;
buzbeee62076c2012-03-21 14:26:16 -070089 i += foo.wideIdent0(i);
90 i += foo.wideIdent1(0,i);
91 i += foo.wideIdent2(0,0,i);
92 i += foo.wideIdent3(0,0,0,i);
93 i += foo.wideIdent4(0,0,0,0,i);
94 i += foo.wideIdent5(0,0,0,0,0,i);
Ian Rogers116848d2014-02-07 21:10:37 -080095 if (i == 0x8000000040L) {
buzbeee62076c2012-03-21 14:26:16 -070096 System.out.println("wideIdentityTest passes");
97 }
98 else {
Ian Rogers116848d2014-02-07 21:10:37 -080099 System.out.println("wideIdentityTest fails: 0x" + Long.toHexString(i) +
100 " (expecting 0x8000000040)");
buzbeee62076c2012-03-21 14:26:16 -0700101 }
102 }
103
104 static void wideGetterSetterTest() {
105 Foo foo = new Foo();
106 long sum = foo.wideGetBar0();
107 sum += foo.wideGetBar1(1);
108 foo.wideSetBar1(sum);
109 sum += foo.wideGetBar2(1,2);
110 foo.wideSetBar2(0,sum);
111 sum += foo.wideGetBar3(1,2,3);
112 foo.wideSetBar3(0,0,sum);
113 sum += foo.wideGetBar4(1,2,3,4);
114 foo.wideSetBar4(0,0,0,sum);
115 sum += foo.wideGetBar5(1,2,3,4,5);
116 foo.wideSetBar5(0,0,0,0,sum);
Vladimir Marko8017ef82014-02-10 09:59:43 +0000117 long result1 = foo.wideGetBar0();
118 long expected1 = 1234L << 5;
119 sum += foo.wideGetBar0();
120 foo.wideSetBar2i(0,sum);
121 sum += foo.wideGetBar0();
122 foo.wideSetBar3i(0,0,sum);
123 sum += foo.wideGetBar0();
124 foo.wideSetBar4i(0,0,0,sum);
125 sum += foo.wideGetBar0();
126 foo.wideSetBar5i(0,0,0,0,sum);
127 long result2 = foo.wideGetBar0();
128 long expected2 = 1234L << 9;
129 if (result1 == expected1 && result2 == expected2) {
buzbeee62076c2012-03-21 14:26:16 -0700130 System.out.println("wideGetterSetterTest passes");
131 }
132 else {
133 System.out.println("wideGetterSetterTest fails: " +
Vladimir Marko8017ef82014-02-10 09:59:43 +0000134 "result1: " + result1 + " (expecting " + expected1 + "), " +
135 "result2: " + result2 + " (expecting " + expected2 + ")");
buzbeee62076c2012-03-21 14:26:16 -0700136 }
137 }
138
139 static void identityTest() {
140 Foo foo = new Foo();
141 int i = 1;
142 i += foo.ident0(i);
143 i += foo.ident1(0,i);
144 i += foo.ident2(0,0,i);
145 i += foo.ident3(0,0,0,i);
146 i += foo.ident4(0,0,0,0,i);
147 i += foo.ident5(0,0,0,0,0,i);
148 if (i == 64) {
149 System.out.println("identityTest passes");
150 }
151 else {
152 System.out.println("identityTest fails: " + i +
153 " (expecting 64)");
154 }
155 }
156
157 static void getterSetterTest() {
158 Foo foo = new Foo();
159 int sum = foo.getBar0();
160 sum += foo.getBar1(1);
161 foo.setBar1(sum);
162 sum += foo.getBar2(1,2);
163 foo.setBar2(0,sum);
164 sum += foo.getBar3(1,2,3);
165 foo.setBar3(0,0,sum);
166 sum += foo.getBar4(1,2,3,4);
167 foo.setBar4(0,0,0,sum);
168 sum += foo.getBar5(1,2,3,4,5);
169 foo.setBar5(0,0,0,0,sum);
buzbee97df07f2012-03-27 16:13:20 -0700170 Foo nullFoo = null;
171 try {
172 sum += Foo.barBar(nullFoo);
173 } catch(NullPointerException npe) {
174 sum += 404;
175 }
176 foo.setBar1(sum);
177 if (foo.getBar0() == 39892) {
buzbeee62076c2012-03-21 14:26:16 -0700178 System.out.println("getterSetterTest passes");
179 }
180 else {
181 System.out.println("getterSetterTest fails: " + foo.getBar0() +
buzbee97df07f2012-03-27 16:13:20 -0700182 " (expecting 39892)");
buzbeee62076c2012-03-21 14:26:16 -0700183 }
jeffhao5d1ac922011-09-29 17:41:15 -0700184 }
185
Vladimir Markoe1fced12014-04-04 14:52:53 +0100186 static void setterTestWithReturnArgIgnoreReturn() {
187 Foo foo = new Foo();
188 int sum = foo.getBar0();
189 sum += foo.getBar0();
190 foo.setBar1ReturnThis(sum);
191 sum += foo.getBar0();
192 foo.setBar2ReturnThis(1,sum);
193 sum += foo.getBar0();
194 foo.setBar3ReturnThis(1,2,sum);
195 sum += foo.getBar0();
196 foo.setBar4ReturnThis(1,2,3,sum);
197 sum += foo.getBar0();
198 foo.setBar5ReturnThis(1,2,3,4,sum);
199 sum += foo.getBar0();
200 foo.setBar1ReturnBarArg(sum);
201 sum += foo.getBar0();
202 foo.setBar2ReturnBarArg(1,sum);
203 sum += foo.getBar0();
204 foo.setBar3ReturnBarArg(1,2,sum);
205 sum += foo.getBar0();
206 foo.setBar4ReturnBarArg(1,2,3,sum);
207 sum += foo.getBar0();
208 foo.setBar5ReturnBarArg(1,2,3,4,sum);
209 sum += foo.getBar0();
210 foo.setBar2ReturnDummyArg1(1,sum);
211 sum += foo.getBar0();
212 foo.setBar3ReturnDummyArg2(1,2,sum);
213 sum += foo.getBar0();
214 foo.setBar4ReturnDummyArg3(1,2,3,sum);
215 sum += foo.getBar0();
216 foo.setBar5ReturnDummyArg4(1,2,3,4,sum);
217 sum += foo.getBar0();
218 Foo nullFoo = Foo.getNullFoo();
219 try {
220 nullFoo.setBar1ReturnThis(sum);
221 } catch(NullPointerException npe) {
222 sum += 404;
223 }
224 try {
225 nullFoo.setBar2ReturnThis(1, sum);
226 } catch(NullPointerException npe) {
227 sum += 2 * 404;
228 }
229 try {
230 nullFoo.setBar3ReturnThis(1, 2, sum);
231 } catch(NullPointerException npe) {
232 sum += 3 * 404;
233 }
234 try {
235 nullFoo.setBar4ReturnThis(1, 2, 3, sum);
236 } catch(NullPointerException npe) {
237 sum += 4 * 404;
238 }
239 try {
240 nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum);
241 } catch(NullPointerException npe) {
242 sum += 5 * 404;
243 }
244 try {
245 nullFoo.setBar1ReturnBarArg(sum);
246 } catch(NullPointerException npe) {
247 sum += 6 * 404;
248 }
249 try {
250 nullFoo.setBar2ReturnBarArg(1, sum);
251 } catch(NullPointerException npe) {
252 sum += 7 * 404;
253 }
254 try {
255 nullFoo.setBar3ReturnBarArg(1, 2, sum);
256 } catch(NullPointerException npe) {
257 sum += 8 * 404;
258 }
259 try {
260 nullFoo.setBar4ReturnBarArg(1, 2, 3, sum);
261 } catch(NullPointerException npe) {
262 sum += 9 * 404;
263 }
264 try {
265 nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum);
266 } catch(NullPointerException npe) {
267 sum += 10 * 404;
268 }
269 try {
270 nullFoo.setBar2ReturnDummyArg1(1, sum);
271 } catch(NullPointerException npe) {
272 sum += 11 * 404;
273 }
274 try {
275 nullFoo.setBar3ReturnDummyArg2(1, 2, sum);
276 } catch(NullPointerException npe) {
277 sum += 12 * 404;
278 }
279 try {
280 nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum);
281 } catch(NullPointerException npe) {
282 sum += 13 * 404;
283 }
284 try {
285 nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum);
286 } catch(NullPointerException npe) {
287 sum += 14 * 404;
288 }
289 int expected = (1234 << 15) + 404 * (15 * 14 / 2);
290 if (sum == expected) {
291 System.out.println("setterTestWithReturnArgIgnoreReturn passes");
292 }
293 else {
294 System.out.println("setterTestWithReturnArgIgnoreReturn fails: " + sum +
295 " (expecting " + expected + ")");
296 }
297 }
298
299 static void setterTestWithReturnArgUseReturn() {
300 Foo foo = new Foo();
301 int sum = foo.getBar0();
302 int sumDummy = 0;
303 sum += foo.getBar0();
304 Foo foo2 = foo.setBar1ReturnThis(sum);
305 sum += foo2.getBar0();
306 foo = foo2.setBar2ReturnThis(1,sum);
307 sum += foo.getBar0();
308 foo2 = foo.setBar3ReturnThis(1,2,sum);
309 sum += foo2.getBar0();
310 foo = foo2.setBar4ReturnThis(1,2,3,sum);
311 sum += foo.getBar0();
312 foo = foo.setBar5ReturnThis(1,2,3,4,sum);
313 sum += foo.getBar0();
314 sum += foo.setBar1ReturnBarArg(sum);
315 sum += foo.getBar0();
316 sum += foo.setBar2ReturnBarArg(1,sum);
317 sum += foo.getBar0();
318 sum += foo.setBar3ReturnBarArg(1,2,sum);
319 sum += foo.getBar0();
320 sum += foo.setBar4ReturnBarArg(1,2,3,sum);
321 sum += foo.getBar0();
322 sum += foo.setBar5ReturnBarArg(1,2,3,4,sum);
323 sum += foo.getBar0();
324 sumDummy += foo.setBar2ReturnDummyArg1(1,sum);
325 sum += foo.getBar0();
326 sumDummy += foo.setBar3ReturnDummyArg2(1,2,sum);
327 sum += foo.getBar0();
328 sumDummy += foo.setBar4ReturnDummyArg3(1,2,3,sum);
329 sum += foo.getBar0();
330 sumDummy += foo.setBar5ReturnDummyArg4(1,2,3,4,sum);
331 sum += foo.getBar0();
332 Foo nullFoo = Foo.getNullFoo();
333 try {
334 foo = nullFoo.setBar1ReturnThis(sum);
335 } catch(NullPointerException npe) {
336 sum += 404;
337 }
338 try {
339 foo = nullFoo.setBar2ReturnThis(1, sum);
340 } catch(NullPointerException npe) {
341 sum += 2 * 404;
342 }
343 try {
344 foo = nullFoo.setBar3ReturnThis(1, 2, sum);
345 } catch(NullPointerException npe) {
346 sum += 3 * 404;
347 }
348 try {
349 foo = nullFoo.setBar4ReturnThis(1, 2, 3, sum);
350 } catch(NullPointerException npe) {
351 sum += 4 * 404;
352 }
353 try {
354 foo = nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum);
355 } catch(NullPointerException npe) {
356 sum += 5 * 404;
357 }
358 try {
359 sum += nullFoo.setBar1ReturnBarArg(sum);
360 } catch(NullPointerException npe) {
361 sum += 6 * 404;
362 }
363 try {
364 sum += nullFoo.setBar2ReturnBarArg(1, sum);
365 } catch(NullPointerException npe) {
366 sum += 7 * 404;
367 }
368 try {
369 sum += nullFoo.setBar3ReturnBarArg(1, 2, sum);
370 } catch(NullPointerException npe) {
371 sum += 8 * 404;
372 }
373 try {
374 sum += nullFoo.setBar4ReturnBarArg(1, 2, 3, sum);
375 } catch(NullPointerException npe) {
376 sum += 9 * 404;
377 }
378 try {
379 sum += nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum);
380 } catch(NullPointerException npe) {
381 sum += 10 * 404;
382 }
383 try {
384 sumDummy += nullFoo.setBar2ReturnDummyArg1(1, sum);
385 } catch(NullPointerException npe) {
386 sum += 11 * 404;
387 }
388 try {
389 sumDummy += nullFoo.setBar3ReturnDummyArg2(1, 2, sum);
390 } catch(NullPointerException npe) {
391 sum += 12 * 404;
392 }
393 try {
394 sumDummy += nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum);
395 } catch(NullPointerException npe) {
396 sum += 13 * 404;
397 }
398 try {
399 sumDummy += nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum);
400 } catch(NullPointerException npe) {
401 sum += 14 * 404;
402 }
403 int expected = (1234 << 10) * 3 * 3 * 3 * 3 * 3 + 404 * (15 * 14 / 2);
404 int expectedDummy = 5 * 4 / 2;
405 if (sum == expected && sumDummy == expectedDummy) {
406 System.out.println("setterTestWithReturnArgUseReturn passes");
407 }
408 else {
409 System.out.println("setterTestWithReturnArgUseReturn fails: " + sum +
410 " (expecting " + expected + "), sumDummy = " + sumDummy +
411 "(expecting " + expectedDummy + ")");
412 }
413 }
414
415 static void wideSetterTestWithReturnArgIgnoreReturn() {
416 Foo foo = new Foo();
417 long sum = foo.wideGetBar0();
418 sum += foo.wideGetBar0();
419 foo.wideSetBar1ReturnThis(sum);
420 sum += foo.wideGetBar0();
421 foo.wideSetBar2ReturnThis(1,sum);
422 sum += foo.wideGetBar0();
423 foo.wideSetBar3ReturnThis(1,2,sum);
424 sum += foo.wideGetBar0();
425 foo.wideSetBar4ReturnThis(1,2,3,sum);
426 sum += foo.wideGetBar0();
427 foo.wideSetBar5ReturnThis(1,2,3,4,sum);
428 sum += foo.wideGetBar0();
429 foo.wideSetBar1ReturnBarArg(sum);
430 sum += foo.wideGetBar0();
431 foo.wideSetBar2ReturnBarArg(1,sum);
432 sum += foo.wideGetBar0();
433 foo.wideSetBar3ReturnBarArg(1,2,sum);
434 sum += foo.wideGetBar0();
435 foo.wideSetBar4ReturnBarArg(1,2,3,sum);
436 sum += foo.wideGetBar0();
437 foo.wideSetBar5ReturnBarArg(1,2,3,4,sum);
438 sum += foo.wideGetBar0();
439 foo.wideSetBar2iReturnBarArg(1,sum);
440 sum += foo.wideGetBar0();
441 foo.wideSetBar3iReturnBarArg(1,2,sum);
442 sum += foo.wideGetBar0();
443 foo.wideSetBar4iReturnBarArg(1,2,3,sum);
444 sum += foo.wideGetBar0();
445 foo.wideSetBar5iReturnBarArg(1,2,3,4,sum);
446 sum += foo.wideGetBar0();
447 foo.wideSetBar2ReturnDummyArg1(1,sum);
448 sum += foo.wideGetBar0();
449 foo.wideSetBar3ReturnDummyArg2(1,2,sum);
450 sum += foo.wideGetBar0();
451 foo.wideSetBar4ReturnDummyArg3(1,2,3,sum);
452 sum += foo.wideGetBar0();
453 foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum);
454 sum += foo.wideGetBar0();
455 foo.wideSetBar2iReturnDummyArg1(1,sum);
456 sum += foo.wideGetBar0();
457 foo.wideSetBar3iReturnDummyArg2(1,2,sum);
458 sum += foo.wideGetBar0();
459 foo.wideSetBar4iReturnDummyArg3(1,2,3,sum);
460 sum += foo.wideGetBar0();
461 foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum);
462 sum += foo.wideGetBar0();
463 Foo nullFoo = Foo.getNullFoo();
464 try {
465 nullFoo.wideSetBar1ReturnThis(sum);
466 } catch(NullPointerException npe) {
467 sum += 404;
468 }
469 try {
470 nullFoo.wideSetBar2ReturnThis(1, sum);
471 } catch(NullPointerException npe) {
472 sum += 2 * 404;
473 }
474 try {
475 nullFoo.wideSetBar3ReturnThis(1, 2, sum);
476 } catch(NullPointerException npe) {
477 sum += 3 * 404;
478 }
479 try {
480 nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum);
481 } catch(NullPointerException npe) {
482 sum += 4 * 404;
483 }
484 try {
485 nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum);
486 } catch(NullPointerException npe) {
487 sum += 5 * 404;
488 }
489 try {
490 nullFoo.wideSetBar1ReturnBarArg(sum);
491 } catch(NullPointerException npe) {
492 sum += 6 * 404;
493 }
494 try {
495 nullFoo.wideSetBar2ReturnBarArg(1, sum);
496 } catch(NullPointerException npe) {
497 sum += 7 * 404;
498 }
499 try {
500 nullFoo.wideSetBar3ReturnBarArg(1, 2, sum);
501 } catch(NullPointerException npe) {
502 sum += 8 * 404;
503 }
504 try {
505 nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum);
506 } catch(NullPointerException npe) {
507 sum += 9 * 404;
508 }
509 try {
510 nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum);
511 } catch(NullPointerException npe) {
512 sum += 10 * 404;
513 }
514 try {
515 nullFoo.wideSetBar2iReturnBarArg(1, sum);
516 } catch(NullPointerException npe) {
517 sum += 11 * 404;
518 }
519 try {
520 nullFoo.wideSetBar3iReturnBarArg(1, 2, sum);
521 } catch(NullPointerException npe) {
522 sum += 12 * 404;
523 }
524 try {
525 nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum);
526 } catch(NullPointerException npe) {
527 sum += 13 * 404;
528 }
529 try {
530 nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum);
531 } catch(NullPointerException npe) {
532 sum += 14 * 404;
533 }
534 try {
535 nullFoo.wideSetBar2ReturnDummyArg1(1, sum);
536 } catch(NullPointerException npe) {
537 sum += 15 * 404;
538 }
539 try {
540 nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum);
541 } catch(NullPointerException npe) {
542 sum += 16 * 404;
543 }
544 try {
545 nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum);
546 } catch(NullPointerException npe) {
547 sum += 17 * 404;
548 }
549 try {
550 nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum);
551 } catch(NullPointerException npe) {
552 sum += 18 * 404;
553 }
554 try {
555 nullFoo.wideSetBar2iReturnDummyArg1(1, sum);
556 } catch(NullPointerException npe) {
557 sum += 19 * 404;
558 }
559 try {
560 nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum);
561 } catch(NullPointerException npe) {
562 sum += 20 * 404;
563 }
564 try {
565 nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum);
566 } catch(NullPointerException npe) {
567 sum += 21 * 404;
568 }
569 try {
570 nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum);
571 } catch(NullPointerException npe) {
572 sum += 22 * 404;
573 }
574 long expected = (1234L << 23) + 404 * (23 * 22 / 2);
575 if (sum == expected) {
576 System.out.println("wideSetterTestWithReturnArgIgnoreReturn passes");
577 }
578 else {
579 System.out.println("wideSetterTestWithReturnArgIgnoreReturn fails: " + sum +
580 " (expecting " + expected + ")");
581 }
582 }
583
584 static void wideSetterTestWithReturnArgUseReturn() {
585 Foo foo = new Foo();
586 long sum = foo.wideGetBar0();
587 long sumDummy = 0;
588 sum += foo.wideGetBar0();
589 Foo foo2 = foo.wideSetBar1ReturnThis(sum);
590 sum += foo2.wideGetBar0();
591 foo = foo2.wideSetBar2ReturnThis(1,sum);
592 sum += foo.wideGetBar0();
593 foo2 = foo.wideSetBar3ReturnThis(1,2,sum);
594 sum += foo2.wideGetBar0();
595 foo = foo2.wideSetBar4ReturnThis(1,2,3,sum);
596 sum += foo.wideGetBar0();
597 foo = foo.wideSetBar5ReturnThis(1,2,3,4,sum);
598 sum += foo.wideGetBar0();
599 sum += foo.wideSetBar1ReturnBarArg(sum);
600 sum += foo.wideGetBar0();
601 sum += foo.wideSetBar2ReturnBarArg(1,sum);
602 sum += foo.wideGetBar0();
603 sum += foo.wideSetBar3ReturnBarArg(1,2,sum);
604 sum += foo.wideGetBar0();
605 sum += foo.wideSetBar4ReturnBarArg(1,2,3,sum);
606 sum += foo.wideGetBar0();
607 sum += foo.wideSetBar5ReturnBarArg(1,2,3,4,sum);
608 sum += foo.wideGetBar0();
609 sum += foo.wideSetBar2iReturnBarArg(1,sum);
610 sum += foo.wideGetBar0();
611 sum += foo.wideSetBar3iReturnBarArg(1,2,sum);
612 sum += foo.wideGetBar0();
613 sum += foo.wideSetBar4iReturnBarArg(1,2,3,sum);
614 sum += foo.wideGetBar0();
615 sum += foo.wideSetBar5iReturnBarArg(1,2,3,4,sum);
616 sum += foo.wideGetBar0();
617 sumDummy += foo.wideSetBar2ReturnDummyArg1(1,sum);
618 sum += foo.wideGetBar0();
619 sumDummy += foo.wideSetBar3ReturnDummyArg2(1,2,sum);
620 sum += foo.wideGetBar0();
621 sumDummy += foo.wideSetBar4ReturnDummyArg3(1,2,3,sum);
622 sum += foo.wideGetBar0();
623 sumDummy += foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum);
624 sum += foo.wideGetBar0();
625 sumDummy += foo.wideSetBar2iReturnDummyArg1(1,sum);
626 sum += foo.wideGetBar0();
627 sumDummy += foo.wideSetBar3iReturnDummyArg2(1,2,sum);
628 sum += foo.wideGetBar0();
629 sumDummy += foo.wideSetBar4iReturnDummyArg3(1,2,3,sum);
630 sum += foo.wideGetBar0();
631 sumDummy += foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum);
632 sum += foo.wideGetBar0();
633 Foo nullFoo = Foo.getNullFoo();
634 try {
635 foo = nullFoo.wideSetBar1ReturnThis(sum);
636 } catch(NullPointerException npe) {
637 sum += 404;
638 }
639 try {
640 foo = nullFoo.wideSetBar2ReturnThis(1, sum);
641 } catch(NullPointerException npe) {
642 sum += 2 * 404;
643 }
644 try {
645 foo = nullFoo.wideSetBar3ReturnThis(1, 2, sum);
646 } catch(NullPointerException npe) {
647 sum += 3 * 404;
648 }
649 try {
650 foo = nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum);
651 } catch(NullPointerException npe) {
652 sum += 4 * 404;
653 }
654 try {
655 foo = nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum);
656 } catch(NullPointerException npe) {
657 sum += 5 * 404;
658 }
659 try {
660 sum += nullFoo.wideSetBar1ReturnBarArg(sum);
661 } catch(NullPointerException npe) {
662 sum += 6 * 404;
663 }
664 try {
665 sum += nullFoo.wideSetBar2ReturnBarArg(1, sum);
666 } catch(NullPointerException npe) {
667 sum += 7 * 404;
668 }
669 try {
670 sum += nullFoo.wideSetBar3ReturnBarArg(1, 2, sum);
671 } catch(NullPointerException npe) {
672 sum += 8 * 404;
673 }
674 try {
675 sum += nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum);
676 } catch(NullPointerException npe) {
677 sum += 9 * 404;
678 }
679 try {
680 sum += nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum);
681 } catch(NullPointerException npe) {
682 sum += 10 * 404;
683 }
684 try {
685 sum += nullFoo.wideSetBar2iReturnBarArg(1, sum);
686 } catch(NullPointerException npe) {
687 sum += 11 * 404;
688 }
689 try {
690 sum += nullFoo.wideSetBar3iReturnBarArg(1, 2, sum);
691 } catch(NullPointerException npe) {
692 sum += 12 * 404;
693 }
694 try {
695 sum += nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum);
696 } catch(NullPointerException npe) {
697 sum += 13 * 404;
698 }
699 try {
700 sum += nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum);
701 } catch(NullPointerException npe) {
702 sum += 14 * 404;
703 }
704 try {
705 sumDummy += nullFoo.wideSetBar2ReturnDummyArg1(1, sum);
706 } catch(NullPointerException npe) {
707 sum += 15 * 404;
708 }
709 try {
710 sumDummy += nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum);
711 } catch(NullPointerException npe) {
712 sum += 16 * 404;
713 }
714 try {
715 sumDummy += nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum);
716 } catch(NullPointerException npe) {
717 sum += 17 * 404;
718 }
719 try {
720 sumDummy += nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum);
721 } catch(NullPointerException npe) {
722 sum += 18 * 404;
723 }
724 try {
725 sumDummy += nullFoo.wideSetBar2iReturnDummyArg1(1, sum);
726 } catch(NullPointerException npe) {
727 sum += 19 * 404;
728 }
729 try {
730 sumDummy += nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum);
731 } catch(NullPointerException npe) {
732 sum += 20 * 404;
733 }
734 try {
735 sumDummy += nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum);
736 } catch(NullPointerException npe) {
737 sum += 21 * 404;
738 }
739 try {
740 sumDummy += nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum);
741 } catch(NullPointerException npe) {
742 sum += 22 * 404;
743 }
744 long expected = (1234L << 14) * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 + 404 * (23 * 22 / 2);
745 long expectedDummy = 2 * (5 * 4 / 2);
746 if (sum == expected && sumDummy == expectedDummy) {
747 System.out.println("wideSetterTestWithReturnArgUseReturn passes");
748 }
749 else {
750 System.out.println("wideSetterTestWithReturnArgUseReturn fails: " + sum +
751 " (expecting " + expected + "), sumDummy = " + sumDummy +
752 "(expecting " + expectedDummy + ")");
753 }
754 }
755
Alexei Zavjalovc17ebe82014-02-26 10:38:23 +0700756 static void mulBy1Test() {
757 long res;
758 long j = 1;
759 res = 1 * j + j;
760 if (res == 2L) {
761 System.out.println("mulBy1Test passes");
762 }
763 else {
764 System.out.println("mulBy1Test fails: " + res +
765 " (expecting 2)");
766 }
767 }
768
jeffhao5d1ac922011-09-29 17:41:15 -0700769 static void b2296099Test() throws Exception {
770 int x = -1190771042;
771 int dist = 360530809;
772 int xl = -1190771042;
773 int distl = 360530809;
774
775 for (int i = 0; i < 100000; i++) {
776 int b = rotateLeft(x, dist);
777 if (b != 1030884493)
778 throw new RuntimeException("Unexpected value: " + b
779 + " after " + i + " iterations");
780 }
781 for (int i = 0; i < 100000; i++) {
782 long bl = rotateLeft(xl, distl);
783 if (bl != 1030884493)
784 throw new RuntimeException("Unexpected value: " + bl
785 + " after " + i + " iterations");
786 }
787 System.out.println("b2296099 passes");
788 }
789
790 static int rotateLeft(int i, int distance) {
791 return ((i << distance) | (i >>> (-distance)));
792 }
793
794 static void b2302318Test() {
Mathieu Chartier7befd0e2014-02-03 17:48:41 -0800795 Runtime.getRuntime().gc();
jeffhao5d1ac922011-09-29 17:41:15 -0700796
797 SpinThread slow = new SpinThread(Thread.MIN_PRIORITY);
798 SpinThread fast1 = new SpinThread(Thread.NORM_PRIORITY);
799 SpinThread fast2 = new SpinThread(Thread.MAX_PRIORITY);
800
801 slow.setDaemon(true);
802 fast1.setDaemon(true);
803 fast2.setDaemon(true);
804
805 fast2.start();
806 slow.start();
807 fast1.start();
808 try {
809 Thread.sleep(3000);
810 } catch (InterruptedException ie) {/*ignore */}
Mathieu Chartier7befd0e2014-02-03 17:48:41 -0800811 Runtime.getRuntime().gc();
jeffhao5d1ac922011-09-29 17:41:15 -0700812
813 System.out.println("b2302318 passes");
814 }
815
816 static void b2487514Test() {
817 PriorityBlockingQueue q = new PriorityBlockingQueue(10);
818 int catchCount = 0;
819
820 q.offer(new Integer(0));
821 /*
822 * Warm up the code cache to have toArray() compiled. The key here is
823 * to pass a compatible type so that there are no exceptions when
824 * executing the method body (ie the APUT_OBJECT bytecode).
825 */
826 for (int i = 0; i < 1000; i++) {
827 Integer[] ints = (Integer[]) q.toArray(new Integer[5]);
828 }
829
830 /* Now pass an incompatible type which is guaranteed to throw */
831 for (int i = 0; i < 1000; i++) {
832 try {
833 Object[] obj = q.toArray(new String[5]);
834 }
835 catch (ArrayStoreException success) {
836 catchCount++;
837 }
838 }
839
840 if (catchCount == 1000) {
841 System.out.println("b2487514 passes");
842 }
843 else {
844 System.out.println("b2487514 fails: catchCount is " + catchCount +
845 " (expecting 1000)");
846 }
847 }
buzbee9ab05de2012-01-18 15:43:48 -0800848
849 static void b5884080Test() {
850 int vA = 1;
851
852 int l = 0;
853 do
854 {
855 int k = 0;
856 do
857 vA += 1;
Elliott Hughesb25c3f62012-03-26 16:35:06 -0700858 while (++k < 100);
859 } while (++l < 1000);
buzbee9ab05de2012-01-18 15:43:48 -0800860 if (vA == 100001) {
861 System.out.println("b5884080 passes");
862 }
863 else {
864 System.out.println("b5884080 fails: vA is " + vA +
865 " (expecting 100001)");
866 }
867 }
buzbee4922ef92012-02-24 14:32:20 -0800868
Brian Carlstromb20d24d2014-03-27 16:54:27 -0700869 static void b13679511Test() {
870 System.out.println("b13679511Test starting");
871 int[] nn = { 1, 2, 3, 4 };
872 for (int i : nn) {
873 System.out.println(i);
874 }
875 int len = nn.length;
876 System.out.println(nn.length);
877 System.out.println(nn.length % 3);
878 System.out.println(len % 3);
879 System.out.println(4 % 3);
880 System.out.println((nn.length % 3) != 1);
881 System.out.println("b13679511Test finishing");
882 }
883
buzbee40bbb392014-03-19 12:28:16 -0700884 static double TooManyArgs(
885 long l00,
886 long l01,
887 long l02,
888 long l03,
889 long l04,
890 long l05,
891 long l06,
892 long l07,
893 long l08,
894 long l09,
895 long l10,
896 long l11,
897 long l12,
898 long l13,
899 long l14,
900 long l15,
901 long l16,
902 long l17,
903 long l18,
904 long l19,
905 long l20,
906 long l21,
907 long l22,
908 long l23,
909 long l24,
910 long l25,
911 long l26,
912 long l27,
913 long l28,
914 long l29,
915 long l30,
916 long l31,
917 long l32,
918 long l33,
919 long l34,
920 long l35,
921 long l36,
922 long l37,
923 long l38,
924 long l39,
925 long l40,
926 long l41,
927 long l42,
928 long l43,
929 long l44,
930 long l45,
931 long l46,
932 long l47,
933 long l48,
934 long l49,
935 long ll00,
936 long ll01,
937 long ll02,
938 long ll03,
939 long ll04,
940 long ll05,
941 long ll06,
942 long ll07,
943 long ll08,
944 long ll09,
945 long ll10,
946 long ll11,
947 long ll12,
948 long ll13,
949 long ll14,
950 long ll15,
951 long ll16,
952 long ll17,
953 long ll18,
954 long ll19,
955 double d01,
956 double d02,
957 double d03,
958 double d04,
959 double d05,
960 double d06,
961 double d07,
962 double d08,
963 double d09,
964 double d10,
965 double d11,
966 double d12,
967 double d13,
968 double d14,
969 double d15,
970 double d16,
971 double d17,
972 double d18,
973 double d19,
974 double d20,
975 double d21,
976 double d22,
977 double d23,
978 double d24,
979 double d25,
980 double d26,
981 double d27,
982 double d28,
983 double d29,
984 double d30,
985 double d31,
986 double d32,
987 double d33,
988 double d34,
989 double d35,
990 double d36,
991 double d37,
992 double d38,
993 double d39,
994 double d40,
995 double d41,
996 double d42,
997 double d43,
998 double d44,
999 double d45,
1000 double d46,
1001 double d47,
1002 double d48,
1003 double d49) {
1004 double res = 0.0;
1005 double t01 = d49;
1006 double t02 = 02.0 + t01;
1007 double t03 = 03.0 + t02;
1008 double t04 = 04.0 + t03;
1009 double t05 = 05.0 + t04;
1010 double t06 = 06.0 + t05;
1011 double t07 = 07.0 + t06;
1012 double t08 = 08.0 + t07;
1013 double t09 = 09.0 + t08;
1014 double t10 = 10.0 + t09;
1015 double t11 = 11.0 + t10;
1016 double t12 = 12.0 + t11;
1017 double t13 = 13.0 + t12;
1018 double t14 = 14.0 + t13;
1019 double t15 = 15.0 + t14;
1020 double t16 = 16.0 + t15;
1021 double t17 = 17.0 + t16;
1022 double t18 = 18.0 + t17;
1023 double t19 = 19.0 + t18;
1024 double t20 = 20.0 + t19;
1025 double t21 = 21.0 + t20;
1026 double t22 = 22.0 + t21;
1027 double t23 = 23.0 + t22;
1028 double t24 = 24.0 + t23;
1029 double t25 = 25.0 + t24;
1030 double t26 = 26.0 + t25;
1031 double t27 = 27.0 + t26;
1032 double t28 = 28.0 + t27;
1033 double t29 = 29.0 + t28;
1034 double t30 = 30.0 + t29;
1035 double t31 = 31.0 + t30;
1036 double t32 = 32.0 + t31;
1037 double t33 = 33.0 + t32;
1038 double t34 = 34.0 + t33;
1039 double t35 = 35.0 + t34;
1040 double t36 = 36.0 + t35;
1041 double t37 = 37.0 + t36;
1042 double t38 = 38.0 + t37;
1043 double t39 = 39.0 + t38;
1044 double t40 = 40.0 + t39;
1045 double tt02 = 02.0 + t40;
1046 double tt03 = 03.0 + tt02;
1047 double tt04 = 04.0 + tt03;
1048 double tt05 = 05.0 + tt04;
1049 double tt06 = 06.0 + tt05;
1050 double tt07 = 07.0 + tt06;
1051 double tt08 = 08.0 + tt07;
1052 double tt09 = 09.0 + tt08;
1053 double tt10 = 10.0 + tt09;
1054 double tt11 = 11.0 + tt10;
1055 double tt12 = 12.0 + tt11;
1056 double tt13 = 13.0 + tt12;
1057 double tt14 = 14.0 + tt13;
1058 double tt15 = 15.0 + tt14;
1059 double tt16 = 16.0 + tt15;
1060 double tt17 = 17.0 + tt16;
1061 double tt18 = 18.0 + tt17;
1062 double tt19 = 19.0 + tt18;
1063 double tt20 = 20.0 + tt19;
1064 double tt21 = 21.0 + tt20;
1065 double tt22 = 22.0 + tt21;
1066 double tt23 = 23.0 + tt22;
1067 double tt24 = 24.0 + tt23;
1068 double tt25 = 25.0 + tt24;
1069 double tt26 = 26.0 + tt25;
1070 double tt27 = 27.0 + tt26;
1071 double tt28 = 28.0 + tt27;
1072 double tt29 = 29.0 + tt28;
1073 double tt30 = 30.0 + tt29;
1074 double tt31 = 31.0 + tt30;
1075 double tt32 = 32.0 + tt31;
1076 double tt33 = 33.0 + tt32;
1077 double tt34 = 34.0 + tt33;
1078 double tt35 = 35.0 + tt34;
1079 double tt36 = 36.0 + tt35;
1080 double tt37 = 37.0 + tt36;
1081 double tt38 = 38.0 + tt37;
1082 double tt39 = 39.0 + tt38;
1083 double tt40 = 40.0 + tt39;
1084 double ttt02 = 02.0 + tt40;
1085 double ttt03 = 03.0 + ttt02;
1086 double ttt04 = 04.0 + ttt03;
1087 double ttt05 = 05.0 + ttt04;
1088 double ttt06 = 06.0 + ttt05;
1089 double ttt07 = 07.0 + ttt06;
1090 double ttt08 = 08.0 + ttt07;
1091 double ttt09 = 09.0 + ttt08;
1092 double ttt10 = 10.0 + ttt09;
1093 double ttt11 = 11.0 + ttt10;
1094 double ttt12 = 12.0 + ttt11;
1095 double ttt13 = 13.0 + ttt12;
1096 double ttt14 = 14.0 + ttt13;
1097 double ttt15 = 15.0 + ttt14;
1098 double ttt16 = 16.0 + ttt15;
1099 double ttt17 = 17.0 + ttt16;
1100 double ttt18 = 18.0 + ttt17;
1101 double ttt19 = 19.0 + ttt18;
1102 double ttt20 = 20.0 + ttt19;
1103 double ttt21 = 21.0 + ttt20;
1104 double ttt22 = 22.0 + ttt21;
1105 double ttt23 = 23.0 + ttt22;
1106 double ttt24 = 24.0 + ttt23;
1107 double ttt25 = 25.0 + ttt24;
1108 double ttt26 = 26.0 + ttt25;
1109 double ttt27 = 27.0 + ttt26;
1110 double ttt28 = 28.0 + ttt27;
1111 double ttt29 = 29.0 + ttt28;
1112 double ttt30 = 30.0 + ttt29;
1113 double ttt31 = 31.0 + ttt30;
1114 // Repeatedly use some doubles from the middle of the pack to trigger promotion from frame-passed args.
1115 for (int i = 0; i < 100; i++) {
1116 res += d40;
1117 res += d41;
1118 res += d42;
1119 res += d43;
1120 res += d44;
1121 res += d45;
1122 res += d46;
1123 res += d47;
1124 res += d48;
1125 }
1126 for (int i = 0; i < 100; i++) {
1127 res += d40;
1128 res += d41;
1129 res += d42;
1130 res += d43;
1131 res += d44;
1132 res += d45;
1133 res += d46;
1134 res += d47;
1135 res += d48;
1136 }
1137 for (int i = 0; i < 100; i++) {
1138 res += d40;
1139 res += d41;
1140 res += d42;
1141 res += d43;
1142 res += d44;
1143 res += d45;
1144 res += d46;
1145 res += d47;
1146 res += d48;
1147 }
1148 for (int i = 0; i < 100; i++) {
1149 res += d40;
1150 res += d41;
1151 res += d42;
1152 res += d43;
1153 res += d44;
1154 res += d45;
1155 res += d46;
1156 res += d47;
1157 res += d48;
1158 }
1159 return res + tt40;
1160 }
1161
1162 public static void ManyFloatArgs() {
1163 double res = TooManyArgs(
1164 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1165 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1166 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1167 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1168 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1169 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1170 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1171 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
1172 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0,
1173 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0,
1174 35.0, 36.0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49);
1175 if ((long)res == 160087) {
1176 System.out.println("ManyFloatArgs passes");
1177 } else {
buzbee6a8958d2014-03-20 07:07:53 -07001178 System.out.println("ManyFloatArgs fails, expected 160087, got: " + res);
buzbee40bbb392014-03-19 12:28:16 -07001179 }
1180 }
buzbee4922ef92012-02-24 14:32:20 -08001181 static long largeFrame() {
1182 int i0 = 0;
1183 long l0 = 0;
1184 int i1 = 1;
1185 long l1 = 1;
1186 int i2 = 2;
1187 long l2 = 2;
1188 int i3 = 3;
1189 long l3 = 3;
1190 int i4 = 4;
1191 long l4 = 4;
1192 int i5 = 5;
1193 long l5 = 5;
1194 int i6 = 6;
1195 long l6 = 6;
1196 int i7 = 7;
1197 long l7 = 7;
1198 int i8 = 8;
1199 long l8 = 8;
1200 int i9 = 9;
1201 long l9 = 9;
1202 int i10 = 10;
1203 long l10 = 10;
1204 int i11 = 11;
1205 long l11 = 11;
1206 int i12 = 12;
1207 long l12 = 12;
1208 int i13 = 13;
1209 long l13 = 13;
1210 int i14 = 14;
1211 long l14 = 14;
1212 int i15 = 15;
1213 long l15 = 15;
1214 int i16 = 16;
1215 long l16 = 16;
1216 int i17 = 17;
1217 long l17 = 17;
1218 int i18 = 18;
1219 long l18 = 18;
1220 int i19 = 19;
1221 long l19 = 19;
1222 int i20 = 20;
1223 long l20 = 20;
1224 int i21 = 21;
1225 long l21 = 21;
1226 int i22 = 22;
1227 long l22 = 22;
1228 int i23 = 23;
1229 long l23 = 23;
1230 int i24 = 24;
1231 long l24 = 24;
1232 int i25 = 25;
1233 long l25 = 25;
1234 int i26 = 26;
1235 long l26 = 26;
1236 int i27 = 27;
1237 long l27 = 27;
1238 int i28 = 28;
1239 long l28 = 28;
1240 int i29 = 29;
1241 long l29 = 29;
1242 int i30 = 30;
1243 long l30 = 30;
1244 int i31 = 31;
1245 long l31 = 31;
1246 int i32 = 32;
1247 long l32 = 32;
1248 int i33 = 33;
1249 long l33 = 33;
1250 int i34 = 34;
1251 long l34 = 34;
1252 int i35 = 35;
1253 long l35 = 35;
1254 int i36 = 36;
1255 long l36 = 36;
1256 int i37 = 37;
1257 long l37 = 37;
1258 int i38 = 38;
1259 long l38 = 38;
1260 int i39 = 39;
1261 long l39 = 39;
1262 int i40 = 40;
1263 long l40 = 40;
1264 int i41 = 41;
1265 long l41 = 41;
1266 int i42 = 42;
1267 long l42 = 42;
1268 int i43 = 43;
1269 long l43 = 43;
1270 int i44 = 44;
1271 long l44 = 44;
1272 int i45 = 45;
1273 long l45 = 45;
1274 int i46 = 46;
1275 long l46 = 46;
1276 int i47 = 47;
1277 long l47 = 47;
1278 int i48 = 48;
1279 long l48 = 48;
1280 int i49 = 49;
1281 long l49 = 49;
1282 int i50 = 50;
1283 long l50 = 50;
1284 int i51 = 51;
1285 long l51 = 51;
1286 int i52 = 52;
1287 long l52 = 52;
1288 int i53 = 53;
1289 long l53 = 53;
1290 int i54 = 54;
1291 long l54 = 54;
1292 int i55 = 55;
1293 long l55 = 55;
1294 int i56 = 56;
1295 long l56 = 56;
1296 int i57 = 57;
1297 long l57 = 57;
1298 int i58 = 58;
1299 long l58 = 58;
1300 int i59 = 59;
1301 long l59 = 59;
1302 int i60 = 60;
1303 long l60 = 60;
1304 int i61 = 61;
1305 long l61 = 61;
1306 int i62 = 62;
1307 long l62 = 62;
1308 int i63 = 63;
1309 long l63 = 63;
1310 int i64 = 64;
1311 long l64 = 64;
1312 int i65 = 65;
1313 long l65 = 65;
1314 int i66 = 66;
1315 long l66 = 66;
1316 int i67 = 67;
1317 long l67 = 67;
1318 int i68 = 68;
1319 long l68 = 68;
1320 int i69 = 69;
1321 long l69 = 69;
1322 int i70 = 70;
1323 long l70 = 70;
1324 int i71 = 71;
1325 long l71 = 71;
1326 int i72 = 72;
1327 long l72 = 72;
1328 int i73 = 73;
1329 long l73 = 73;
1330 int i74 = 74;
1331 long l74 = 74;
1332 int i75 = 75;
1333 long l75 = 75;
1334 int i76 = 76;
1335 long l76 = 76;
1336 int i77 = 77;
1337 long l77 = 77;
1338 int i78 = 78;
1339 long l78 = 78;
1340 int i79 = 79;
1341 long l79 = 79;
1342 int i80 = 80;
1343 long l80 = 80;
1344 int i81 = 81;
1345 long l81 = 81;
1346 int i82 = 82;
1347 long l82 = 82;
1348 int i83 = 83;
1349 long l83 = 83;
1350 int i84 = 84;
1351 long l84 = 84;
1352 int i85 = 85;
1353 long l85 = 85;
1354 int i86 = 86;
1355 long l86 = 86;
1356 int i87 = 87;
1357 long l87 = 87;
1358 int i88 = 88;
1359 long l88 = 88;
1360 int i89 = 89;
1361 long l89 = 89;
1362 int i90 = 90;
1363 long l90 = 90;
1364 int i91 = 91;
1365 long l91 = 91;
1366 int i92 = 92;
1367 long l92 = 92;
1368 int i93 = 93;
1369 long l93 = 93;
1370 int i94 = 94;
1371 long l94 = 94;
1372 int i95 = 95;
1373 long l95 = 95;
1374 int i96 = 96;
1375 long l96 = 96;
1376 int i97 = 97;
1377 long l97 = 97;
1378 int i98 = 98;
1379 long l98 = 98;
1380 int i99 = 99;
1381 long l99 = 99;
1382 int i100 = 100;
1383 long l100 = 100;
1384 int i101 = 101;
1385 long l101 = 101;
1386 int i102 = 102;
1387 long l102 = 102;
1388 int i103 = 103;
1389 long l103 = 103;
1390 int i104 = 104;
1391 long l104 = 104;
1392 int i105 = 105;
1393 long l105 = 105;
1394 int i106 = 106;
1395 long l106 = 106;
1396 int i107 = 107;
1397 long l107 = 107;
1398 int i108 = 108;
1399 long l108 = 108;
1400 int i109 = 109;
1401 long l109 = 109;
1402 int i110 = 110;
1403 long l110 = 110;
1404 int i111 = 111;
1405 long l111 = 111;
1406 int i112 = 112;
1407 long l112 = 112;
1408 int i113 = 113;
1409 long l113 = 113;
1410 int i114 = 114;
1411 long l114 = 114;
1412 int i115 = 115;
1413 long l115 = 115;
1414 int i116 = 116;
1415 long l116 = 116;
1416 int i117 = 117;
1417 long l117 = 117;
1418 int i118 = 118;
1419 long l118 = 118;
1420 int i119 = 119;
1421 long l119 = 119;
1422 int i120 = 120;
1423 long l120 = 120;
1424 int i121 = 121;
1425 long l121 = 121;
1426 int i122 = 122;
1427 long l122 = 122;
1428 int i123 = 123;
1429 long l123 = 123;
1430 int i124 = 124;
1431 long l124 = 124;
1432 int i125 = 125;
1433 long l125 = 125;
1434 int i126 = 126;
1435 long l126 = 126;
1436 int i127 = 127;
1437 long l127 = 127;
1438 int i128 = 128;
1439 long l128 = 128;
1440 int i129 = 129;
1441 long l129 = 129;
1442 int i130 = 130;
1443 long l130 = 130;
1444 int i131 = 131;
1445 long l131 = 131;
1446 int i132 = 132;
1447 long l132 = 132;
1448 int i133 = 133;
1449 long l133 = 133;
1450 int i134 = 134;
1451 long l134 = 134;
1452 int i135 = 135;
1453 long l135 = 135;
1454 int i136 = 136;
1455 long l136 = 136;
1456 int i137 = 137;
1457 long l137 = 137;
1458 int i138 = 138;
1459 long l138 = 138;
1460 int i139 = 139;
1461 long l139 = 139;
1462 int i140 = 140;
1463 long l140 = 140;
1464 int i141 = 141;
1465 long l141 = 141;
1466 int i142 = 142;
1467 long l142 = 142;
1468 int i143 = 143;
1469 long l143 = 143;
1470 int i144 = 144;
1471 long l144 = 144;
1472 int i145 = 145;
1473 long l145 = 145;
1474 int i146 = 146;
1475 long l146 = 146;
1476 int i147 = 147;
1477 long l147 = 147;
1478 int i148 = 148;
1479 long l148 = 148;
1480 int i149 = 149;
1481 long l149 = 149;
1482 int i150 = 150;
1483 long l150 = 150;
1484 int i151 = 151;
1485 long l151 = 151;
1486 int i152 = 152;
1487 long l152 = 152;
1488 int i153 = 153;
1489 long l153 = 153;
1490 int i154 = 154;
1491 long l154 = 154;
1492 int i155 = 155;
1493 long l155 = 155;
1494 int i156 = 156;
1495 long l156 = 156;
1496 int i157 = 157;
1497 long l157 = 157;
1498 int i158 = 158;
1499 long l158 = 158;
1500 int i159 = 159;
1501 long l159 = 159;
1502 int i160 = 160;
1503 long l160 = 160;
1504 int i161 = 161;
1505 long l161 = 161;
1506 int i162 = 162;
1507 long l162 = 162;
1508 int i163 = 163;
1509 long l163 = 163;
1510 int i164 = 164;
1511 long l164 = 164;
1512 int i165 = 165;
1513 long l165 = 165;
1514 int i166 = 166;
1515 long l166 = 166;
1516 int i167 = 167;
1517 long l167 = 167;
1518 int i168 = 168;
1519 long l168 = 168;
1520 int i169 = 169;
1521 long l169 = 169;
1522 int i170 = 170;
1523 long l170 = 170;
1524 int i171 = 171;
1525 long l171 = 171;
1526 int i172 = 172;
1527 long l172 = 172;
1528 int i173 = 173;
1529 long l173 = 173;
1530 int i174 = 174;
1531 long l174 = 174;
1532 int i175 = 175;
1533 long l175 = 175;
1534 int i176 = 176;
1535 long l176 = 176;
1536 int i177 = 177;
1537 long l177 = 177;
1538 int i178 = 178;
1539 long l178 = 178;
1540 int i179 = 179;
1541 long l179 = 179;
1542 int i180 = 180;
1543 long l180 = 180;
1544 int i181 = 181;
1545 long l181 = 181;
1546 int i182 = 182;
1547 long l182 = 182;
1548 int i183 = 183;
1549 long l183 = 183;
1550 int i184 = 184;
1551 long l184 = 184;
1552 int i185 = 185;
1553 long l185 = 185;
1554 int i186 = 186;
1555 long l186 = 186;
1556 int i187 = 187;
1557 long l187 = 187;
1558 int i188 = 188;
1559 long l188 = 188;
1560 int i189 = 189;
1561 long l189 = 189;
1562 int i190 = 190;
1563 long l190 = 190;
1564 int i191 = 191;
1565 long l191 = 191;
1566 int i192 = 192;
1567 long l192 = 192;
1568 int i193 = 193;
1569 long l193 = 193;
1570 int i194 = 194;
1571 long l194 = 194;
1572 int i195 = 195;
1573 long l195 = 195;
1574 int i196 = 196;
1575 long l196 = 196;
1576 int i197 = 197;
1577 long l197 = 197;
1578 int i198 = 198;
1579 long l198 = 198;
1580 int i199 = 199;
1581 long l199 = 199;
1582 int i200 = 200;
1583 long l200 = 200;
1584 int i201 = 201;
1585 long l201 = 201;
1586 int i202 = 202;
1587 long l202 = 202;
1588 int i203 = 203;
1589 long l203 = 203;
1590 int i204 = 204;
1591 long l204 = 204;
1592 int i205 = 205;
1593 long l205 = 205;
1594 int i206 = 206;
1595 long l206 = 206;
1596 int i207 = 207;
1597 long l207 = 207;
1598 int i208 = 208;
1599 long l208 = 208;
1600 int i209 = 209;
1601 long l209 = 209;
1602 int i210 = 210;
1603 long l210 = 210;
1604 int i211 = 211;
1605 long l211 = 211;
1606 int i212 = 212;
1607 long l212 = 212;
1608 int i213 = 213;
1609 long l213 = 213;
1610 int i214 = 214;
1611 long l214 = 214;
1612 int i215 = 215;
1613 long l215 = 215;
1614 int i216 = 216;
1615 long l216 = 216;
1616 int i217 = 217;
1617 long l217 = 217;
1618 int i218 = 218;
1619 long l218 = 218;
1620 int i219 = 219;
1621 long l219 = 219;
1622 int i220 = 220;
1623 long l220 = 220;
1624 int i221 = 221;
1625 long l221 = 221;
1626 int i222 = 222;
1627 long l222 = 222;
1628 int i223 = 223;
1629 long l223 = 223;
1630 int i224 = 224;
1631 long l224 = 224;
1632 int i225 = 225;
1633 long l225 = 225;
1634 int i226 = 226;
1635 long l226 = 226;
1636 int i227 = 227;
1637 long l227 = 227;
1638 int i228 = 228;
1639 long l228 = 228;
1640 int i229 = 229;
1641 long l229 = 229;
1642 int i230 = 230;
1643 long l230 = 230;
1644 int i231 = 231;
1645 long l231 = 231;
1646 int i232 = 232;
1647 long l232 = 232;
1648 int i233 = 233;
1649 long l233 = 233;
1650 int i234 = 234;
1651 long l234 = 234;
1652 int i235 = 235;
1653 long l235 = 235;
1654 int i236 = 236;
1655 long l236 = 236;
1656 int i237 = 237;
1657 long l237 = 237;
1658 int i238 = 238;
1659 long l238 = 238;
1660 int i239 = 239;
1661 long l239 = 239;
1662 int i240 = 240;
1663 long l240 = 240;
1664 int i241 = 241;
1665 long l241 = 241;
1666 int i242 = 242;
1667 long l242 = 242;
1668 int i243 = 243;
1669 long l243 = 243;
1670 int i244 = 244;
1671 long l244 = 244;
1672 int i245 = 245;
1673 long l245 = 245;
1674 int i246 = 246;
1675 long l246 = 246;
1676 int i247 = 247;
1677 long l247 = 247;
1678 int i248 = 248;
1679 long l248 = 248;
1680 int i249 = 249;
1681 long l249 = 249;
1682 int i250 = 250;
1683 long l250 = 250;
1684 int i251 = 251;
1685 long l251 = 251;
1686 int i252 = 252;
1687 long l252 = 252;
1688 int i253 = 253;
1689 long l253 = 253;
1690 int i254 = 254;
1691 long l254 = 254;
1692 int i255 = 255;
1693 long l255 = 255;
1694 int i256 = 256;
1695 long l256 = 256;
1696 int i257 = 257;
1697 long l257 = 257;
1698 int i258 = 258;
1699 long l258 = 258;
1700 int i259 = 259;
1701 long l259 = 259;
1702 int i260 = 260;
1703 long l260 = 260;
1704 int i261 = 261;
1705 long l261 = 261;
1706 int i262 = 262;
1707 long l262 = 262;
1708 int i263 = 263;
1709 long l263 = 263;
1710 int i264 = 264;
1711 long l264 = 264;
1712 int i265 = 265;
1713 long l265 = 265;
1714 int i266 = 266;
1715 long l266 = 266;
1716 int i267 = 267;
1717 long l267 = 267;
1718 int i268 = 268;
1719 long l268 = 268;
1720 int i269 = 269;
1721 long l269 = 269;
1722 int i270 = 270;
1723 long l270 = 270;
1724 int i271 = 271;
1725 long l271 = 271;
1726 int i272 = 272;
1727 long l272 = 272;
1728 int i273 = 273;
1729 long l273 = 273;
1730 int i274 = 274;
1731 long l274 = 274;
1732 int i275 = 275;
1733 long l275 = 275;
1734 int i276 = 276;
1735 long l276 = 276;
1736 int i277 = 277;
1737 long l277 = 277;
1738 int i278 = 278;
1739 long l278 = 278;
1740 int i279 = 279;
1741 long l279 = 279;
1742 int i280 = 280;
1743 long l280 = 280;
1744 int i281 = 281;
1745 long l281 = 281;
1746 int i282 = 282;
1747 long l282 = 282;
1748 int i283 = 283;
1749 long l283 = 283;
1750 int i284 = 284;
1751 long l284 = 284;
1752 int i285 = 285;
1753 long l285 = 285;
1754 int i286 = 286;
1755 long l286 = 286;
1756 int i287 = 287;
1757 long l287 = 287;
1758 int i288 = 288;
1759 long l288 = 288;
1760 int i289 = 289;
1761 long l289 = 289;
1762 int i290 = 290;
1763 long l290 = 290;
1764 int i291 = 291;
1765 long l291 = 291;
1766 int i292 = 292;
1767 long l292 = 292;
1768 int i293 = 293;
1769 long l293 = 293;
1770 int i294 = 294;
1771 long l294 = 294;
1772 int i295 = 295;
1773 long l295 = 295;
1774 int i296 = 296;
1775 long l296 = 296;
1776 int i297 = 297;
1777 long l297 = 297;
1778 int i298 = 298;
1779 long l298 = 298;
1780 int i299 = 299;
1781 long l299 = 299;
1782 int i300 = 300;
1783 long l300 = 300;
1784 int i301 = 301;
1785 long l301 = 301;
1786 int i302 = 302;
1787 long l302 = 302;
1788 int i303 = 303;
1789 long l303 = 303;
1790 int i304 = 304;
1791 long l304 = 304;
1792 int i305 = 305;
1793 long l305 = 305;
1794 int i306 = 306;
1795 long l306 = 306;
1796 int i307 = 307;
1797 long l307 = 307;
1798 int i308 = 308;
1799 long l308 = 308;
1800 int i309 = 309;
1801 long l309 = 309;
1802 int i310 = 310;
1803 long l310 = 310;
1804 int i311 = 311;
1805 long l311 = 311;
1806 int i312 = 312;
1807 long l312 = 312;
1808 int i313 = 313;
1809 long l313 = 313;
1810 int i314 = 314;
1811 long l314 = 314;
1812 int i315 = 315;
1813 long l315 = 315;
1814 int i316 = 316;
1815 long l316 = 316;
1816 int i317 = 317;
1817 long l317 = 317;
1818 int i318 = 318;
1819 long l318 = 318;
1820 int i319 = 319;
1821 long l319 = 319;
1822 int i320 = 320;
1823 long l320 = 320;
1824 int i321 = 321;
1825 long l321 = 321;
1826 int i322 = 322;
1827 long l322 = 322;
1828 int i323 = 323;
1829 long l323 = 323;
1830 int i324 = 324;
1831 long l324 = 324;
1832 int i325 = 325;
1833 long l325 = 325;
1834 int i326 = 326;
1835 long l326 = 326;
1836 int i327 = 327;
1837 long l327 = 327;
1838 int i328 = 328;
1839 long l328 = 328;
1840 int i329 = 329;
1841 long l329 = 329;
1842 int i330 = 330;
1843 long l330 = 330;
1844 int i331 = 331;
1845 long l331 = 331;
1846 int i332 = 332;
1847 long l332 = 332;
1848 int i333 = 333;
1849 long l333 = 333;
1850 int i334 = 334;
1851 long l334 = 334;
1852 int i335 = 335;
1853 long l335 = 335;
1854 int i336 = 336;
1855 long l336 = 336;
1856 int i337 = 337;
1857 long l337 = 337;
1858 int i338 = 338;
1859 long l338 = 338;
1860 int i339 = 339;
1861 long l339 = 339;
1862 int i340 = 340;
1863 long l340 = 340;
1864 int i341 = 341;
1865 long l341 = 341;
1866 int i342 = 342;
1867 long l342 = 342;
1868 int i343 = 343;
1869 long l343 = 343;
1870 int i344 = 344;
1871 long l344 = 344;
1872 int i345 = 345;
1873 long l345 = 345;
1874 int i346 = 346;
1875 long l346 = 346;
1876 int i347 = 347;
1877 long l347 = 347;
1878 int i348 = 348;
1879 long l348 = 348;
1880 int i349 = 349;
1881 long l349 = 349;
1882 int i350 = 350;
1883 long l350 = 350;
1884 int i351 = 351;
1885 long l351 = 351;
1886 int i352 = 352;
1887 long l352 = 352;
1888 int i353 = 353;
1889 long l353 = 353;
1890 int i354 = 354;
1891 long l354 = 354;
1892 int i355 = 355;
1893 long l355 = 355;
1894 int i356 = 356;
1895 long l356 = 356;
1896 int i357 = 357;
1897 long l357 = 357;
1898 int i358 = 358;
1899 long l358 = 358;
1900 int i359 = 359;
1901 long l359 = 359;
1902 int i360 = 360;
1903 long l360 = 360;
1904 int i361 = 361;
1905 long l361 = 361;
1906 int i362 = 362;
1907 long l362 = 362;
1908 int i363 = 363;
1909 long l363 = 363;
1910 int i364 = 364;
1911 long l364 = 364;
1912 int i365 = 365;
1913 long l365 = 365;
1914 int i366 = 366;
1915 long l366 = 366;
1916 int i367 = 367;
1917 long l367 = 367;
1918 int i368 = 368;
1919 long l368 = 368;
1920 int i369 = 369;
1921 long l369 = 369;
1922 int i370 = 370;
1923 long l370 = 370;
1924 int i371 = 371;
1925 long l371 = 371;
1926 int i372 = 372;
1927 long l372 = 372;
1928 int i373 = 373;
1929 long l373 = 373;
1930 int i374 = 374;
1931 long l374 = 374;
1932 int i375 = 375;
1933 long l375 = 375;
1934 int i376 = 376;
1935 long l376 = 376;
1936 int i377 = 377;
1937 long l377 = 377;
1938 int i378 = 378;
1939 long l378 = 378;
1940 int i379 = 379;
1941 long l379 = 379;
1942 int i380 = 380;
1943 long l380 = 380;
1944 int i381 = 381;
1945 long l381 = 381;
1946 int i382 = 382;
1947 long l382 = 382;
1948 int i383 = 383;
1949 long l383 = 383;
1950 int i384 = 384;
1951 long l384 = 384;
1952 int i385 = 385;
1953 long l385 = 385;
1954 int i386 = 386;
1955 long l386 = 386;
1956 int i387 = 387;
1957 long l387 = 387;
1958 int i388 = 388;
1959 long l388 = 388;
1960 int i389 = 389;
1961 long l389 = 389;
1962 int i390 = 390;
1963 long l390 = 390;
1964 int i391 = 391;
1965 long l391 = 391;
1966 int i392 = 392;
1967 long l392 = 392;
1968 int i393 = 393;
1969 long l393 = 393;
1970 int i394 = 394;
1971 long l394 = 394;
1972 int i395 = 395;
1973 long l395 = 395;
1974 int i396 = 396;
1975 long l396 = 396;
1976 int i397 = 397;
1977 long l397 = 397;
1978 int i398 = 398;
1979 long l398 = 398;
1980 int i399 = 399;
1981 long l399 = 399;
1982 int i400 = 400;
1983 long l400 = 400;
1984 int i401 = 401;
1985 long l401 = 401;
1986 int i402 = 402;
1987 long l402 = 402;
1988 int i403 = 403;
1989 long l403 = 403;
1990 int i404 = 404;
1991 long l404 = 404;
1992 int i405 = 405;
1993 long l405 = 405;
1994 int i406 = 406;
1995 long l406 = 406;
1996 int i407 = 407;
1997 long l407 = 407;
1998 int i408 = 408;
1999 long l408 = 408;
2000 int i409 = 409;
2001 long l409 = 409;
2002 int i410 = 410;
2003 long l410 = 410;
2004 int i411 = 411;
2005 long l411 = 411;
2006 int i412 = 412;
2007 long l412 = 412;
2008 int i413 = 413;
2009 long l413 = 413;
2010 int i414 = 414;
2011 long l414 = 414;
2012 int i415 = 415;
2013 long l415 = 415;
2014 int i416 = 416;
2015 long l416 = 416;
2016 int i417 = 417;
2017 long l417 = 417;
2018 int i418 = 418;
2019 long l418 = 418;
2020 int i419 = 419;
2021 long l419 = 419;
2022 int i420 = 420;
2023 long l420 = 420;
2024 int i421 = 421;
2025 long l421 = 421;
2026 int i422 = 422;
2027 long l422 = 422;
2028 int i423 = 423;
2029 long l423 = 423;
2030 int i424 = 424;
2031 long l424 = 424;
2032 int i425 = 425;
2033 long l425 = 425;
2034 int i426 = 426;
2035 long l426 = 426;
2036 int i427 = 427;
2037 long l427 = 427;
2038 int i428 = 428;
2039 long l428 = 428;
2040 int i429 = 429;
2041 long l429 = 429;
2042 int i430 = 430;
2043 long l430 = 430;
2044 int i431 = 431;
2045 long l431 = 431;
2046 int i432 = 432;
2047 long l432 = 432;
2048 int i433 = 433;
2049 long l433 = 433;
2050 int i434 = 434;
2051 long l434 = 434;
2052 int i435 = 435;
2053 long l435 = 435;
2054 int i436 = 436;
2055 long l436 = 436;
2056 int i437 = 437;
2057 long l437 = 437;
2058 int i438 = 438;
2059 long l438 = 438;
2060 int i439 = 439;
2061 long l439 = 439;
2062 int i440 = 440;
2063 long l440 = 440;
2064 int i441 = 441;
2065 long l441 = 441;
2066 int i442 = 442;
2067 long l442 = 442;
2068 int i443 = 443;
2069 long l443 = 443;
2070 int i444 = 444;
2071 long l444 = 444;
2072 int i445 = 445;
2073 long l445 = 445;
2074 int i446 = 446;
2075 long l446 = 446;
2076 int i447 = 447;
2077 long l447 = 447;
2078 int i448 = 448;
2079 long l448 = 448;
2080 int i449 = 449;
2081 long l449 = 449;
2082 int i450 = 450;
2083 long l450 = 450;
2084 int i451 = 451;
2085 long l451 = 451;
2086 int i452 = 452;
2087 long l452 = 452;
2088 int i453 = 453;
2089 long l453 = 453;
2090 int i454 = 454;
2091 long l454 = 454;
2092 int i455 = 455;
2093 long l455 = 455;
2094 int i456 = 456;
2095 long l456 = 456;
2096 int i457 = 457;
2097 long l457 = 457;
2098 int i458 = 458;
2099 long l458 = 458;
2100 int i459 = 459;
2101 long l459 = 459;
2102 int i460 = 460;
2103 long l460 = 460;
2104 int i461 = 461;
2105 long l461 = 461;
2106 int i462 = 462;
2107 long l462 = 462;
2108 int i463 = 463;
2109 long l463 = 463;
2110 int i464 = 464;
2111 long l464 = 464;
2112 int i465 = 465;
2113 long l465 = 465;
2114 int i466 = 466;
2115 long l466 = 466;
2116 int i467 = 467;
2117 long l467 = 467;
2118 int i468 = 468;
2119 long l468 = 468;
2120 int i469 = 469;
2121 long l469 = 469;
2122 int i470 = 470;
2123 long l470 = 470;
2124 int i471 = 471;
2125 long l471 = 471;
2126 int i472 = 472;
2127 long l472 = 472;
2128 int i473 = 473;
2129 long l473 = 473;
2130 int i474 = 474;
2131 long l474 = 474;
2132 int i475 = 475;
2133 long l475 = 475;
2134 int i476 = 476;
2135 long l476 = 476;
2136 int i477 = 477;
2137 long l477 = 477;
2138 int i478 = 478;
2139 long l478 = 478;
2140 int i479 = 479;
2141 long l479 = 479;
2142 int i480 = 480;
2143 long l480 = 480;
2144 int i481 = 481;
2145 long l481 = 481;
2146 int i482 = 482;
2147 long l482 = 482;
2148 int i483 = 483;
2149 long l483 = 483;
2150 int i484 = 484;
2151 long l484 = 484;
2152 int i485 = 485;
2153 long l485 = 485;
2154 int i486 = 486;
2155 long l486 = 486;
2156 int i487 = 487;
2157 long l487 = 487;
2158 int i488 = 488;
2159 long l488 = 488;
2160 int i489 = 489;
2161 long l489 = 489;
2162 int i490 = 490;
2163 long l490 = 490;
2164 int i491 = 491;
2165 long l491 = 491;
2166 int i492 = 492;
2167 long l492 = 492;
2168 int i493 = 493;
2169 long l493 = 493;
2170 int i494 = 494;
2171 long l494 = 494;
2172 int i495 = 495;
2173 long l495 = 495;
2174 int i496 = 496;
2175 long l496 = 496;
2176 int i497 = 497;
2177 long l497 = 497;
2178 int i498 = 498;
2179 long l498 = 498;
2180 int i499 = 499;
2181 long l499 = 499;
2182 int i500 = 500;
2183 long l500 = 500;
2184 int i501 = 501;
2185 long l501 = 501;
2186 int i502 = 502;
2187 long l502 = 502;
2188 int i503 = 503;
2189 long l503 = 503;
2190 int i504 = 504;
2191 long l504 = 504;
2192 int i505 = 505;
2193 long l505 = 505;
2194 int i506 = 506;
2195 long l506 = 506;
2196 int i507 = 507;
2197 long l507 = 507;
2198 int i508 = 508;
2199 long l508 = 508;
2200 int i509 = 509;
2201 long l509 = 509;
2202 int i510 = 510;
2203 long l510 = 510;
2204 int i511 = 511;
2205 long l511 = 511;
2206 int i512 = 512;
2207 long l512 = 512;
2208 int i513 = 513;
2209 long l513 = 513;
2210 int i514 = 514;
2211 long l514 = 514;
2212 int i515 = 515;
2213 long l515 = 515;
2214 int i516 = 516;
2215 long l516 = 516;
2216 int i517 = 517;
2217 long l517 = 517;
2218 int i518 = 518;
2219 long l518 = 518;
2220 int i519 = 519;
2221 long l519 = 519;
2222 int i520 = 520;
2223 long l520 = 520;
2224 int i521 = 521;
2225 long l521 = 521;
2226 int i522 = 522;
2227 long l522 = 522;
2228 int i523 = 523;
2229 long l523 = 523;
2230 int i524 = 524;
2231 long l524 = 524;
2232 int i525 = 525;
2233 long l525 = 525;
2234 int i526 = 526;
2235 long l526 = 526;
2236 int i527 = 527;
2237 long l527 = 527;
2238 int i528 = 528;
2239 long l528 = 528;
2240 int i529 = 529;
2241 long l529 = 529;
2242 int i530 = 530;
2243 long l530 = 530;
2244 int i531 = 531;
2245 long l531 = 531;
2246 int i532 = 532;
2247 long l532 = 532;
2248 int i533 = 533;
2249 long l533 = 533;
2250 int i534 = 534;
2251 long l534 = 534;
2252 int i535 = 535;
2253 long l535 = 535;
2254 int i536 = 536;
2255 long l536 = 536;
2256 int i537 = 537;
2257 long l537 = 537;
2258 int i538 = 538;
2259 long l538 = 538;
2260 int i539 = 539;
2261 long l539 = 539;
2262 int i540 = 540;
2263 long l540 = 540;
2264 int i541 = 541;
2265 long l541 = 541;
2266 int i542 = 542;
2267 long l542 = 542;
2268 int i543 = 543;
2269 long l543 = 543;
2270 int i544 = 544;
2271 long l544 = 544;
2272 int i545 = 545;
2273 long l545 = 545;
2274 int i546 = 546;
2275 long l546 = 546;
2276 int i547 = 547;
2277 long l547 = 547;
2278 int i548 = 548;
2279 long l548 = 548;
2280 int i549 = 549;
2281 long l549 = 549;
2282 int i550 = 550;
2283 long l550 = 550;
2284 int i551 = 551;
2285 long l551 = 551;
2286 int i552 = 552;
2287 long l552 = 552;
2288 int i553 = 553;
2289 long l553 = 553;
2290 int i554 = 554;
2291 long l554 = 554;
2292 int i555 = 555;
2293 long l555 = 555;
2294 int i556 = 556;
2295 long l556 = 556;
2296 int i557 = 557;
2297 long l557 = 557;
2298 int i558 = 558;
2299 long l558 = 558;
2300 int i559 = 559;
2301 long l559 = 559;
2302 int i560 = 560;
2303 long l560 = 560;
2304 int i561 = 561;
2305 long l561 = 561;
2306 int i562 = 562;
2307 long l562 = 562;
2308 int i563 = 563;
2309 long l563 = 563;
2310 int i564 = 564;
2311 long l564 = 564;
2312 int i565 = 565;
2313 long l565 = 565;
2314 int i566 = 566;
2315 long l566 = 566;
2316 int i567 = 567;
2317 long l567 = 567;
2318 int i568 = 568;
2319 long l568 = 568;
2320 int i569 = 569;
2321 long l569 = 569;
2322 int i570 = 570;
2323 long l570 = 570;
2324 int i571 = 571;
2325 long l571 = 571;
2326 int i572 = 572;
2327 long l572 = 572;
2328 int i573 = 573;
2329 long l573 = 573;
2330 int i574 = 574;
2331 long l574 = 574;
2332 int i575 = 575;
2333 long l575 = 575;
2334 int i576 = 576;
2335 long l576 = 576;
2336 int i577 = 577;
2337 long l577 = 577;
2338 int i578 = 578;
2339 long l578 = 578;
2340 int i579 = 579;
2341 long l579 = 579;
2342 int i580 = 580;
2343 long l580 = 580;
2344 int i581 = 581;
2345 long l581 = 581;
2346 int i582 = 582;
2347 long l582 = 582;
2348 int i583 = 583;
2349 long l583 = 583;
2350 int i584 = 584;
2351 long l584 = 584;
2352 int i585 = 585;
2353 long l585 = 585;
2354 int i586 = 586;
2355 long l586 = 586;
2356 int i587 = 587;
2357 long l587 = 587;
2358 int i588 = 588;
2359 long l588 = 588;
2360 int i589 = 589;
2361 long l589 = 589;
2362 int i590 = 590;
2363 long l590 = 590;
2364 int i591 = 591;
2365 long l591 = 591;
2366 int i592 = 592;
2367 long l592 = 592;
2368 int i593 = 593;
2369 long l593 = 593;
2370 int i594 = 594;
2371 long l594 = 594;
2372 int i595 = 595;
2373 long l595 = 595;
2374 int i596 = 596;
2375 long l596 = 596;
2376 int i597 = 597;
2377 long l597 = 597;
2378 int i598 = 598;
2379 long l598 = 598;
2380 int i599 = 599;
2381 long l599 = 599;
2382 int i600 = 600;
2383 long l600 = 600;
2384 int i601 = 601;
2385 long l601 = 601;
2386 int i602 = 602;
2387 long l602 = 602;
2388 int i603 = 603;
2389 long l603 = 603;
2390 int i604 = 604;
2391 long l604 = 604;
2392 int i605 = 605;
2393 long l605 = 605;
2394 int i606 = 606;
2395 long l606 = 606;
2396 int i607 = 607;
2397 long l607 = 607;
2398 int i608 = 608;
2399 long l608 = 608;
2400 int i609 = 609;
2401 long l609 = 609;
2402 int i610 = 610;
2403 long l610 = 610;
2404 int i611 = 611;
2405 long l611 = 611;
2406 int i612 = 612;
2407 long l612 = 612;
2408 int i613 = 613;
2409 long l613 = 613;
2410 int i614 = 614;
2411 long l614 = 614;
2412 int i615 = 615;
2413 long l615 = 615;
2414 int i616 = 616;
2415 long l616 = 616;
2416 int i617 = 617;
2417 long l617 = 617;
2418 int i618 = 618;
2419 long l618 = 618;
2420 int i619 = 619;
2421 long l619 = 619;
2422 int i620 = 620;
2423 long l620 = 620;
2424 int i621 = 621;
2425 long l621 = 621;
2426 int i622 = 622;
2427 long l622 = 622;
2428 int i623 = 623;
2429 long l623 = 623;
2430 int i624 = 624;
2431 long l624 = 624;
2432 int i625 = 625;
2433 long l625 = 625;
2434 int i626 = 626;
2435 long l626 = 626;
2436 int i627 = 627;
2437 long l627 = 627;
2438 int i628 = 628;
2439 long l628 = 628;
2440 int i629 = 629;
2441 long l629 = 629;
2442 int i630 = 630;
2443 long l630 = 630;
2444 int i631 = 631;
2445 long l631 = 631;
2446 int i632 = 632;
2447 long l632 = 632;
2448 int i633 = 633;
2449 long l633 = 633;
2450 int i634 = 634;
2451 long l634 = 634;
2452 int i635 = 635;
2453 long l635 = 635;
2454 int i636 = 636;
2455 long l636 = 636;
2456 int i637 = 637;
2457 long l637 = 637;
2458 int i638 = 638;
2459 long l638 = 638;
2460 int i639 = 639;
2461 long l639 = 639;
2462 int i640 = 640;
2463 long l640 = 640;
2464 int i641 = 641;
2465 long l641 = 641;
2466 int i642 = 642;
2467 long l642 = 642;
2468 int i643 = 643;
2469 long l643 = 643;
2470 int i644 = 644;
2471 long l644 = 644;
2472 int i645 = 645;
2473 long l645 = 645;
2474 int i646 = 646;
2475 long l646 = 646;
2476 int i647 = 647;
2477 long l647 = 647;
2478 int i648 = 648;
2479 long l648 = 648;
2480 int i649 = 649;
2481 long l649 = 649;
2482 int i650 = 650;
2483 long l650 = 650;
2484 int i651 = 651;
2485 long l651 = 651;
2486 int i652 = 652;
2487 long l652 = 652;
2488 int i653 = 653;
2489 long l653 = 653;
2490 int i654 = 654;
2491 long l654 = 654;
2492 int i655 = 655;
2493 long l655 = 655;
2494 int i656 = 656;
2495 long l656 = 656;
2496 int i657 = 657;
2497 long l657 = 657;
2498 int i658 = 658;
2499 long l658 = 658;
2500 int i659 = 659;
2501 long l659 = 659;
2502 int i660 = 660;
2503 long l660 = 660;
2504 int i661 = 661;
2505 long l661 = 661;
2506 int i662 = 662;
2507 long l662 = 662;
2508 int i663 = 663;
2509 long l663 = 663;
2510 int i664 = 664;
2511 long l664 = 664;
2512 int i665 = 665;
2513 long l665 = 665;
2514 int i666 = 666;
2515 long l666 = 666;
2516 int i667 = 667;
2517 long l667 = 667;
2518 int i668 = 668;
2519 long l668 = 668;
2520 int i669 = 669;
2521 long l669 = 669;
2522 int i670 = 670;
2523 long l670 = 670;
2524 int i671 = 671;
2525 long l671 = 671;
2526 int i672 = 672;
2527 long l672 = 672;
2528 int i673 = 673;
2529 long l673 = 673;
2530 int i674 = 674;
2531 long l674 = 674;
2532 int i675 = 675;
2533 long l675 = 675;
2534 int i676 = 676;
2535 long l676 = 676;
2536 int i677 = 677;
2537 long l677 = 677;
2538 int i678 = 678;
2539 long l678 = 678;
2540 int i679 = 679;
2541 long l679 = 679;
2542 int i680 = 680;
2543 long l680 = 680;
2544 int i681 = 681;
2545 long l681 = 681;
2546 int i682 = 682;
2547 long l682 = 682;
2548 int i683 = 683;
2549 long l683 = 683;
2550 int i684 = 684;
2551 long l684 = 684;
2552 int i685 = 685;
2553 long l685 = 685;
2554 int i686 = 686;
2555 long l686 = 686;
2556 int i687 = 687;
2557 long l687 = 687;
2558 int i688 = 688;
2559 long l688 = 688;
2560 int i689 = 689;
2561 long l689 = 689;
2562 int i690 = 690;
2563 long l690 = 690;
2564 int i691 = 691;
2565 long l691 = 691;
2566 int i692 = 692;
2567 long l692 = 692;
2568 int i693 = 693;
2569 long l693 = 693;
2570 int i694 = 694;
2571 long l694 = 694;
2572 int i695 = 695;
2573 long l695 = 695;
2574 int i696 = 696;
2575 long l696 = 696;
2576 int i697 = 697;
2577 long l697 = 697;
2578 int i698 = 698;
2579 long l698 = 698;
2580 int i699 = 699;
2581 long l699 = 699;
2582 int i700 = 700;
2583 long l700 = 700;
2584 int i701 = 701;
2585 long l701 = 701;
2586 int i702 = 702;
2587 long l702 = 702;
2588 int i703 = 703;
2589 long l703 = 703;
2590 int i704 = 704;
2591 long l704 = 704;
2592 int i705 = 705;
2593 long l705 = 705;
2594 int i706 = 706;
2595 long l706 = 706;
2596 int i707 = 707;
2597 long l707 = 707;
2598 int i708 = 708;
2599 long l708 = 708;
2600 int i709 = 709;
2601 long l709 = 709;
2602 int i710 = 710;
2603 long l710 = 710;
2604 int i711 = 711;
2605 long l711 = 711;
2606 int i712 = 712;
2607 long l712 = 712;
2608 int i713 = 713;
2609 long l713 = 713;
2610 int i714 = 714;
2611 long l714 = 714;
2612 int i715 = 715;
2613 long l715 = 715;
2614 int i716 = 716;
2615 long l716 = 716;
2616 int i717 = 717;
2617 long l717 = 717;
2618 int i718 = 718;
2619 long l718 = 718;
2620 int i719 = 719;
2621 long l719 = 719;
2622 int i720 = 720;
2623 long l720 = 720;
2624 int i721 = 721;
2625 long l721 = 721;
2626 int i722 = 722;
2627 long l722 = 722;
2628 int i723 = 723;
2629 long l723 = 723;
2630 int i724 = 724;
2631 long l724 = 724;
2632 int i725 = 725;
2633 long l725 = 725;
2634 int i726 = 726;
2635 long l726 = 726;
2636 int i727 = 727;
2637 long l727 = 727;
2638 int i728 = 728;
2639 long l728 = 728;
2640 int i729 = 729;
2641 long l729 = 729;
2642 int i730 = 730;
2643 long l730 = 730;
2644 int i731 = 731;
2645 long l731 = 731;
2646 int i732 = 732;
2647 long l732 = 732;
2648 int i733 = 733;
2649 long l733 = 733;
2650 int i734 = 734;
2651 long l734 = 734;
2652 int i735 = 735;
2653 long l735 = 735;
2654 int i736 = 736;
2655 long l736 = 736;
2656 int i737 = 737;
2657 long l737 = 737;
2658 int i738 = 738;
2659 long l738 = 738;
2660 int i739 = 739;
2661 long l739 = 739;
2662 int i740 = 740;
2663 long l740 = 740;
2664 int i741 = 741;
2665 long l741 = 741;
2666 int i742 = 742;
2667 long l742 = 742;
2668 int i743 = 743;
2669 long l743 = 743;
2670 int i744 = 744;
2671 long l744 = 744;
2672 int i745 = 745;
2673 long l745 = 745;
2674 int i746 = 746;
2675 long l746 = 746;
2676 int i747 = 747;
2677 long l747 = 747;
2678 int i748 = 748;
2679 long l748 = 748;
2680 int i749 = 749;
2681 long l749 = 749;
2682 int i750 = 750;
2683 long l750 = 750;
2684 int i751 = 751;
2685 long l751 = 751;
2686 int i752 = 752;
2687 long l752 = 752;
2688 int i753 = 753;
2689 long l753 = 753;
2690 int i754 = 754;
2691 long l754 = 754;
2692 int i755 = 755;
2693 long l755 = 755;
2694 int i756 = 756;
2695 long l756 = 756;
2696 int i757 = 757;
2697 long l757 = 757;
2698 int i758 = 758;
2699 long l758 = 758;
2700 int i759 = 759;
2701 long l759 = 759;
2702 int i760 = 760;
2703 long l760 = 760;
2704 int i761 = 761;
2705 long l761 = 761;
2706 int i762 = 762;
2707 long l762 = 762;
2708 int i763 = 763;
2709 long l763 = 763;
2710 int i764 = 764;
2711 long l764 = 764;
2712 int i765 = 765;
2713 long l765 = 765;
2714 int i766 = 766;
2715 long l766 = 766;
2716 int i767 = 767;
2717 long l767 = 767;
2718 int i768 = 768;
2719 long l768 = 768;
2720 int i769 = 769;
2721 long l769 = 769;
2722 int i770 = 770;
2723 long l770 = 770;
2724 int i771 = 771;
2725 long l771 = 771;
2726 int i772 = 772;
2727 long l772 = 772;
2728 int i773 = 773;
2729 long l773 = 773;
2730 int i774 = 774;
2731 long l774 = 774;
2732 int i775 = 775;
2733 long l775 = 775;
2734 int i776 = 776;
2735 long l776 = 776;
2736 int i777 = 777;
2737 long l777 = 777;
2738 int i778 = 778;
2739 long l778 = 778;
2740 int i779 = 779;
2741 long l779 = 779;
2742 int i780 = 780;
2743 long l780 = 780;
2744 int i781 = 781;
2745 long l781 = 781;
2746 int i782 = 782;
2747 long l782 = 782;
2748 int i783 = 783;
2749 long l783 = 783;
2750 int i784 = 784;
2751 long l784 = 784;
2752 int i785 = 785;
2753 long l785 = 785;
2754 int i786 = 786;
2755 long l786 = 786;
2756 int i787 = 787;
2757 long l787 = 787;
2758 int i788 = 788;
2759 long l788 = 788;
2760 int i789 = 789;
2761 long l789 = 789;
2762 int i790 = 790;
2763 long l790 = 790;
2764 int i791 = 791;
2765 long l791 = 791;
2766 int i792 = 792;
2767 long l792 = 792;
2768 int i793 = 793;
2769 long l793 = 793;
2770 int i794 = 794;
2771 long l794 = 794;
2772 int i795 = 795;
2773 long l795 = 795;
2774 int i796 = 796;
2775 long l796 = 796;
2776 int i797 = 797;
2777 long l797 = 797;
2778 int i798 = 798;
2779 long l798 = 798;
2780 int i799 = 799;
2781 long l799 = 799;
2782 int i800 = 800;
2783 long l800 = 800;
2784 int i801 = 801;
2785 long l801 = 801;
2786 int i802 = 802;
2787 long l802 = 802;
2788 int i803 = 803;
2789 long l803 = 803;
2790 int i804 = 804;
2791 long l804 = 804;
2792 int i805 = 805;
2793 long l805 = 805;
2794 int i806 = 806;
2795 long l806 = 806;
2796 int i807 = 807;
2797 long l807 = 807;
2798 int i808 = 808;
2799 long l808 = 808;
2800 int i809 = 809;
2801 long l809 = 809;
2802 int i810 = 810;
2803 long l810 = 810;
2804 int i811 = 811;
2805 long l811 = 811;
2806 int i812 = 812;
2807 long l812 = 812;
2808 int i813 = 813;
2809 long l813 = 813;
2810 int i814 = 814;
2811 long l814 = 814;
2812 int i815 = 815;
2813 long l815 = 815;
2814 int i816 = 816;
2815 long l816 = 816;
2816 int i817 = 817;
2817 long l817 = 817;
2818 int i818 = 818;
2819 long l818 = 818;
2820 int i819 = 819;
2821 long l819 = 819;
2822 int i820 = 820;
2823 long l820 = 820;
2824 int i821 = 821;
2825 long l821 = 821;
2826 int i822 = 822;
2827 long l822 = 822;
2828 int i823 = 823;
2829 long l823 = 823;
2830 int i824 = 824;
2831 long l824 = 824;
2832 int i825 = 825;
2833 long l825 = 825;
2834 int i826 = 826;
2835 long l826 = 826;
2836 int i827 = 827;
2837 long l827 = 827;
2838 int i828 = 828;
2839 long l828 = 828;
2840 int i829 = 829;
2841 long l829 = 829;
2842 int i830 = 830;
2843 long l830 = 830;
2844 int i831 = 831;
2845 long l831 = 831;
2846 int i832 = 832;
2847 long l832 = 832;
2848 int i833 = 833;
2849 long l833 = 833;
2850 int i834 = 834;
2851 long l834 = 834;
2852 int i835 = 835;
2853 long l835 = 835;
2854 int i836 = 836;
2855 long l836 = 836;
2856 int i837 = 837;
2857 long l837 = 837;
2858 int i838 = 838;
2859 long l838 = 838;
2860 int i839 = 839;
2861 long l839 = 839;
2862 int i840 = 840;
2863 long l840 = 840;
2864 int i841 = 841;
2865 long l841 = 841;
2866 int i842 = 842;
2867 long l842 = 842;
2868 int i843 = 843;
2869 long l843 = 843;
2870 int i844 = 844;
2871 long l844 = 844;
2872 int i845 = 845;
2873 long l845 = 845;
2874 int i846 = 846;
2875 long l846 = 846;
2876 int i847 = 847;
2877 long l847 = 847;
2878 int i848 = 848;
2879 long l848 = 848;
2880 int i849 = 849;
2881 long l849 = 849;
2882 int i850 = 850;
2883 long l850 = 850;
2884 int i851 = 851;
2885 long l851 = 851;
2886 int i852 = 852;
2887 long l852 = 852;
2888 int i853 = 853;
2889 long l853 = 853;
2890 int i854 = 854;
2891 long l854 = 854;
2892 int i855 = 855;
2893 long l855 = 855;
2894 int i856 = 856;
2895 long l856 = 856;
2896 int i857 = 857;
2897 long l857 = 857;
2898 int i858 = 858;
2899 long l858 = 858;
2900 int i859 = 859;
2901 long l859 = 859;
2902 int i860 = 860;
2903 long l860 = 860;
2904 int i861 = 861;
2905 long l861 = 861;
2906 int i862 = 862;
2907 long l862 = 862;
2908 int i863 = 863;
2909 long l863 = 863;
2910 int i864 = 864;
2911 long l864 = 864;
2912 int i865 = 865;
2913 long l865 = 865;
2914 int i866 = 866;
2915 long l866 = 866;
2916 int i867 = 867;
2917 long l867 = 867;
2918 int i868 = 868;
2919 long l868 = 868;
2920 int i869 = 869;
2921 long l869 = 869;
2922 int i870 = 870;
2923 long l870 = 870;
2924 int i871 = 871;
2925 long l871 = 871;
2926 int i872 = 872;
2927 long l872 = 872;
2928 int i873 = 873;
2929 long l873 = 873;
2930 int i874 = 874;
2931 long l874 = 874;
2932 int i875 = 875;
2933 long l875 = 875;
2934 int i876 = 876;
2935 long l876 = 876;
2936 int i877 = 877;
2937 long l877 = 877;
2938 int i878 = 878;
2939 long l878 = 878;
2940 int i879 = 879;
2941 long l879 = 879;
2942 int i880 = 880;
2943 long l880 = 880;
2944 int i881 = 881;
2945 long l881 = 881;
2946 int i882 = 882;
2947 long l882 = 882;
2948 int i883 = 883;
2949 long l883 = 883;
2950 int i884 = 884;
2951 long l884 = 884;
2952 int i885 = 885;
2953 long l885 = 885;
2954 int i886 = 886;
2955 long l886 = 886;
2956 int i887 = 887;
2957 long l887 = 887;
2958 int i888 = 888;
2959 long l888 = 888;
2960 int i889 = 889;
2961 long l889 = 889;
2962 int i890 = 890;
2963 long l890 = 890;
2964 int i891 = 891;
2965 long l891 = 891;
2966 int i892 = 892;
2967 long l892 = 892;
2968 int i893 = 893;
2969 long l893 = 893;
2970 int i894 = 894;
2971 long l894 = 894;
2972 int i895 = 895;
2973 long l895 = 895;
2974 int i896 = 896;
2975 long l896 = 896;
2976 int i897 = 897;
2977 long l897 = 897;
2978 int i898 = 898;
2979 long l898 = 898;
2980 int i899 = 899;
2981 long l899 = 899;
2982 int i900 = 900;
2983 long l900 = 900;
2984 int i901 = 901;
2985 long l901 = 901;
2986 int i902 = 902;
2987 long l902 = 902;
2988 int i903 = 903;
2989 long l903 = 903;
2990 int i904 = 904;
2991 long l904 = 904;
2992 int i905 = 905;
2993 long l905 = 905;
2994 int i906 = 906;
2995 long l906 = 906;
2996 int i907 = 907;
2997 long l907 = 907;
2998 int i908 = 908;
2999 long l908 = 908;
3000 int i909 = 909;
3001 long l909 = 909;
3002 int i910 = 910;
3003 long l910 = 910;
3004 int i911 = 911;
3005 long l911 = 911;
3006 int i912 = 912;
3007 long l912 = 912;
3008 int i913 = 913;
3009 long l913 = 913;
3010 int i914 = 914;
3011 long l914 = 914;
3012 int i915 = 915;
3013 long l915 = 915;
3014 int i916 = 916;
3015 long l916 = 916;
3016 int i917 = 917;
3017 long l917 = 917;
3018 int i918 = 918;
3019 long l918 = 918;
3020 int i919 = 919;
3021 long l919 = 919;
3022 int i920 = 920;
3023 long l920 = 920;
3024 int i921 = 921;
3025 long l921 = 921;
3026 int i922 = 922;
3027 long l922 = 922;
3028 int i923 = 923;
3029 long l923 = 923;
3030 int i924 = 924;
3031 long l924 = 924;
3032 int i925 = 925;
3033 long l925 = 925;
3034 int i926 = 926;
3035 long l926 = 926;
3036 int i927 = 927;
3037 long l927 = 927;
3038 int i928 = 928;
3039 long l928 = 928;
3040 int i929 = 929;
3041 long l929 = 929;
3042 int i930 = 930;
3043 long l930 = 930;
3044 int i931 = 931;
3045 long l931 = 931;
3046 int i932 = 932;
3047 long l932 = 932;
3048 int i933 = 933;
3049 long l933 = 933;
3050 int i934 = 934;
3051 long l934 = 934;
3052 int i935 = 935;
3053 long l935 = 935;
3054 int i936 = 936;
3055 long l936 = 936;
3056 int i937 = 937;
3057 long l937 = 937;
3058 int i938 = 938;
3059 long l938 = 938;
3060 int i939 = 939;
3061 long l939 = 939;
3062 int i940 = 940;
3063 long l940 = 940;
3064 int i941 = 941;
3065 long l941 = 941;
3066 int i942 = 942;
3067 long l942 = 942;
3068 int i943 = 943;
3069 long l943 = 943;
3070 int i944 = 944;
3071 long l944 = 944;
3072 int i945 = 945;
3073 long l945 = 945;
3074 int i946 = 946;
3075 long l946 = 946;
3076 int i947 = 947;
3077 long l947 = 947;
3078 int i948 = 948;
3079 long l948 = 948;
3080 int i949 = 949;
3081 long l949 = 949;
3082 int i950 = 950;
3083 long l950 = 950;
3084 int i951 = 951;
3085 long l951 = 951;
3086 int i952 = 952;
3087 long l952 = 952;
3088 int i953 = 953;
3089 long l953 = 953;
3090 int i954 = 954;
3091 long l954 = 954;
3092 int i955 = 955;
3093 long l955 = 955;
3094 int i956 = 956;
3095 long l956 = 956;
3096 int i957 = 957;
3097 long l957 = 957;
3098 int i958 = 958;
3099 long l958 = 958;
3100 int i959 = 959;
3101 long l959 = 959;
3102 int i960 = 960;
3103 long l960 = 960;
3104 int i961 = 961;
3105 long l961 = 961;
3106 int i962 = 962;
3107 long l962 = 962;
3108 int i963 = 963;
3109 long l963 = 963;
3110 int i964 = 964;
3111 long l964 = 964;
3112 int i965 = 965;
3113 long l965 = 965;
3114 int i966 = 966;
3115 long l966 = 966;
3116 int i967 = 967;
3117 long l967 = 967;
3118 int i968 = 968;
3119 long l968 = 968;
3120 int i969 = 969;
3121 long l969 = 969;
3122 int i970 = 970;
3123 long l970 = 970;
3124 int i971 = 971;
3125 long l971 = 971;
3126 int i972 = 972;
3127 long l972 = 972;
3128 int i973 = 973;
3129 long l973 = 973;
3130 int i974 = 974;
3131 long l974 = 974;
3132 int i975 = 975;
3133 long l975 = 975;
3134 int i976 = 976;
3135 long l976 = 976;
3136 int i977 = 977;
3137 long l977 = 977;
3138 int i978 = 978;
3139 long l978 = 978;
3140 int i979 = 979;
3141 long l979 = 979;
3142 int i980 = 980;
3143 long l980 = 980;
3144 int i981 = 981;
3145 long l981 = 981;
3146 int i982 = 982;
3147 long l982 = 982;
3148 int i983 = 983;
3149 long l983 = 983;
3150 int i984 = 984;
3151 long l984 = 984;
3152 int i985 = 985;
3153 long l985 = 985;
3154 int i986 = 986;
3155 long l986 = 986;
3156 int i987 = 987;
3157 long l987 = 987;
3158 int i988 = 988;
3159 long l988 = 988;
3160 int i989 = 989;
3161 long l989 = 989;
3162 int i990 = 990;
3163 long l990 = 990;
3164 int i991 = 991;
3165 long l991 = 991;
3166 int i992 = 992;
3167 long l992 = 992;
3168 int i993 = 993;
3169 long l993 = 993;
3170 int i994 = 994;
3171 long l994 = 994;
3172 int i995 = 995;
3173 long l995 = 995;
3174 int i996 = 996;
3175 long l996 = 996;
3176 int i997 = 997;
3177 long l997 = 997;
3178 int i998 = 998;
3179 long l998 = 998;
3180 int i999 = 999;
3181 long l999 = 999;
3182 i1 += i0;
3183 l1 = l0;
3184 i2 += i1;
3185 l2 = l1;
3186 i3 += i2;
3187 l3 = l2;
3188 i4 += i3;
3189 l4 = l3;
3190 i5 += i4;
3191 l5 = l4;
3192 i6 += i5;
3193 l6 = l5;
3194 i7 += i6;
3195 l7 = l6;
3196 i8 += i7;
3197 l8 = l7;
3198 i9 += i8;
3199 l9 = l8;
3200 i10 += i9;
3201 l10 = l9;
3202 i11 += i10;
3203 l11 = l10;
3204 i12 += i11;
3205 l12 = l11;
3206 i13 += i12;
3207 l13 = l12;
3208 i14 += i13;
3209 l14 = l13;
3210 i15 += i14;
3211 l15 = l14;
3212 i16 += i15;
3213 l16 = l15;
3214 i17 += i16;
3215 l17 = l16;
3216 i18 += i17;
3217 l18 = l17;
3218 i19 += i18;
3219 l19 = l18;
3220 i20 += i19;
3221 l20 = l19;
3222 i21 += i20;
3223 l21 = l20;
3224 i22 += i21;
3225 l22 = l21;
3226 i23 += i22;
3227 l23 = l22;
3228 i24 += i23;
3229 l24 = l23;
3230 i25 += i24;
3231 l25 = l24;
3232 i26 += i25;
3233 l26 = l25;
3234 i27 += i26;
3235 l27 = l26;
3236 i28 += i27;
3237 l28 = l27;
3238 i29 += i28;
3239 l29 = l28;
3240 i30 += i29;
3241 l30 = l29;
3242 i31 += i30;
3243 l31 = l30;
3244 i32 += i31;
3245 l32 = l31;
3246 i33 += i32;
3247 l33 = l32;
3248 i34 += i33;
3249 l34 = l33;
3250 i35 += i34;
3251 l35 = l34;
3252 i36 += i35;
3253 l36 = l35;
3254 i37 += i36;
3255 l37 = l36;
3256 i38 += i37;
3257 l38 = l37;
3258 i39 += i38;
3259 l39 = l38;
3260 i40 += i39;
3261 l40 = l39;
3262 i41 += i40;
3263 l41 = l40;
3264 i42 += i41;
3265 l42 = l41;
3266 i43 += i42;
3267 l43 = l42;
3268 i44 += i43;
3269 l44 = l43;
3270 i45 += i44;
3271 l45 = l44;
3272 i46 += i45;
3273 l46 = l45;
3274 i47 += i46;
3275 l47 = l46;
3276 i48 += i47;
3277 l48 = l47;
3278 i49 += i48;
3279 l49 = l48;
3280 i50 += i49;
3281 l50 = l49;
3282 i51 += i50;
3283 l51 = l50;
3284 i52 += i51;
3285 l52 = l51;
3286 i53 += i52;
3287 l53 = l52;
3288 i54 += i53;
3289 l54 = l53;
3290 i55 += i54;
3291 l55 = l54;
3292 i56 += i55;
3293 l56 = l55;
3294 i57 += i56;
3295 l57 = l56;
3296 i58 += i57;
3297 l58 = l57;
3298 i59 += i58;
3299 l59 = l58;
3300 i60 += i59;
3301 l60 = l59;
3302 i61 += i60;
3303 l61 = l60;
3304 i62 += i61;
3305 l62 = l61;
3306 i63 += i62;
3307 l63 = l62;
3308 i64 += i63;
3309 l64 = l63;
3310 i65 += i64;
3311 l65 = l64;
3312 i66 += i65;
3313 l66 = l65;
3314 i67 += i66;
3315 l67 = l66;
3316 i68 += i67;
3317 l68 = l67;
3318 i69 += i68;
3319 l69 = l68;
3320 i70 += i69;
3321 l70 = l69;
3322 i71 += i70;
3323 l71 = l70;
3324 i72 += i71;
3325 l72 = l71;
3326 i73 += i72;
3327 l73 = l72;
3328 i74 += i73;
3329 l74 = l73;
3330 i75 += i74;
3331 l75 = l74;
3332 i76 += i75;
3333 l76 = l75;
3334 i77 += i76;
3335 l77 = l76;
3336 i78 += i77;
3337 l78 = l77;
3338 i79 += i78;
3339 l79 = l78;
3340 i80 += i79;
3341 l80 = l79;
3342 i81 += i80;
3343 l81 = l80;
3344 i82 += i81;
3345 l82 = l81;
3346 i83 += i82;
3347 l83 = l82;
3348 i84 += i83;
3349 l84 = l83;
3350 i85 += i84;
3351 l85 = l84;
3352 i86 += i85;
3353 l86 = l85;
3354 i87 += i86;
3355 l87 = l86;
3356 i88 += i87;
3357 l88 = l87;
3358 i89 += i88;
3359 l89 = l88;
3360 i90 += i89;
3361 l90 = l89;
3362 i91 += i90;
3363 l91 = l90;
3364 i92 += i91;
3365 l92 = l91;
3366 i93 += i92;
3367 l93 = l92;
3368 i94 += i93;
3369 l94 = l93;
3370 i95 += i94;
3371 l95 = l94;
3372 i96 += i95;
3373 l96 = l95;
3374 i97 += i96;
3375 l97 = l96;
3376 i98 += i97;
3377 l98 = l97;
3378 i99 += i98;
3379 l99 = l98;
3380 i100 += i99;
3381 l100 = l99;
3382 i101 += i100;
3383 l101 = l100;
3384 i102 += i101;
3385 l102 = l101;
3386 i103 += i102;
3387 l103 = l102;
3388 i104 += i103;
3389 l104 = l103;
3390 i105 += i104;
3391 l105 = l104;
3392 i106 += i105;
3393 l106 = l105;
3394 i107 += i106;
3395 l107 = l106;
3396 i108 += i107;
3397 l108 = l107;
3398 i109 += i108;
3399 l109 = l108;
3400 i110 += i109;
3401 l110 = l109;
3402 i111 += i110;
3403 l111 = l110;
3404 i112 += i111;
3405 l112 = l111;
3406 i113 += i112;
3407 l113 = l112;
3408 i114 += i113;
3409 l114 = l113;
3410 i115 += i114;
3411 l115 = l114;
3412 i116 += i115;
3413 l116 = l115;
3414 i117 += i116;
3415 l117 = l116;
3416 i118 += i117;
3417 l118 = l117;
3418 i119 += i118;
3419 l119 = l118;
3420 i120 += i119;
3421 l120 = l119;
3422 i121 += i120;
3423 l121 = l120;
3424 i122 += i121;
3425 l122 = l121;
3426 i123 += i122;
3427 l123 = l122;
3428 i124 += i123;
3429 l124 = l123;
3430 i125 += i124;
3431 l125 = l124;
3432 i126 += i125;
3433 l126 = l125;
3434 i127 += i126;
3435 l127 = l126;
3436 i128 += i127;
3437 l128 = l127;
3438 i129 += i128;
3439 l129 = l128;
3440 i130 += i129;
3441 l130 = l129;
3442 i131 += i130;
3443 l131 = l130;
3444 i132 += i131;
3445 l132 = l131;
3446 i133 += i132;
3447 l133 = l132;
3448 i134 += i133;
3449 l134 = l133;
3450 i135 += i134;
3451 l135 = l134;
3452 i136 += i135;
3453 l136 = l135;
3454 i137 += i136;
3455 l137 = l136;
3456 i138 += i137;
3457 l138 = l137;
3458 i139 += i138;
3459 l139 = l138;
3460 i140 += i139;
3461 l140 = l139;
3462 i141 += i140;
3463 l141 = l140;
3464 i142 += i141;
3465 l142 = l141;
3466 i143 += i142;
3467 l143 = l142;
3468 i144 += i143;
3469 l144 = l143;
3470 i145 += i144;
3471 l145 = l144;
3472 i146 += i145;
3473 l146 = l145;
3474 i147 += i146;
3475 l147 = l146;
3476 i148 += i147;
3477 l148 = l147;
3478 i149 += i148;
3479 l149 = l148;
3480 i150 += i149;
3481 l150 = l149;
3482 i151 += i150;
3483 l151 = l150;
3484 i152 += i151;
3485 l152 = l151;
3486 i153 += i152;
3487 l153 = l152;
3488 i154 += i153;
3489 l154 = l153;
3490 i155 += i154;
3491 l155 = l154;
3492 i156 += i155;
3493 l156 = l155;
3494 i157 += i156;
3495 l157 = l156;
3496 i158 += i157;
3497 l158 = l157;
3498 i159 += i158;
3499 l159 = l158;
3500 i160 += i159;
3501 l160 = l159;
3502 i161 += i160;
3503 l161 = l160;
3504 i162 += i161;
3505 l162 = l161;
3506 i163 += i162;
3507 l163 = l162;
3508 i164 += i163;
3509 l164 = l163;
3510 i165 += i164;
3511 l165 = l164;
3512 i166 += i165;
3513 l166 = l165;
3514 i167 += i166;
3515 l167 = l166;
3516 i168 += i167;
3517 l168 = l167;
3518 i169 += i168;
3519 l169 = l168;
3520 i170 += i169;
3521 l170 = l169;
3522 i171 += i170;
3523 l171 = l170;
3524 i172 += i171;
3525 l172 = l171;
3526 i173 += i172;
3527 l173 = l172;
3528 i174 += i173;
3529 l174 = l173;
3530 i175 += i174;
3531 l175 = l174;
3532 i176 += i175;
3533 l176 = l175;
3534 i177 += i176;
3535 l177 = l176;
3536 i178 += i177;
3537 l178 = l177;
3538 i179 += i178;
3539 l179 = l178;
3540 i180 += i179;
3541 l180 = l179;
3542 i181 += i180;
3543 l181 = l180;
3544 i182 += i181;
3545 l182 = l181;
3546 i183 += i182;
3547 l183 = l182;
3548 i184 += i183;
3549 l184 = l183;
3550 i185 += i184;
3551 l185 = l184;
3552 i186 += i185;
3553 l186 = l185;
3554 i187 += i186;
3555 l187 = l186;
3556 i188 += i187;
3557 l188 = l187;
3558 i189 += i188;
3559 l189 = l188;
3560 i190 += i189;
3561 l190 = l189;
3562 i191 += i190;
3563 l191 = l190;
3564 i192 += i191;
3565 l192 = l191;
3566 i193 += i192;
3567 l193 = l192;
3568 i194 += i193;
3569 l194 = l193;
3570 i195 += i194;
3571 l195 = l194;
3572 i196 += i195;
3573 l196 = l195;
3574 i197 += i196;
3575 l197 = l196;
3576 i198 += i197;
3577 l198 = l197;
3578 i199 += i198;
3579 l199 = l198;
3580 i200 += i199;
3581 l200 = l199;
3582 i201 += i200;
3583 l201 = l200;
3584 i202 += i201;
3585 l202 = l201;
3586 i203 += i202;
3587 l203 = l202;
3588 i204 += i203;
3589 l204 = l203;
3590 i205 += i204;
3591 l205 = l204;
3592 i206 += i205;
3593 l206 = l205;
3594 i207 += i206;
3595 l207 = l206;
3596 i208 += i207;
3597 l208 = l207;
3598 i209 += i208;
3599 l209 = l208;
3600 i210 += i209;
3601 l210 = l209;
3602 i211 += i210;
3603 l211 = l210;
3604 i212 += i211;
3605 l212 = l211;
3606 i213 += i212;
3607 l213 = l212;
3608 i214 += i213;
3609 l214 = l213;
3610 i215 += i214;
3611 l215 = l214;
3612 i216 += i215;
3613 l216 = l215;
3614 i217 += i216;
3615 l217 = l216;
3616 i218 += i217;
3617 l218 = l217;
3618 i219 += i218;
3619 l219 = l218;
3620 i220 += i219;
3621 l220 = l219;
3622 i221 += i220;
3623 l221 = l220;
3624 i222 += i221;
3625 l222 = l221;
3626 i223 += i222;
3627 l223 = l222;
3628 i224 += i223;
3629 l224 = l223;
3630 i225 += i224;
3631 l225 = l224;
3632 i226 += i225;
3633 l226 = l225;
3634 i227 += i226;
3635 l227 = l226;
3636 i228 += i227;
3637 l228 = l227;
3638 i229 += i228;
3639 l229 = l228;
3640 i230 += i229;
3641 l230 = l229;
3642 i231 += i230;
3643 l231 = l230;
3644 i232 += i231;
3645 l232 = l231;
3646 i233 += i232;
3647 l233 = l232;
3648 i234 += i233;
3649 l234 = l233;
3650 i235 += i234;
3651 l235 = l234;
3652 i236 += i235;
3653 l236 = l235;
3654 i237 += i236;
3655 l237 = l236;
3656 i238 += i237;
3657 l238 = l237;
3658 i239 += i238;
3659 l239 = l238;
3660 i240 += i239;
3661 l240 = l239;
3662 i241 += i240;
3663 l241 = l240;
3664 i242 += i241;
3665 l242 = l241;
3666 i243 += i242;
3667 l243 = l242;
3668 i244 += i243;
3669 l244 = l243;
3670 i245 += i244;
3671 l245 = l244;
3672 i246 += i245;
3673 l246 = l245;
3674 i247 += i246;
3675 l247 = l246;
3676 i248 += i247;
3677 l248 = l247;
3678 i249 += i248;
3679 l249 = l248;
3680 i250 += i249;
3681 l250 = l249;
3682 i251 += i250;
3683 l251 = l250;
3684 i252 += i251;
3685 l252 = l251;
3686 i253 += i252;
3687 l253 = l252;
3688 i254 += i253;
3689 l254 = l253;
3690 i255 += i254;
3691 l255 = l254;
3692 i256 += i255;
3693 l256 = l255;
3694 i257 += i256;
3695 l257 = l256;
3696 i258 += i257;
3697 l258 = l257;
3698 i259 += i258;
3699 l259 = l258;
3700 i260 += i259;
3701 l260 = l259;
3702 i261 += i260;
3703 l261 = l260;
3704 i262 += i261;
3705 l262 = l261;
3706 i263 += i262;
3707 l263 = l262;
3708 i264 += i263;
3709 l264 = l263;
3710 i265 += i264;
3711 l265 = l264;
3712 i266 += i265;
3713 l266 = l265;
3714 i267 += i266;
3715 l267 = l266;
3716 i268 += i267;
3717 l268 = l267;
3718 i269 += i268;
3719 l269 = l268;
3720 i270 += i269;
3721 l270 = l269;
3722 i271 += i270;
3723 l271 = l270;
3724 i272 += i271;
3725 l272 = l271;
3726 i273 += i272;
3727 l273 = l272;
3728 i274 += i273;
3729 l274 = l273;
3730 i275 += i274;
3731 l275 = l274;
3732 i276 += i275;
3733 l276 = l275;
3734 i277 += i276;
3735 l277 = l276;
3736 i278 += i277;
3737 l278 = l277;
3738 i279 += i278;
3739 l279 = l278;
3740 i280 += i279;
3741 l280 = l279;
3742 i281 += i280;
3743 l281 = l280;
3744 i282 += i281;
3745 l282 = l281;
3746 i283 += i282;
3747 l283 = l282;
3748 i284 += i283;
3749 l284 = l283;
3750 i285 += i284;
3751 l285 = l284;
3752 i286 += i285;
3753 l286 = l285;
3754 i287 += i286;
3755 l287 = l286;
3756 i288 += i287;
3757 l288 = l287;
3758 i289 += i288;
3759 l289 = l288;
3760 i290 += i289;
3761 l290 = l289;
3762 i291 += i290;
3763 l291 = l290;
3764 i292 += i291;
3765 l292 = l291;
3766 i293 += i292;
3767 l293 = l292;
3768 i294 += i293;
3769 l294 = l293;
3770 i295 += i294;
3771 l295 = l294;
3772 i296 += i295;
3773 l296 = l295;
3774 i297 += i296;
3775 l297 = l296;
3776 i298 += i297;
3777 l298 = l297;
3778 i299 += i298;
3779 l299 = l298;
3780 i300 += i299;
3781 l300 = l299;
3782 i301 += i300;
3783 l301 = l300;
3784 i302 += i301;
3785 l302 = l301;
3786 i303 += i302;
3787 l303 = l302;
3788 i304 += i303;
3789 l304 = l303;
3790 i305 += i304;
3791 l305 = l304;
3792 i306 += i305;
3793 l306 = l305;
3794 i307 += i306;
3795 l307 = l306;
3796 i308 += i307;
3797 l308 = l307;
3798 i309 += i308;
3799 l309 = l308;
3800 i310 += i309;
3801 l310 = l309;
3802 i311 += i310;
3803 l311 = l310;
3804 i312 += i311;
3805 l312 = l311;
3806 i313 += i312;
3807 l313 = l312;
3808 i314 += i313;
3809 l314 = l313;
3810 i315 += i314;
3811 l315 = l314;
3812 i316 += i315;
3813 l316 = l315;
3814 i317 += i316;
3815 l317 = l316;
3816 i318 += i317;
3817 l318 = l317;
3818 i319 += i318;
3819 l319 = l318;
3820 i320 += i319;
3821 l320 = l319;
3822 i321 += i320;
3823 l321 = l320;
3824 i322 += i321;
3825 l322 = l321;
3826 i323 += i322;
3827 l323 = l322;
3828 i324 += i323;
3829 l324 = l323;
3830 i325 += i324;
3831 l325 = l324;
3832 i326 += i325;
3833 l326 = l325;
3834 i327 += i326;
3835 l327 = l326;
3836 i328 += i327;
3837 l328 = l327;
3838 i329 += i328;
3839 l329 = l328;
3840 i330 += i329;
3841 l330 = l329;
3842 i331 += i330;
3843 l331 = l330;
3844 i332 += i331;
3845 l332 = l331;
3846 i333 += i332;
3847 l333 = l332;
3848 i334 += i333;
3849 l334 = l333;
3850 i335 += i334;
3851 l335 = l334;
3852 i336 += i335;
3853 l336 = l335;
3854 i337 += i336;
3855 l337 = l336;
3856 i338 += i337;
3857 l338 = l337;
3858 i339 += i338;
3859 l339 = l338;
3860 i340 += i339;
3861 l340 = l339;
3862 i341 += i340;
3863 l341 = l340;
3864 i342 += i341;
3865 l342 = l341;
3866 i343 += i342;
3867 l343 = l342;
3868 i344 += i343;
3869 l344 = l343;
3870 i345 += i344;
3871 l345 = l344;
3872 i346 += i345;
3873 l346 = l345;
3874 i347 += i346;
3875 l347 = l346;
3876 i348 += i347;
3877 l348 = l347;
3878 i349 += i348;
3879 l349 = l348;
3880 i350 += i349;
3881 l350 = l349;
3882 i351 += i350;
3883 l351 = l350;
3884 i352 += i351;
3885 l352 = l351;
3886 i353 += i352;
3887 l353 = l352;
3888 i354 += i353;
3889 l354 = l353;
3890 i355 += i354;
3891 l355 = l354;
3892 i356 += i355;
3893 l356 = l355;
3894 i357 += i356;
3895 l357 = l356;
3896 i358 += i357;
3897 l358 = l357;
3898 i359 += i358;
3899 l359 = l358;
3900 i360 += i359;
3901 l360 = l359;
3902 i361 += i360;
3903 l361 = l360;
3904 i362 += i361;
3905 l362 = l361;
3906 i363 += i362;
3907 l363 = l362;
3908 i364 += i363;
3909 l364 = l363;
3910 i365 += i364;
3911 l365 = l364;
3912 i366 += i365;
3913 l366 = l365;
3914 i367 += i366;
3915 l367 = l366;
3916 i368 += i367;
3917 l368 = l367;
3918 i369 += i368;
3919 l369 = l368;
3920 i370 += i369;
3921 l370 = l369;
3922 i371 += i370;
3923 l371 = l370;
3924 i372 += i371;
3925 l372 = l371;
3926 i373 += i372;
3927 l373 = l372;
3928 i374 += i373;
3929 l374 = l373;
3930 i375 += i374;
3931 l375 = l374;
3932 i376 += i375;
3933 l376 = l375;
3934 i377 += i376;
3935 l377 = l376;
3936 i378 += i377;
3937 l378 = l377;
3938 i379 += i378;
3939 l379 = l378;
3940 i380 += i379;
3941 l380 = l379;
3942 i381 += i380;
3943 l381 = l380;
3944 i382 += i381;
3945 l382 = l381;
3946 i383 += i382;
3947 l383 = l382;
3948 i384 += i383;
3949 l384 = l383;
3950 i385 += i384;
3951 l385 = l384;
3952 i386 += i385;
3953 l386 = l385;
3954 i387 += i386;
3955 l387 = l386;
3956 i388 += i387;
3957 l388 = l387;
3958 i389 += i388;
3959 l389 = l388;
3960 i390 += i389;
3961 l390 = l389;
3962 i391 += i390;
3963 l391 = l390;
3964 i392 += i391;
3965 l392 = l391;
3966 i393 += i392;
3967 l393 = l392;
3968 i394 += i393;
3969 l394 = l393;
3970 i395 += i394;
3971 l395 = l394;
3972 i396 += i395;
3973 l396 = l395;
3974 i397 += i396;
3975 l397 = l396;
3976 i398 += i397;
3977 l398 = l397;
3978 i399 += i398;
3979 l399 = l398;
3980 i400 += i399;
3981 l400 = l399;
3982 i401 += i400;
3983 l401 = l400;
3984 i402 += i401;
3985 l402 = l401;
3986 i403 += i402;
3987 l403 = l402;
3988 i404 += i403;
3989 l404 = l403;
3990 i405 += i404;
3991 l405 = l404;
3992 i406 += i405;
3993 l406 = l405;
3994 i407 += i406;
3995 l407 = l406;
3996 i408 += i407;
3997 l408 = l407;
3998 i409 += i408;
3999 l409 = l408;
4000 i410 += i409;
4001 l410 = l409;
4002 i411 += i410;
4003 l411 = l410;
4004 i412 += i411;
4005 l412 = l411;
4006 i413 += i412;
4007 l413 = l412;
4008 i414 += i413;
4009 l414 = l413;
4010 i415 += i414;
4011 l415 = l414;
4012 i416 += i415;
4013 l416 = l415;
4014 i417 += i416;
4015 l417 = l416;
4016 i418 += i417;
4017 l418 = l417;
4018 i419 += i418;
4019 l419 = l418;
4020 i420 += i419;
4021 l420 = l419;
4022 i421 += i420;
4023 l421 = l420;
4024 i422 += i421;
4025 l422 = l421;
4026 i423 += i422;
4027 l423 = l422;
4028 i424 += i423;
4029 l424 = l423;
4030 i425 += i424;
4031 l425 = l424;
4032 i426 += i425;
4033 l426 = l425;
4034 i427 += i426;
4035 l427 = l426;
4036 i428 += i427;
4037 l428 = l427;
4038 i429 += i428;
4039 l429 = l428;
4040 i430 += i429;
4041 l430 = l429;
4042 i431 += i430;
4043 l431 = l430;
4044 i432 += i431;
4045 l432 = l431;
4046 i433 += i432;
4047 l433 = l432;
4048 i434 += i433;
4049 l434 = l433;
4050 i435 += i434;
4051 l435 = l434;
4052 i436 += i435;
4053 l436 = l435;
4054 i437 += i436;
4055 l437 = l436;
4056 i438 += i437;
4057 l438 = l437;
4058 i439 += i438;
4059 l439 = l438;
4060 i440 += i439;
4061 l440 = l439;
4062 i441 += i440;
4063 l441 = l440;
4064 i442 += i441;
4065 l442 = l441;
4066 i443 += i442;
4067 l443 = l442;
4068 i444 += i443;
4069 l444 = l443;
4070 i445 += i444;
4071 l445 = l444;
4072 i446 += i445;
4073 l446 = l445;
4074 i447 += i446;
4075 l447 = l446;
4076 i448 += i447;
4077 l448 = l447;
4078 i449 += i448;
4079 l449 = l448;
4080 i450 += i449;
4081 l450 = l449;
4082 i451 += i450;
4083 l451 = l450;
4084 i452 += i451;
4085 l452 = l451;
4086 i453 += i452;
4087 l453 = l452;
4088 i454 += i453;
4089 l454 = l453;
4090 i455 += i454;
4091 l455 = l454;
4092 i456 += i455;
4093 l456 = l455;
4094 i457 += i456;
4095 l457 = l456;
4096 i458 += i457;
4097 l458 = l457;
4098 i459 += i458;
4099 l459 = l458;
4100 i460 += i459;
4101 l460 = l459;
4102 i461 += i460;
4103 l461 = l460;
4104 i462 += i461;
4105 l462 = l461;
4106 i463 += i462;
4107 l463 = l462;
4108 i464 += i463;
4109 l464 = l463;
4110 i465 += i464;
4111 l465 = l464;
4112 i466 += i465;
4113 l466 = l465;
4114 i467 += i466;
4115 l467 = l466;
4116 i468 += i467;
4117 l468 = l467;
4118 i469 += i468;
4119 l469 = l468;
4120 i470 += i469;
4121 l470 = l469;
4122 i471 += i470;
4123 l471 = l470;
4124 i472 += i471;
4125 l472 = l471;
4126 i473 += i472;
4127 l473 = l472;
4128 i474 += i473;
4129 l474 = l473;
4130 i475 += i474;
4131 l475 = l474;
4132 i476 += i475;
4133 l476 = l475;
4134 i477 += i476;
4135 l477 = l476;
4136 i478 += i477;
4137 l478 = l477;
4138 i479 += i478;
4139 l479 = l478;
4140 i480 += i479;
4141 l480 = l479;
4142 i481 += i480;
4143 l481 = l480;
4144 i482 += i481;
4145 l482 = l481;
4146 i483 += i482;
4147 l483 = l482;
4148 i484 += i483;
4149 l484 = l483;
4150 i485 += i484;
4151 l485 = l484;
4152 i486 += i485;
4153 l486 = l485;
4154 i487 += i486;
4155 l487 = l486;
4156 i488 += i487;
4157 l488 = l487;
4158 i489 += i488;
4159 l489 = l488;
4160 i490 += i489;
4161 l490 = l489;
4162 i491 += i490;
4163 l491 = l490;
4164 i492 += i491;
4165 l492 = l491;
4166 i493 += i492;
4167 l493 = l492;
4168 i494 += i493;
4169 l494 = l493;
4170 i495 += i494;
4171 l495 = l494;
4172 i496 += i495;
4173 l496 = l495;
4174 i497 += i496;
4175 l497 = l496;
4176 i498 += i497;
4177 l498 = l497;
4178 i499 += i498;
4179 l499 = l498;
4180 i500 += i499;
4181 l500 = l499;
4182 i501 += i500;
4183 l501 = l500;
4184 i502 += i501;
4185 l502 = l501;
4186 i503 += i502;
4187 l503 = l502;
4188 i504 += i503;
4189 l504 = l503;
4190 i505 += i504;
4191 l505 = l504;
4192 i506 += i505;
4193 l506 = l505;
4194 i507 += i506;
4195 l507 = l506;
4196 i508 += i507;
4197 l508 = l507;
4198 i509 += i508;
4199 l509 = l508;
4200 i510 += i509;
4201 l510 = l509;
4202 i511 += i510;
4203 l511 = l510;
4204 i512 += i511;
4205 l512 = l511;
4206 i513 += i512;
4207 l513 = l512;
4208 i514 += i513;
4209 l514 = l513;
4210 i515 += i514;
4211 l515 = l514;
4212 i516 += i515;
4213 l516 = l515;
4214 i517 += i516;
4215 l517 = l516;
4216 i518 += i517;
4217 l518 = l517;
4218 i519 += i518;
4219 l519 = l518;
4220 i520 += i519;
4221 l520 = l519;
4222 i521 += i520;
4223 l521 = l520;
4224 i522 += i521;
4225 l522 = l521;
4226 i523 += i522;
4227 l523 = l522;
4228 i524 += i523;
4229 l524 = l523;
4230 i525 += i524;
4231 l525 = l524;
4232 i526 += i525;
4233 l526 = l525;
4234 i527 += i526;
4235 l527 = l526;
4236 i528 += i527;
4237 l528 = l527;
4238 i529 += i528;
4239 l529 = l528;
4240 i530 += i529;
4241 l530 = l529;
4242 i531 += i530;
4243 l531 = l530;
4244 i532 += i531;
4245 l532 = l531;
4246 i533 += i532;
4247 l533 = l532;
4248 i534 += i533;
4249 l534 = l533;
4250 i535 += i534;
4251 l535 = l534;
4252 i536 += i535;
4253 l536 = l535;
4254 i537 += i536;
4255 l537 = l536;
4256 i538 += i537;
4257 l538 = l537;
4258 i539 += i538;
4259 l539 = l538;
4260 i540 += i539;
4261 l540 = l539;
4262 i541 += i540;
4263 l541 = l540;
4264 i542 += i541;
4265 l542 = l541;
4266 i543 += i542;
4267 l543 = l542;
4268 i544 += i543;
4269 l544 = l543;
4270 i545 += i544;
4271 l545 = l544;
4272 i546 += i545;
4273 l546 = l545;
4274 i547 += i546;
4275 l547 = l546;
4276 i548 += i547;
4277 l548 = l547;
4278 i549 += i548;
4279 l549 = l548;
4280 i550 += i549;
4281 l550 = l549;
4282 i551 += i550;
4283 l551 = l550;
4284 i552 += i551;
4285 l552 = l551;
4286 i553 += i552;
4287 l553 = l552;
4288 i554 += i553;
4289 l554 = l553;
4290 i555 += i554;
4291 l555 = l554;
4292 i556 += i555;
4293 l556 = l555;
4294 i557 += i556;
4295 l557 = l556;
4296 i558 += i557;
4297 l558 = l557;
4298 i559 += i558;
4299 l559 = l558;
4300 i560 += i559;
4301 l560 = l559;
4302 i561 += i560;
4303 l561 = l560;
4304 i562 += i561;
4305 l562 = l561;
4306 i563 += i562;
4307 l563 = l562;
4308 i564 += i563;
4309 l564 = l563;
4310 i565 += i564;
4311 l565 = l564;
4312 i566 += i565;
4313 l566 = l565;
4314 i567 += i566;
4315 l567 = l566;
4316 i568 += i567;
4317 l568 = l567;
4318 i569 += i568;
4319 l569 = l568;
4320 i570 += i569;
4321 l570 = l569;
4322 i571 += i570;
4323 l571 = l570;
4324 i572 += i571;
4325 l572 = l571;
4326 i573 += i572;
4327 l573 = l572;
4328 i574 += i573;
4329 l574 = l573;
4330 i575 += i574;
4331 l575 = l574;
4332 i576 += i575;
4333 l576 = l575;
4334 i577 += i576;
4335 l577 = l576;
4336 i578 += i577;
4337 l578 = l577;
4338 i579 += i578;
4339 l579 = l578;
4340 i580 += i579;
4341 l580 = l579;
4342 i581 += i580;
4343 l581 = l580;
4344 i582 += i581;
4345 l582 = l581;
4346 i583 += i582;
4347 l583 = l582;
4348 i584 += i583;
4349 l584 = l583;
4350 i585 += i584;
4351 l585 = l584;
4352 i586 += i585;
4353 l586 = l585;
4354 i587 += i586;
4355 l587 = l586;
4356 i588 += i587;
4357 l588 = l587;
4358 i589 += i588;
4359 l589 = l588;
4360 i590 += i589;
4361 l590 = l589;
4362 i591 += i590;
4363 l591 = l590;
4364 i592 += i591;
4365 l592 = l591;
4366 i593 += i592;
4367 l593 = l592;
4368 i594 += i593;
4369 l594 = l593;
4370 i595 += i594;
4371 l595 = l594;
4372 i596 += i595;
4373 l596 = l595;
4374 i597 += i596;
4375 l597 = l596;
4376 i598 += i597;
4377 l598 = l597;
4378 i599 += i598;
4379 l599 = l598;
4380 i600 += i599;
4381 l600 = l599;
4382 i601 += i600;
4383 l601 = l600;
4384 i602 += i601;
4385 l602 = l601;
4386 i603 += i602;
4387 l603 = l602;
4388 i604 += i603;
4389 l604 = l603;
4390 i605 += i604;
4391 l605 = l604;
4392 i606 += i605;
4393 l606 = l605;
4394 i607 += i606;
4395 l607 = l606;
4396 i608 += i607;
4397 l608 = l607;
4398 i609 += i608;
4399 l609 = l608;
4400 i610 += i609;
4401 l610 = l609;
4402 i611 += i610;
4403 l611 = l610;
4404 i612 += i611;
4405 l612 = l611;
4406 i613 += i612;
4407 l613 = l612;
4408 i614 += i613;
4409 l614 = l613;
4410 i615 += i614;
4411 l615 = l614;
4412 i616 += i615;
4413 l616 = l615;
4414 i617 += i616;
4415 l617 = l616;
4416 i618 += i617;
4417 l618 = l617;
4418 i619 += i618;
4419 l619 = l618;
4420 i620 += i619;
4421 l620 = l619;
4422 i621 += i620;
4423 l621 = l620;
4424 i622 += i621;
4425 l622 = l621;
4426 i623 += i622;
4427 l623 = l622;
4428 i624 += i623;
4429 l624 = l623;
4430 i625 += i624;
4431 l625 = l624;
4432 i626 += i625;
4433 l626 = l625;
4434 i627 += i626;
4435 l627 = l626;
4436 i628 += i627;
4437 l628 = l627;
4438 i629 += i628;
4439 l629 = l628;
4440 i630 += i629;
4441 l630 = l629;
4442 i631 += i630;
4443 l631 = l630;
4444 i632 += i631;
4445 l632 = l631;
4446 i633 += i632;
4447 l633 = l632;
4448 i634 += i633;
4449 l634 = l633;
4450 i635 += i634;
4451 l635 = l634;
4452 i636 += i635;
4453 l636 = l635;
4454 i637 += i636;
4455 l637 = l636;
4456 i638 += i637;
4457 l638 = l637;
4458 i639 += i638;
4459 l639 = l638;
4460 i640 += i639;
4461 l640 = l639;
4462 i641 += i640;
4463 l641 = l640;
4464 i642 += i641;
4465 l642 = l641;
4466 i643 += i642;
4467 l643 = l642;
4468 i644 += i643;
4469 l644 = l643;
4470 i645 += i644;
4471 l645 = l644;
4472 i646 += i645;
4473 l646 = l645;
4474 i647 += i646;
4475 l647 = l646;
4476 i648 += i647;
4477 l648 = l647;
4478 i649 += i648;
4479 l649 = l648;
4480 i650 += i649;
4481 l650 = l649;
4482 i651 += i650;
4483 l651 = l650;
4484 i652 += i651;
4485 l652 = l651;
4486 i653 += i652;
4487 l653 = l652;
4488 i654 += i653;
4489 l654 = l653;
4490 i655 += i654;
4491 l655 = l654;
4492 i656 += i655;
4493 l656 = l655;
4494 i657 += i656;
4495 l657 = l656;
4496 i658 += i657;
4497 l658 = l657;
4498 i659 += i658;
4499 l659 = l658;
4500 i660 += i659;
4501 l660 = l659;
4502 i661 += i660;
4503 l661 = l660;
4504 i662 += i661;
4505 l662 = l661;
4506 i663 += i662;
4507 l663 = l662;
4508 i664 += i663;
4509 l664 = l663;
4510 i665 += i664;
4511 l665 = l664;
4512 i666 += i665;
4513 l666 = l665;
4514 i667 += i666;
4515 l667 = l666;
4516 i668 += i667;
4517 l668 = l667;
4518 i669 += i668;
4519 l669 = l668;
4520 i670 += i669;
4521 l670 = l669;
4522 i671 += i670;
4523 l671 = l670;
4524 i672 += i671;
4525 l672 = l671;
4526 i673 += i672;
4527 l673 = l672;
4528 i674 += i673;
4529 l674 = l673;
4530 i675 += i674;
4531 l675 = l674;
4532 i676 += i675;
4533 l676 = l675;
4534 i677 += i676;
4535 l677 = l676;
4536 i678 += i677;
4537 l678 = l677;
4538 i679 += i678;
4539 l679 = l678;
4540 i680 += i679;
4541 l680 = l679;
4542 i681 += i680;
4543 l681 = l680;
4544 i682 += i681;
4545 l682 = l681;
4546 i683 += i682;
4547 l683 = l682;
4548 i684 += i683;
4549 l684 = l683;
4550 i685 += i684;
4551 l685 = l684;
4552 i686 += i685;
4553 l686 = l685;
4554 i687 += i686;
4555 l687 = l686;
4556 i688 += i687;
4557 l688 = l687;
4558 i689 += i688;
4559 l689 = l688;
4560 i690 += i689;
4561 l690 = l689;
4562 i691 += i690;
4563 l691 = l690;
4564 i692 += i691;
4565 l692 = l691;
4566 i693 += i692;
4567 l693 = l692;
4568 i694 += i693;
4569 l694 = l693;
4570 i695 += i694;
4571 l695 = l694;
4572 i696 += i695;
4573 l696 = l695;
4574 i697 += i696;
4575 l697 = l696;
4576 i698 += i697;
4577 l698 = l697;
4578 i699 += i698;
4579 l699 = l698;
4580 i700 += i699;
4581 l700 = l699;
4582 i701 += i700;
4583 l701 = l700;
4584 i702 += i701;
4585 l702 = l701;
4586 i703 += i702;
4587 l703 = l702;
4588 i704 += i703;
4589 l704 = l703;
4590 i705 += i704;
4591 l705 = l704;
4592 i706 += i705;
4593 l706 = l705;
4594 i707 += i706;
4595 l707 = l706;
4596 i708 += i707;
4597 l708 = l707;
4598 i709 += i708;
4599 l709 = l708;
4600 i710 += i709;
4601 l710 = l709;
4602 i711 += i710;
4603 l711 = l710;
4604 i712 += i711;
4605 l712 = l711;
4606 i713 += i712;
4607 l713 = l712;
4608 i714 += i713;
4609 l714 = l713;
4610 i715 += i714;
4611 l715 = l714;
4612 i716 += i715;
4613 l716 = l715;
4614 i717 += i716;
4615 l717 = l716;
4616 i718 += i717;
4617 l718 = l717;
4618 i719 += i718;
4619 l719 = l718;
4620 i720 += i719;
4621 l720 = l719;
4622 i721 += i720;
4623 l721 = l720;
4624 i722 += i721;
4625 l722 = l721;
4626 i723 += i722;
4627 l723 = l722;
4628 i724 += i723;
4629 l724 = l723;
4630 i725 += i724;
4631 l725 = l724;
4632 i726 += i725;
4633 l726 = l725;
4634 i727 += i726;
4635 l727 = l726;
4636 i728 += i727;
4637 l728 = l727;
4638 i729 += i728;
4639 l729 = l728;
4640 i730 += i729;
4641 l730 = l729;
4642 i731 += i730;
4643 l731 = l730;
4644 i732 += i731;
4645 l732 = l731;
4646 i733 += i732;
4647 l733 = l732;
4648 i734 += i733;
4649 l734 = l733;
4650 i735 += i734;
4651 l735 = l734;
4652 i736 += i735;
4653 l736 = l735;
4654 i737 += i736;
4655 l737 = l736;
4656 i738 += i737;
4657 l738 = l737;
4658 i739 += i738;
4659 l739 = l738;
4660 i740 += i739;
4661 l740 = l739;
4662 i741 += i740;
4663 l741 = l740;
4664 i742 += i741;
4665 l742 = l741;
4666 i743 += i742;
4667 l743 = l742;
4668 i744 += i743;
4669 l744 = l743;
4670 i745 += i744;
4671 l745 = l744;
4672 i746 += i745;
4673 l746 = l745;
4674 i747 += i746;
4675 l747 = l746;
4676 i748 += i747;
4677 l748 = l747;
4678 i749 += i748;
4679 l749 = l748;
4680 i750 += i749;
4681 l750 = l749;
4682 i751 += i750;
4683 l751 = l750;
4684 i752 += i751;
4685 l752 = l751;
4686 i753 += i752;
4687 l753 = l752;
4688 i754 += i753;
4689 l754 = l753;
4690 i755 += i754;
4691 l755 = l754;
4692 i756 += i755;
4693 l756 = l755;
4694 i757 += i756;
4695 l757 = l756;
4696 i758 += i757;
4697 l758 = l757;
4698 i759 += i758;
4699 l759 = l758;
4700 i760 += i759;
4701 l760 = l759;
4702 i761 += i760;
4703 l761 = l760;
4704 i762 += i761;
4705 l762 = l761;
4706 i763 += i762;
4707 l763 = l762;
4708 i764 += i763;
4709 l764 = l763;
4710 i765 += i764;
4711 l765 = l764;
4712 i766 += i765;
4713 l766 = l765;
4714 i767 += i766;
4715 l767 = l766;
4716 i768 += i767;
4717 l768 = l767;
4718 i769 += i768;
4719 l769 = l768;
4720 i770 += i769;
4721 l770 = l769;
4722 i771 += i770;
4723 l771 = l770;
4724 i772 += i771;
4725 l772 = l771;
4726 i773 += i772;
4727 l773 = l772;
4728 i774 += i773;
4729 l774 = l773;
4730 i775 += i774;
4731 l775 = l774;
4732 i776 += i775;
4733 l776 = l775;
4734 i777 += i776;
4735 l777 = l776;
4736 i778 += i777;
4737 l778 = l777;
4738 i779 += i778;
4739 l779 = l778;
4740 i780 += i779;
4741 l780 = l779;
4742 i781 += i780;
4743 l781 = l780;
4744 i782 += i781;
4745 l782 = l781;
4746 i783 += i782;
4747 l783 = l782;
4748 i784 += i783;
4749 l784 = l783;
4750 i785 += i784;
4751 l785 = l784;
4752 i786 += i785;
4753 l786 = l785;
4754 i787 += i786;
4755 l787 = l786;
4756 i788 += i787;
4757 l788 = l787;
4758 i789 += i788;
4759 l789 = l788;
4760 i790 += i789;
4761 l790 = l789;
4762 i791 += i790;
4763 l791 = l790;
4764 i792 += i791;
4765 l792 = l791;
4766 i793 += i792;
4767 l793 = l792;
4768 i794 += i793;
4769 l794 = l793;
4770 i795 += i794;
4771 l795 = l794;
4772 i796 += i795;
4773 l796 = l795;
4774 i797 += i796;
4775 l797 = l796;
4776 i798 += i797;
4777 l798 = l797;
4778 i799 += i798;
4779 l799 = l798;
4780 i800 += i799;
4781 l800 = l799;
4782 i801 += i800;
4783 l801 = l800;
4784 i802 += i801;
4785 l802 = l801;
4786 i803 += i802;
4787 l803 = l802;
4788 i804 += i803;
4789 l804 = l803;
4790 i805 += i804;
4791 l805 = l804;
4792 i806 += i805;
4793 l806 = l805;
4794 i807 += i806;
4795 l807 = l806;
4796 i808 += i807;
4797 l808 = l807;
4798 i809 += i808;
4799 l809 = l808;
4800 i810 += i809;
4801 l810 = l809;
4802 i811 += i810;
4803 l811 = l810;
4804 i812 += i811;
4805 l812 = l811;
4806 i813 += i812;
4807 l813 = l812;
4808 i814 += i813;
4809 l814 = l813;
4810 i815 += i814;
4811 l815 = l814;
4812 i816 += i815;
4813 l816 = l815;
4814 i817 += i816;
4815 l817 = l816;
4816 i818 += i817;
4817 l818 = l817;
4818 i819 += i818;
4819 l819 = l818;
4820 i820 += i819;
4821 l820 = l819;
4822 i821 += i820;
4823 l821 = l820;
4824 i822 += i821;
4825 l822 = l821;
4826 i823 += i822;
4827 l823 = l822;
4828 i824 += i823;
4829 l824 = l823;
4830 i825 += i824;
4831 l825 = l824;
4832 i826 += i825;
4833 l826 = l825;
4834 i827 += i826;
4835 l827 = l826;
4836 i828 += i827;
4837 l828 = l827;
4838 i829 += i828;
4839 l829 = l828;
4840 i830 += i829;
4841 l830 = l829;
4842 i831 += i830;
4843 l831 = l830;
4844 i832 += i831;
4845 l832 = l831;
4846 i833 += i832;
4847 l833 = l832;
4848 i834 += i833;
4849 l834 = l833;
4850 i835 += i834;
4851 l835 = l834;
4852 i836 += i835;
4853 l836 = l835;
4854 i837 += i836;
4855 l837 = l836;
4856 i838 += i837;
4857 l838 = l837;
4858 i839 += i838;
4859 l839 = l838;
4860 i840 += i839;
4861 l840 = l839;
4862 i841 += i840;
4863 l841 = l840;
4864 i842 += i841;
4865 l842 = l841;
4866 i843 += i842;
4867 l843 = l842;
4868 i844 += i843;
4869 l844 = l843;
4870 i845 += i844;
4871 l845 = l844;
4872 i846 += i845;
4873 l846 = l845;
4874 i847 += i846;
4875 l847 = l846;
4876 i848 += i847;
4877 l848 = l847;
4878 i849 += i848;
4879 l849 = l848;
4880 i850 += i849;
4881 l850 = l849;
4882 i851 += i850;
4883 l851 = l850;
4884 i852 += i851;
4885 l852 = l851;
4886 i853 += i852;
4887 l853 = l852;
4888 i854 += i853;
4889 l854 = l853;
4890 i855 += i854;
4891 l855 = l854;
4892 i856 += i855;
4893 l856 = l855;
4894 i857 += i856;
4895 l857 = l856;
4896 i858 += i857;
4897 l858 = l857;
4898 i859 += i858;
4899 l859 = l858;
4900 i860 += i859;
4901 l860 = l859;
4902 i861 += i860;
4903 l861 = l860;
4904 i862 += i861;
4905 l862 = l861;
4906 i863 += i862;
4907 l863 = l862;
4908 i864 += i863;
4909 l864 = l863;
4910 i865 += i864;
4911 l865 = l864;
4912 i866 += i865;
4913 l866 = l865;
4914 i867 += i866;
4915 l867 = l866;
4916 i868 += i867;
4917 l868 = l867;
4918 i869 += i868;
4919 l869 = l868;
4920 i870 += i869;
4921 l870 = l869;
4922 i871 += i870;
4923 l871 = l870;
4924 i872 += i871;
4925 l872 = l871;
4926 i873 += i872;
4927 l873 = l872;
4928 i874 += i873;
4929 l874 = l873;
4930 i875 += i874;
4931 l875 = l874;
4932 i876 += i875;
4933 l876 = l875;
4934 i877 += i876;
4935 l877 = l876;
4936 i878 += i877;
4937 l878 = l877;
4938 i879 += i878;
4939 l879 = l878;
4940 i880 += i879;
4941 l880 = l879;
4942 i881 += i880;
4943 l881 = l880;
4944 i882 += i881;
4945 l882 = l881;
4946 i883 += i882;
4947 l883 = l882;
4948 i884 += i883;
4949 l884 = l883;
4950 i885 += i884;
4951 l885 = l884;
4952 i886 += i885;
4953 l886 = l885;
4954 i887 += i886;
4955 l887 = l886;
4956 i888 += i887;
4957 l888 = l887;
4958 i889 += i888;
4959 l889 = l888;
4960 i890 += i889;
4961 l890 = l889;
4962 i891 += i890;
4963 l891 = l890;
4964 i892 += i891;
4965 l892 = l891;
4966 i893 += i892;
4967 l893 = l892;
4968 i894 += i893;
4969 l894 = l893;
4970 i895 += i894;
4971 l895 = l894;
4972 i896 += i895;
4973 l896 = l895;
4974 i897 += i896;
4975 l897 = l896;
4976 i898 += i897;
4977 l898 = l897;
4978 i899 += i898;
4979 l899 = l898;
4980 i900 += i899;
4981 l900 = l899;
4982 i901 += i900;
4983 l901 = l900;
4984 i902 += i901;
4985 l902 = l901;
4986 i903 += i902;
4987 l903 = l902;
4988 i904 += i903;
4989 l904 = l903;
4990 i905 += i904;
4991 l905 = l904;
4992 i906 += i905;
4993 l906 = l905;
4994 i907 += i906;
4995 l907 = l906;
4996 i908 += i907;
4997 l908 = l907;
4998 i909 += i908;
4999 l909 = l908;
5000 i910 += i909;
5001 l910 = l909;
5002 i911 += i910;
5003 l911 = l910;
5004 i912 += i911;
5005 l912 = l911;
5006 i913 += i912;
5007 l913 = l912;
5008 i914 += i913;
5009 l914 = l913;
5010 i915 += i914;
5011 l915 = l914;
5012 i916 += i915;
5013 l916 = l915;
5014 i917 += i916;
5015 l917 = l916;
5016 i918 += i917;
5017 l918 = l917;
5018 i919 += i918;
5019 l919 = l918;
5020 i920 += i919;
5021 l920 = l919;
5022 i921 += i920;
5023 l921 = l920;
5024 i922 += i921;
5025 l922 = l921;
5026 i923 += i922;
5027 l923 = l922;
5028 i924 += i923;
5029 l924 = l923;
5030 i925 += i924;
5031 l925 = l924;
5032 i926 += i925;
5033 l926 = l925;
5034 i927 += i926;
5035 l927 = l926;
5036 i928 += i927;
5037 l928 = l927;
5038 i929 += i928;
5039 l929 = l928;
5040 i930 += i929;
5041 l930 = l929;
5042 i931 += i930;
5043 l931 = l930;
5044 i932 += i931;
5045 l932 = l931;
5046 i933 += i932;
5047 l933 = l932;
5048 i934 += i933;
5049 l934 = l933;
5050 i935 += i934;
5051 l935 = l934;
5052 i936 += i935;
5053 l936 = l935;
5054 i937 += i936;
5055 l937 = l936;
5056 i938 += i937;
5057 l938 = l937;
5058 i939 += i938;
5059 l939 = l938;
5060 i940 += i939;
5061 l940 = l939;
5062 i941 += i940;
5063 l941 = l940;
5064 i942 += i941;
5065 l942 = l941;
5066 i943 += i942;
5067 l943 = l942;
5068 i944 += i943;
5069 l944 = l943;
5070 i945 += i944;
5071 l945 = l944;
5072 i946 += i945;
5073 l946 = l945;
5074 i947 += i946;
5075 l947 = l946;
5076 i948 += i947;
5077 l948 = l947;
5078 i949 += i948;
5079 l949 = l948;
5080 i950 += i949;
5081 l950 = l949;
5082 i951 += i950;
5083 l951 = l950;
5084 i952 += i951;
5085 l952 = l951;
5086 i953 += i952;
5087 l953 = l952;
5088 i954 += i953;
5089 l954 = l953;
5090 i955 += i954;
5091 l955 = l954;
5092 i956 += i955;
5093 l956 = l955;
5094 i957 += i956;
5095 l957 = l956;
5096 i958 += i957;
5097 l958 = l957;
5098 i959 += i958;
5099 l959 = l958;
5100 i960 += i959;
5101 l960 = l959;
5102 i961 += i960;
5103 l961 = l960;
5104 i962 += i961;
5105 l962 = l961;
5106 i963 += i962;
5107 l963 = l962;
5108 i964 += i963;
5109 l964 = l963;
5110 i965 += i964;
5111 l965 = l964;
5112 i966 += i965;
5113 l966 = l965;
5114 i967 += i966;
5115 l967 = l966;
5116 i968 += i967;
5117 l968 = l967;
5118 i969 += i968;
5119 l969 = l968;
5120 i970 += i969;
5121 l970 = l969;
5122 i971 += i970;
5123 l971 = l970;
5124 i972 += i971;
5125 l972 = l971;
5126 i973 += i972;
5127 l973 = l972;
5128 i974 += i973;
5129 l974 = l973;
5130 i975 += i974;
5131 l975 = l974;
5132 i976 += i975;
5133 l976 = l975;
5134 i977 += i976;
5135 l977 = l976;
5136 i978 += i977;
5137 l978 = l977;
5138 i979 += i978;
5139 l979 = l978;
5140 i980 += i979;
5141 l980 = l979;
5142 i981 += i980;
5143 l981 = l980;
5144 i982 += i981;
5145 l982 = l981;
5146 i983 += i982;
5147 l983 = l982;
5148 i984 += i983;
5149 l984 = l983;
5150 i985 += i984;
5151 l985 = l984;
5152 i986 += i985;
5153 l986 = l985;
5154 i987 += i986;
5155 l987 = l986;
5156 i988 += i987;
5157 l988 = l987;
5158 i989 += i988;
5159 l989 = l988;
5160 i990 += i989;
5161 l990 = l989;
5162 i991 += i990;
5163 l991 = l990;
5164 i992 += i991;
5165 l992 = l991;
5166 i993 += i992;
5167 l993 = l992;
5168 i994 += i993;
5169 l994 = l993;
5170 i995 += i994;
5171 l995 = l994;
5172 i996 += i995;
5173 l996 = l995;
5174 i997 += i996;
5175 l997 = l996;
5176 i998 += i997;
5177 l998 = l997;
5178 i999 += i998;
5179 l999 = l998;
5180 return i999 + l999;
5181 }
5182
Ian Rogers513c64a2012-02-26 15:16:23 -08005183 static double largeFrameFloat() {
5184 float f0 = 0;
5185 double d0 = 0;
5186 float f1 = 1;
5187 double d1 = 1;
5188 float f2 = 2;
5189 double d2 = 2;
5190 float f3 = 3;
5191 double d3 = 3;
5192 float f4 = 4;
5193 double d4 = 4;
5194 float f5 = 5;
5195 double d5 = 5;
5196 float f6 = 6;
5197 double d6 = 6;
5198 float f7 = 7;
5199 double d7 = 7;
5200 float f8 = 8;
5201 double d8 = 8;
5202 float f9 = 9;
5203 double d9 = 9;
5204 float f10 = 10;
5205 double d10 = 10;
5206 float f11 = 11;
5207 double d11 = 11;
5208 float f12 = 12;
5209 double d12 = 12;
5210 float f13 = 13;
5211 double d13 = 13;
5212 float f14 = 14;
5213 double d14 = 14;
5214 float f15 = 15;
5215 double d15 = 15;
5216 float f16 = 16;
5217 double d16 = 16;
5218 float f17 = 17;
5219 double d17 = 17;
5220 float f18 = 18;
5221 double d18 = 18;
5222 float f19 = 19;
5223 double d19 = 19;
5224 float f20 = 20;
5225 double d20 = 20;
5226 float f21 = 21;
5227 double d21 = 21;
5228 float f22 = 22;
5229 double d22 = 22;
5230 float f23 = 23;
5231 double d23 = 23;
5232 float f24 = 24;
5233 double d24 = 24;
5234 float f25 = 25;
5235 double d25 = 25;
5236 float f26 = 26;
5237 double d26 = 26;
5238 float f27 = 27;
5239 double d27 = 27;
5240 float f28 = 28;
5241 double d28 = 28;
5242 float f29 = 29;
5243 double d29 = 29;
5244 float f30 = 30;
5245 double d30 = 30;
5246 float f31 = 31;
5247 double d31 = 31;
5248 float f32 = 32;
5249 double d32 = 32;
5250 float f33 = 33;
5251 double d33 = 33;
5252 float f34 = 34;
5253 double d34 = 34;
5254 float f35 = 35;
5255 double d35 = 35;
5256 float f36 = 36;
5257 double d36 = 36;
5258 float f37 = 37;
5259 double d37 = 37;
5260 float f38 = 38;
5261 double d38 = 38;
5262 float f39 = 39;
5263 double d39 = 39;
5264 float f40 = 40;
5265 double d40 = 40;
5266 float f41 = 41;
5267 double d41 = 41;
5268 float f42 = 42;
5269 double d42 = 42;
5270 float f43 = 43;
5271 double d43 = 43;
5272 float f44 = 44;
5273 double d44 = 44;
5274 float f45 = 45;
5275 double d45 = 45;
5276 float f46 = 46;
5277 double d46 = 46;
5278 float f47 = 47;
5279 double d47 = 47;
5280 float f48 = 48;
5281 double d48 = 48;
5282 float f49 = 49;
5283 double d49 = 49;
5284 float f50 = 50;
5285 double d50 = 50;
5286 float f51 = 51;
5287 double d51 = 51;
5288 float f52 = 52;
5289 double d52 = 52;
5290 float f53 = 53;
5291 double d53 = 53;
5292 float f54 = 54;
5293 double d54 = 54;
5294 float f55 = 55;
5295 double d55 = 55;
5296 float f56 = 56;
5297 double d56 = 56;
5298 float f57 = 57;
5299 double d57 = 57;
5300 float f58 = 58;
5301 double d58 = 58;
5302 float f59 = 59;
5303 double d59 = 59;
5304 float f60 = 60;
5305 double d60 = 60;
5306 float f61 = 61;
5307 double d61 = 61;
5308 float f62 = 62;
5309 double d62 = 62;
5310 float f63 = 63;
5311 double d63 = 63;
5312 float f64 = 64;
5313 double d64 = 64;
5314 float f65 = 65;
5315 double d65 = 65;
5316 float f66 = 66;
5317 double d66 = 66;
5318 float f67 = 67;
5319 double d67 = 67;
5320 float f68 = 68;
5321 double d68 = 68;
5322 float f69 = 69;
5323 double d69 = 69;
5324 float f70 = 70;
5325 double d70 = 70;
5326 float f71 = 71;
5327 double d71 = 71;
5328 float f72 = 72;
5329 double d72 = 72;
5330 float f73 = 73;
5331 double d73 = 73;
5332 float f74 = 74;
5333 double d74 = 74;
5334 float f75 = 75;
5335 double d75 = 75;
5336 float f76 = 76;
5337 double d76 = 76;
5338 float f77 = 77;
5339 double d77 = 77;
5340 float f78 = 78;
5341 double d78 = 78;
5342 float f79 = 79;
5343 double d79 = 79;
5344 float f80 = 80;
5345 double d80 = 80;
5346 float f81 = 81;
5347 double d81 = 81;
5348 float f82 = 82;
5349 double d82 = 82;
5350 float f83 = 83;
5351 double d83 = 83;
5352 float f84 = 84;
5353 double d84 = 84;
5354 float f85 = 85;
5355 double d85 = 85;
5356 float f86 = 86;
5357 double d86 = 86;
5358 float f87 = 87;
5359 double d87 = 87;
5360 float f88 = 88;
5361 double d88 = 88;
5362 float f89 = 89;
5363 double d89 = 89;
5364 float f90 = 90;
5365 double d90 = 90;
5366 float f91 = 91;
5367 double d91 = 91;
5368 float f92 = 92;
5369 double d92 = 92;
5370 float f93 = 93;
5371 double d93 = 93;
5372 float f94 = 94;
5373 double d94 = 94;
5374 float f95 = 95;
5375 double d95 = 95;
5376 float f96 = 96;
5377 double d96 = 96;
5378 float f97 = 97;
5379 double d97 = 97;
5380 float f98 = 98;
5381 double d98 = 98;
5382 float f99 = 99;
5383 double d99 = 99;
5384 float f100 = 100;
5385 double d100 = 100;
5386 float f101 = 101;
5387 double d101 = 101;
5388 float f102 = 102;
5389 double d102 = 102;
5390 float f103 = 103;
5391 double d103 = 103;
5392 float f104 = 104;
5393 double d104 = 104;
5394 float f105 = 105;
5395 double d105 = 105;
5396 float f106 = 106;
5397 double d106 = 106;
5398 float f107 = 107;
5399 double d107 = 107;
5400 float f108 = 108;
5401 double d108 = 108;
5402 float f109 = 109;
5403 double d109 = 109;
5404 float f110 = 110;
5405 double d110 = 110;
5406 float f111 = 111;
5407 double d111 = 111;
5408 float f112 = 112;
5409 double d112 = 112;
5410 float f113 = 113;
5411 double d113 = 113;
5412 float f114 = 114;
5413 double d114 = 114;
5414 float f115 = 115;
5415 double d115 = 115;
5416 float f116 = 116;
5417 double d116 = 116;
5418 float f117 = 117;
5419 double d117 = 117;
5420 float f118 = 118;
5421 double d118 = 118;
5422 float f119 = 119;
5423 double d119 = 119;
5424 float f120 = 120;
5425 double d120 = 120;
5426 float f121 = 121;
5427 double d121 = 121;
5428 float f122 = 122;
5429 double d122 = 122;
5430 float f123 = 123;
5431 double d123 = 123;
5432 float f124 = 124;
5433 double d124 = 124;
5434 float f125 = 125;
5435 double d125 = 125;
5436 float f126 = 126;
5437 double d126 = 126;
5438 float f127 = 127;
5439 double d127 = 127;
5440 float f128 = 128;
5441 double d128 = 128;
5442 float f129 = 129;
5443 double d129 = 129;
5444 float f130 = 130;
5445 double d130 = 130;
5446 float f131 = 131;
5447 double d131 = 131;
5448 float f132 = 132;
5449 double d132 = 132;
5450 float f133 = 133;
5451 double d133 = 133;
5452 float f134 = 134;
5453 double d134 = 134;
5454 float f135 = 135;
5455 double d135 = 135;
5456 float f136 = 136;
5457 double d136 = 136;
5458 float f137 = 137;
5459 double d137 = 137;
5460 float f138 = 138;
5461 double d138 = 138;
5462 float f139 = 139;
5463 double d139 = 139;
5464 float f140 = 140;
5465 double d140 = 140;
5466 float f141 = 141;
5467 double d141 = 141;
5468 float f142 = 142;
5469 double d142 = 142;
5470 float f143 = 143;
5471 double d143 = 143;
5472 float f144 = 144;
5473 double d144 = 144;
5474 float f145 = 145;
5475 double d145 = 145;
5476 float f146 = 146;
5477 double d146 = 146;
5478 float f147 = 147;
5479 double d147 = 147;
5480 float f148 = 148;
5481 double d148 = 148;
5482 float f149 = 149;
5483 double d149 = 149;
5484 float f150 = 150;
5485 double d150 = 150;
5486 float f151 = 151;
5487 double d151 = 151;
5488 float f152 = 152;
5489 double d152 = 152;
5490 float f153 = 153;
5491 double d153 = 153;
5492 float f154 = 154;
5493 double d154 = 154;
5494 float f155 = 155;
5495 double d155 = 155;
5496 float f156 = 156;
5497 double d156 = 156;
5498 float f157 = 157;
5499 double d157 = 157;
5500 float f158 = 158;
5501 double d158 = 158;
5502 float f159 = 159;
5503 double d159 = 159;
5504 float f160 = 160;
5505 double d160 = 160;
5506 float f161 = 161;
5507 double d161 = 161;
5508 float f162 = 162;
5509 double d162 = 162;
5510 float f163 = 163;
5511 double d163 = 163;
5512 float f164 = 164;
5513 double d164 = 164;
5514 float f165 = 165;
5515 double d165 = 165;
5516 float f166 = 166;
5517 double d166 = 166;
5518 float f167 = 167;
5519 double d167 = 167;
5520 float f168 = 168;
5521 double d168 = 168;
5522 float f169 = 169;
5523 double d169 = 169;
5524 float f170 = 170;
5525 double d170 = 170;
5526 float f171 = 171;
5527 double d171 = 171;
5528 float f172 = 172;
5529 double d172 = 172;
5530 float f173 = 173;
5531 double d173 = 173;
5532 float f174 = 174;
5533 double d174 = 174;
5534 float f175 = 175;
5535 double d175 = 175;
5536 float f176 = 176;
5537 double d176 = 176;
5538 float f177 = 177;
5539 double d177 = 177;
5540 float f178 = 178;
5541 double d178 = 178;
5542 float f179 = 179;
5543 double d179 = 179;
5544 float f180 = 180;
5545 double d180 = 180;
5546 float f181 = 181;
5547 double d181 = 181;
5548 float f182 = 182;
5549 double d182 = 182;
5550 float f183 = 183;
5551 double d183 = 183;
5552 float f184 = 184;
5553 double d184 = 184;
5554 float f185 = 185;
5555 double d185 = 185;
5556 float f186 = 186;
5557 double d186 = 186;
5558 float f187 = 187;
5559 double d187 = 187;
5560 float f188 = 188;
5561 double d188 = 188;
5562 float f189 = 189;
5563 double d189 = 189;
5564 float f190 = 190;
5565 double d190 = 190;
5566 float f191 = 191;
5567 double d191 = 191;
5568 float f192 = 192;
5569 double d192 = 192;
5570 float f193 = 193;
5571 double d193 = 193;
5572 float f194 = 194;
5573 double d194 = 194;
5574 float f195 = 195;
5575 double d195 = 195;
5576 float f196 = 196;
5577 double d196 = 196;
5578 float f197 = 197;
5579 double d197 = 197;
5580 float f198 = 198;
5581 double d198 = 198;
5582 float f199 = 199;
5583 double d199 = 199;
5584 float f200 = 200;
5585 double d200 = 200;
5586 float f201 = 201;
5587 double d201 = 201;
5588 float f202 = 202;
5589 double d202 = 202;
5590 float f203 = 203;
5591 double d203 = 203;
5592 float f204 = 204;
5593 double d204 = 204;
5594 float f205 = 205;
5595 double d205 = 205;
5596 float f206 = 206;
5597 double d206 = 206;
5598 float f207 = 207;
5599 double d207 = 207;
5600 float f208 = 208;
5601 double d208 = 208;
5602 float f209 = 209;
5603 double d209 = 209;
5604 float f210 = 210;
5605 double d210 = 210;
5606 float f211 = 211;
5607 double d211 = 211;
5608 float f212 = 212;
5609 double d212 = 212;
5610 float f213 = 213;
5611 double d213 = 213;
5612 float f214 = 214;
5613 double d214 = 214;
5614 float f215 = 215;
5615 double d215 = 215;
5616 float f216 = 216;
5617 double d216 = 216;
5618 float f217 = 217;
5619 double d217 = 217;
5620 float f218 = 218;
5621 double d218 = 218;
5622 float f219 = 219;
5623 double d219 = 219;
5624 float f220 = 220;
5625 double d220 = 220;
5626 float f221 = 221;
5627 double d221 = 221;
5628 float f222 = 222;
5629 double d222 = 222;
5630 float f223 = 223;
5631 double d223 = 223;
5632 float f224 = 224;
5633 double d224 = 224;
5634 float f225 = 225;
5635 double d225 = 225;
5636 float f226 = 226;
5637 double d226 = 226;
5638 float f227 = 227;
5639 double d227 = 227;
5640 float f228 = 228;
5641 double d228 = 228;
5642 float f229 = 229;
5643 double d229 = 229;
5644 float f230 = 230;
5645 double d230 = 230;
5646 float f231 = 231;
5647 double d231 = 231;
5648 float f232 = 232;
5649 double d232 = 232;
5650 float f233 = 233;
5651 double d233 = 233;
5652 float f234 = 234;
5653 double d234 = 234;
5654 float f235 = 235;
5655 double d235 = 235;
5656 float f236 = 236;
5657 double d236 = 236;
5658 float f237 = 237;
5659 double d237 = 237;
5660 float f238 = 238;
5661 double d238 = 238;
5662 float f239 = 239;
5663 double d239 = 239;
5664 float f240 = 240;
5665 double d240 = 240;
5666 float f241 = 241;
5667 double d241 = 241;
5668 float f242 = 242;
5669 double d242 = 242;
5670 float f243 = 243;
5671 double d243 = 243;
5672 float f244 = 244;
5673 double d244 = 244;
5674 float f245 = 245;
5675 double d245 = 245;
5676 float f246 = 246;
5677 double d246 = 246;
5678 float f247 = 247;
5679 double d247 = 247;
5680 float f248 = 248;
5681 double d248 = 248;
5682 float f249 = 249;
5683 double d249 = 249;
5684 float f250 = 250;
5685 double d250 = 250;
5686 float f251 = 251;
5687 double d251 = 251;
5688 float f252 = 252;
5689 double d252 = 252;
5690 float f253 = 253;
5691 double d253 = 253;
5692 float f254 = 254;
5693 double d254 = 254;
5694 float f255 = 255;
5695 double d255 = 255;
5696 float f256 = 256;
5697 double d256 = 256;
5698 float f257 = 257;
5699 double d257 = 257;
5700 float f258 = 258;
5701 double d258 = 258;
5702 float f259 = 259;
5703 double d259 = 259;
5704 float f260 = 260;
5705 double d260 = 260;
5706 float f261 = 261;
5707 double d261 = 261;
5708 float f262 = 262;
5709 double d262 = 262;
5710 float f263 = 263;
5711 double d263 = 263;
5712 float f264 = 264;
5713 double d264 = 264;
5714 float f265 = 265;
5715 double d265 = 265;
5716 float f266 = 266;
5717 double d266 = 266;
5718 float f267 = 267;
5719 double d267 = 267;
5720 float f268 = 268;
5721 double d268 = 268;
5722 float f269 = 269;
5723 double d269 = 269;
5724 float f270 = 270;
5725 double d270 = 270;
5726 float f271 = 271;
5727 double d271 = 271;
5728 float f272 = 272;
5729 double d272 = 272;
5730 float f273 = 273;
5731 double d273 = 273;
5732 float f274 = 274;
5733 double d274 = 274;
5734 float f275 = 275;
5735 double d275 = 275;
5736 float f276 = 276;
5737 double d276 = 276;
5738 float f277 = 277;
5739 double d277 = 277;
5740 float f278 = 278;
5741 double d278 = 278;
5742 float f279 = 279;
5743 double d279 = 279;
5744 float f280 = 280;
5745 double d280 = 280;
5746 float f281 = 281;
5747 double d281 = 281;
5748 float f282 = 282;
5749 double d282 = 282;
5750 float f283 = 283;
5751 double d283 = 283;
5752 float f284 = 284;
5753 double d284 = 284;
5754 float f285 = 285;
5755 double d285 = 285;
5756 float f286 = 286;
5757 double d286 = 286;
5758 float f287 = 287;
5759 double d287 = 287;
5760 float f288 = 288;
5761 double d288 = 288;
5762 float f289 = 289;
5763 double d289 = 289;
5764 float f290 = 290;
5765 double d290 = 290;
5766 float f291 = 291;
5767 double d291 = 291;
5768 float f292 = 292;
5769 double d292 = 292;
5770 float f293 = 293;
5771 double d293 = 293;
5772 float f294 = 294;
5773 double d294 = 294;
5774 float f295 = 295;
5775 double d295 = 295;
5776 float f296 = 296;
5777 double d296 = 296;
5778 float f297 = 297;
5779 double d297 = 297;
5780 float f298 = 298;
5781 double d298 = 298;
5782 float f299 = 299;
5783 double d299 = 299;
5784 float f300 = 300;
5785 double d300 = 300;
5786 float f301 = 301;
5787 double d301 = 301;
5788 float f302 = 302;
5789 double d302 = 302;
5790 float f303 = 303;
5791 double d303 = 303;
5792 float f304 = 304;
5793 double d304 = 304;
5794 float f305 = 305;
5795 double d305 = 305;
5796 float f306 = 306;
5797 double d306 = 306;
5798 float f307 = 307;
5799 double d307 = 307;
5800 float f308 = 308;
5801 double d308 = 308;
5802 float f309 = 309;
5803 double d309 = 309;
5804 float f310 = 310;
5805 double d310 = 310;
5806 float f311 = 311;
5807 double d311 = 311;
5808 float f312 = 312;
5809 double d312 = 312;
5810 float f313 = 313;
5811 double d313 = 313;
5812 float f314 = 314;
5813 double d314 = 314;
5814 float f315 = 315;
5815 double d315 = 315;
5816 float f316 = 316;
5817 double d316 = 316;
5818 float f317 = 317;
5819 double d317 = 317;
5820 float f318 = 318;
5821 double d318 = 318;
5822 float f319 = 319;
5823 double d319 = 319;
5824 float f320 = 320;
5825 double d320 = 320;
5826 float f321 = 321;
5827 double d321 = 321;
5828 float f322 = 322;
5829 double d322 = 322;
5830 float f323 = 323;
5831 double d323 = 323;
5832 float f324 = 324;
5833 double d324 = 324;
5834 float f325 = 325;
5835 double d325 = 325;
5836 float f326 = 326;
5837 double d326 = 326;
5838 float f327 = 327;
5839 double d327 = 327;
5840 float f328 = 328;
5841 double d328 = 328;
5842 float f329 = 329;
5843 double d329 = 329;
5844 float f330 = 330;
5845 double d330 = 330;
5846 float f331 = 331;
5847 double d331 = 331;
5848 float f332 = 332;
5849 double d332 = 332;
5850 float f333 = 333;
5851 double d333 = 333;
5852 float f334 = 334;
5853 double d334 = 334;
5854 float f335 = 335;
5855 double d335 = 335;
5856 float f336 = 336;
5857 double d336 = 336;
5858 float f337 = 337;
5859 double d337 = 337;
5860 float f338 = 338;
5861 double d338 = 338;
5862 float f339 = 339;
5863 double d339 = 339;
5864 float f340 = 340;
5865 double d340 = 340;
5866 float f341 = 341;
5867 double d341 = 341;
5868 float f342 = 342;
5869 double d342 = 342;
5870 float f343 = 343;
5871 double d343 = 343;
5872 float f344 = 344;
5873 double d344 = 344;
5874 float f345 = 345;
5875 double d345 = 345;
5876 float f346 = 346;
5877 double d346 = 346;
5878 float f347 = 347;
5879 double d347 = 347;
5880 float f348 = 348;
5881 double d348 = 348;
5882 float f349 = 349;
5883 double d349 = 349;
5884 float f350 = 350;
5885 double d350 = 350;
5886 float f351 = 351;
5887 double d351 = 351;
5888 float f352 = 352;
5889 double d352 = 352;
5890 float f353 = 353;
5891 double d353 = 353;
5892 float f354 = 354;
5893 double d354 = 354;
5894 float f355 = 355;
5895 double d355 = 355;
5896 float f356 = 356;
5897 double d356 = 356;
5898 float f357 = 357;
5899 double d357 = 357;
5900 float f358 = 358;
5901 double d358 = 358;
5902 float f359 = 359;
5903 double d359 = 359;
5904 float f360 = 360;
5905 double d360 = 360;
5906 float f361 = 361;
5907 double d361 = 361;
5908 float f362 = 362;
5909 double d362 = 362;
5910 float f363 = 363;
5911 double d363 = 363;
5912 float f364 = 364;
5913 double d364 = 364;
5914 float f365 = 365;
5915 double d365 = 365;
5916 float f366 = 366;
5917 double d366 = 366;
5918 float f367 = 367;
5919 double d367 = 367;
5920 float f368 = 368;
5921 double d368 = 368;
5922 float f369 = 369;
5923 double d369 = 369;
5924 float f370 = 370;
5925 double d370 = 370;
5926 float f371 = 371;
5927 double d371 = 371;
5928 float f372 = 372;
5929 double d372 = 372;
5930 float f373 = 373;
5931 double d373 = 373;
5932 float f374 = 374;
5933 double d374 = 374;
5934 float f375 = 375;
5935 double d375 = 375;
5936 float f376 = 376;
5937 double d376 = 376;
5938 float f377 = 377;
5939 double d377 = 377;
5940 float f378 = 378;
5941 double d378 = 378;
5942 float f379 = 379;
5943 double d379 = 379;
5944 float f380 = 380;
5945 double d380 = 380;
5946 float f381 = 381;
5947 double d381 = 381;
5948 float f382 = 382;
5949 double d382 = 382;
5950 float f383 = 383;
5951 double d383 = 383;
5952 float f384 = 384;
5953 double d384 = 384;
5954 float f385 = 385;
5955 double d385 = 385;
5956 float f386 = 386;
5957 double d386 = 386;
5958 float f387 = 387;
5959 double d387 = 387;
5960 float f388 = 388;
5961 double d388 = 388;
5962 float f389 = 389;
5963 double d389 = 389;
5964 float f390 = 390;
5965 double d390 = 390;
5966 float f391 = 391;
5967 double d391 = 391;
5968 float f392 = 392;
5969 double d392 = 392;
5970 float f393 = 393;
5971 double d393 = 393;
5972 float f394 = 394;
5973 double d394 = 394;
5974 float f395 = 395;
5975 double d395 = 395;
5976 float f396 = 396;
5977 double d396 = 396;
5978 float f397 = 397;
5979 double d397 = 397;
5980 float f398 = 398;
5981 double d398 = 398;
5982 float f399 = 399;
5983 double d399 = 399;
5984 float f400 = 400;
5985 double d400 = 400;
5986 float f401 = 401;
5987 double d401 = 401;
5988 float f402 = 402;
5989 double d402 = 402;
5990 float f403 = 403;
5991 double d403 = 403;
5992 float f404 = 404;
5993 double d404 = 404;
5994 float f405 = 405;
5995 double d405 = 405;
5996 float f406 = 406;
5997 double d406 = 406;
5998 float f407 = 407;
5999 double d407 = 407;
6000 float f408 = 408;
6001 double d408 = 408;
6002 float f409 = 409;
6003 double d409 = 409;
6004 float f410 = 410;
6005 double d410 = 410;
6006 float f411 = 411;
6007 double d411 = 411;
6008 float f412 = 412;
6009 double d412 = 412;
6010 float f413 = 413;
6011 double d413 = 413;
6012 float f414 = 414;
6013 double d414 = 414;
6014 float f415 = 415;
6015 double d415 = 415;
6016 float f416 = 416;
6017 double d416 = 416;
6018 float f417 = 417;
6019 double d417 = 417;
6020 float f418 = 418;
6021 double d418 = 418;
6022 float f419 = 419;
6023 double d419 = 419;
6024 float f420 = 420;
6025 double d420 = 420;
6026 float f421 = 421;
6027 double d421 = 421;
6028 float f422 = 422;
6029 double d422 = 422;
6030 float f423 = 423;
6031 double d423 = 423;
6032 float f424 = 424;
6033 double d424 = 424;
6034 float f425 = 425;
6035 double d425 = 425;
6036 float f426 = 426;
6037 double d426 = 426;
6038 float f427 = 427;
6039 double d427 = 427;
6040 float f428 = 428;
6041 double d428 = 428;
6042 float f429 = 429;
6043 double d429 = 429;
6044 float f430 = 430;
6045 double d430 = 430;
6046 float f431 = 431;
6047 double d431 = 431;
6048 float f432 = 432;
6049 double d432 = 432;
6050 float f433 = 433;
6051 double d433 = 433;
6052 float f434 = 434;
6053 double d434 = 434;
6054 float f435 = 435;
6055 double d435 = 435;
6056 float f436 = 436;
6057 double d436 = 436;
6058 float f437 = 437;
6059 double d437 = 437;
6060 float f438 = 438;
6061 double d438 = 438;
6062 float f439 = 439;
6063 double d439 = 439;
6064 float f440 = 440;
6065 double d440 = 440;
6066 float f441 = 441;
6067 double d441 = 441;
6068 float f442 = 442;
6069 double d442 = 442;
6070 float f443 = 443;
6071 double d443 = 443;
6072 float f444 = 444;
6073 double d444 = 444;
6074 float f445 = 445;
6075 double d445 = 445;
6076 float f446 = 446;
6077 double d446 = 446;
6078 float f447 = 447;
6079 double d447 = 447;
6080 float f448 = 448;
6081 double d448 = 448;
6082 float f449 = 449;
6083 double d449 = 449;
6084 float f450 = 450;
6085 double d450 = 450;
6086 float f451 = 451;
6087 double d451 = 451;
6088 float f452 = 452;
6089 double d452 = 452;
6090 float f453 = 453;
6091 double d453 = 453;
6092 float f454 = 454;
6093 double d454 = 454;
6094 float f455 = 455;
6095 double d455 = 455;
6096 float f456 = 456;
6097 double d456 = 456;
6098 float f457 = 457;
6099 double d457 = 457;
6100 float f458 = 458;
6101 double d458 = 458;
6102 float f459 = 459;
6103 double d459 = 459;
6104 float f460 = 460;
6105 double d460 = 460;
6106 float f461 = 461;
6107 double d461 = 461;
6108 float f462 = 462;
6109 double d462 = 462;
6110 float f463 = 463;
6111 double d463 = 463;
6112 float f464 = 464;
6113 double d464 = 464;
6114 float f465 = 465;
6115 double d465 = 465;
6116 float f466 = 466;
6117 double d466 = 466;
6118 float f467 = 467;
6119 double d467 = 467;
6120 float f468 = 468;
6121 double d468 = 468;
6122 float f469 = 469;
6123 double d469 = 469;
6124 float f470 = 470;
6125 double d470 = 470;
6126 float f471 = 471;
6127 double d471 = 471;
6128 float f472 = 472;
6129 double d472 = 472;
6130 float f473 = 473;
6131 double d473 = 473;
6132 float f474 = 474;
6133 double d474 = 474;
6134 float f475 = 475;
6135 double d475 = 475;
6136 float f476 = 476;
6137 double d476 = 476;
6138 float f477 = 477;
6139 double d477 = 477;
6140 float f478 = 478;
6141 double d478 = 478;
6142 float f479 = 479;
6143 double d479 = 479;
6144 float f480 = 480;
6145 double d480 = 480;
6146 float f481 = 481;
6147 double d481 = 481;
6148 float f482 = 482;
6149 double d482 = 482;
6150 float f483 = 483;
6151 double d483 = 483;
6152 float f484 = 484;
6153 double d484 = 484;
6154 float f485 = 485;
6155 double d485 = 485;
6156 float f486 = 486;
6157 double d486 = 486;
6158 float f487 = 487;
6159 double d487 = 487;
6160 float f488 = 488;
6161 double d488 = 488;
6162 float f489 = 489;
6163 double d489 = 489;
6164 float f490 = 490;
6165 double d490 = 490;
6166 float f491 = 491;
6167 double d491 = 491;
6168 float f492 = 492;
6169 double d492 = 492;
6170 float f493 = 493;
6171 double d493 = 493;
6172 float f494 = 494;
6173 double d494 = 494;
6174 float f495 = 495;
6175 double d495 = 495;
6176 float f496 = 496;
6177 double d496 = 496;
6178 float f497 = 497;
6179 double d497 = 497;
6180 float f498 = 498;
6181 double d498 = 498;
6182 float f499 = 499;
6183 double d499 = 499;
6184 float f500 = 500;
6185 double d500 = 500;
6186 float f501 = 501;
6187 double d501 = 501;
6188 float f502 = 502;
6189 double d502 = 502;
6190 float f503 = 503;
6191 double d503 = 503;
6192 float f504 = 504;
6193 double d504 = 504;
6194 float f505 = 505;
6195 double d505 = 505;
6196 float f506 = 506;
6197 double d506 = 506;
6198 float f507 = 507;
6199 double d507 = 507;
6200 float f508 = 508;
6201 double d508 = 508;
6202 float f509 = 509;
6203 double d509 = 509;
6204 float f510 = 510;
6205 double d510 = 510;
6206 float f511 = 511;
6207 double d511 = 511;
6208 float f512 = 512;
6209 double d512 = 512;
6210 float f513 = 513;
6211 double d513 = 513;
6212 float f514 = 514;
6213 double d514 = 514;
6214 float f515 = 515;
6215 double d515 = 515;
6216 float f516 = 516;
6217 double d516 = 516;
6218 float f517 = 517;
6219 double d517 = 517;
6220 float f518 = 518;
6221 double d518 = 518;
6222 float f519 = 519;
6223 double d519 = 519;
6224 float f520 = 520;
6225 double d520 = 520;
6226 float f521 = 521;
6227 double d521 = 521;
6228 float f522 = 522;
6229 double d522 = 522;
6230 float f523 = 523;
6231 double d523 = 523;
6232 float f524 = 524;
6233 double d524 = 524;
6234 float f525 = 525;
6235 double d525 = 525;
6236 float f526 = 526;
6237 double d526 = 526;
6238 float f527 = 527;
6239 double d527 = 527;
6240 float f528 = 528;
6241 double d528 = 528;
6242 float f529 = 529;
6243 double d529 = 529;
6244 float f530 = 530;
6245 double d530 = 530;
6246 float f531 = 531;
6247 double d531 = 531;
6248 float f532 = 532;
6249 double d532 = 532;
6250 float f533 = 533;
6251 double d533 = 533;
6252 float f534 = 534;
6253 double d534 = 534;
6254 float f535 = 535;
6255 double d535 = 535;
6256 float f536 = 536;
6257 double d536 = 536;
6258 float f537 = 537;
6259 double d537 = 537;
6260 float f538 = 538;
6261 double d538 = 538;
6262 float f539 = 539;
6263 double d539 = 539;
6264 float f540 = 540;
6265 double d540 = 540;
6266 float f541 = 541;
6267 double d541 = 541;
6268 float f542 = 542;
6269 double d542 = 542;
6270 float f543 = 543;
6271 double d543 = 543;
6272 float f544 = 544;
6273 double d544 = 544;
6274 float f545 = 545;
6275 double d545 = 545;
6276 float f546 = 546;
6277 double d546 = 546;
6278 float f547 = 547;
6279 double d547 = 547;
6280 float f548 = 548;
6281 double d548 = 548;
6282 float f549 = 549;
6283 double d549 = 549;
6284 float f550 = 550;
6285 double d550 = 550;
6286 float f551 = 551;
6287 double d551 = 551;
6288 float f552 = 552;
6289 double d552 = 552;
6290 float f553 = 553;
6291 double d553 = 553;
6292 float f554 = 554;
6293 double d554 = 554;
6294 float f555 = 555;
6295 double d555 = 555;
6296 float f556 = 556;
6297 double d556 = 556;
6298 float f557 = 557;
6299 double d557 = 557;
6300 float f558 = 558;
6301 double d558 = 558;
6302 float f559 = 559;
6303 double d559 = 559;
6304 float f560 = 560;
6305 double d560 = 560;
6306 float f561 = 561;
6307 double d561 = 561;
6308 float f562 = 562;
6309 double d562 = 562;
6310 float f563 = 563;
6311 double d563 = 563;
6312 float f564 = 564;
6313 double d564 = 564;
6314 float f565 = 565;
6315 double d565 = 565;
6316 float f566 = 566;
6317 double d566 = 566;
6318 float f567 = 567;
6319 double d567 = 567;
6320 float f568 = 568;
6321 double d568 = 568;
6322 float f569 = 569;
6323 double d569 = 569;
6324 float f570 = 570;
6325 double d570 = 570;
6326 float f571 = 571;
6327 double d571 = 571;
6328 float f572 = 572;
6329 double d572 = 572;
6330 float f573 = 573;
6331 double d573 = 573;
6332 float f574 = 574;
6333 double d574 = 574;
6334 float f575 = 575;
6335 double d575 = 575;
6336 float f576 = 576;
6337 double d576 = 576;
6338 float f577 = 577;
6339 double d577 = 577;
6340 float f578 = 578;
6341 double d578 = 578;
6342 float f579 = 579;
6343 double d579 = 579;
6344 float f580 = 580;
6345 double d580 = 580;
6346 float f581 = 581;
6347 double d581 = 581;
6348 float f582 = 582;
6349 double d582 = 582;
6350 float f583 = 583;
6351 double d583 = 583;
6352 float f584 = 584;
6353 double d584 = 584;
6354 float f585 = 585;
6355 double d585 = 585;
6356 float f586 = 586;
6357 double d586 = 586;
6358 float f587 = 587;
6359 double d587 = 587;
6360 float f588 = 588;
6361 double d588 = 588;
6362 float f589 = 589;
6363 double d589 = 589;
6364 float f590 = 590;
6365 double d590 = 590;
6366 float f591 = 591;
6367 double d591 = 591;
6368 float f592 = 592;
6369 double d592 = 592;
6370 float f593 = 593;
6371 double d593 = 593;
6372 float f594 = 594;
6373 double d594 = 594;
6374 float f595 = 595;
6375 double d595 = 595;
6376 float f596 = 596;
6377 double d596 = 596;
6378 float f597 = 597;
6379 double d597 = 597;
6380 float f598 = 598;
6381 double d598 = 598;
6382 float f599 = 599;
6383 double d599 = 599;
6384 float f600 = 600;
6385 double d600 = 600;
6386 float f601 = 601;
6387 double d601 = 601;
6388 float f602 = 602;
6389 double d602 = 602;
6390 float f603 = 603;
6391 double d603 = 603;
6392 float f604 = 604;
6393 double d604 = 604;
6394 float f605 = 605;
6395 double d605 = 605;
6396 float f606 = 606;
6397 double d606 = 606;
6398 float f607 = 607;
6399 double d607 = 607;
6400 float f608 = 608;
6401 double d608 = 608;
6402 float f609 = 609;
6403 double d609 = 609;
6404 float f610 = 610;
6405 double d610 = 610;
6406 float f611 = 611;
6407 double d611 = 611;
6408 float f612 = 612;
6409 double d612 = 612;
6410 float f613 = 613;
6411 double d613 = 613;
6412 float f614 = 614;
6413 double d614 = 614;
6414 float f615 = 615;
6415 double d615 = 615;
6416 float f616 = 616;
6417 double d616 = 616;
6418 float f617 = 617;
6419 double d617 = 617;
6420 float f618 = 618;
6421 double d618 = 618;
6422 float f619 = 619;
6423 double d619 = 619;
6424 float f620 = 620;
6425 double d620 = 620;
6426 float f621 = 621;
6427 double d621 = 621;
6428 float f622 = 622;
6429 double d622 = 622;
6430 float f623 = 623;
6431 double d623 = 623;
6432 float f624 = 624;
6433 double d624 = 624;
6434 float f625 = 625;
6435 double d625 = 625;
6436 float f626 = 626;
6437 double d626 = 626;
6438 float f627 = 627;
6439 double d627 = 627;
6440 float f628 = 628;
6441 double d628 = 628;
6442 float f629 = 629;
6443 double d629 = 629;
6444 float f630 = 630;
6445 double d630 = 630;
6446 float f631 = 631;
6447 double d631 = 631;
6448 float f632 = 632;
6449 double d632 = 632;
6450 float f633 = 633;
6451 double d633 = 633;
6452 float f634 = 634;
6453 double d634 = 634;
6454 float f635 = 635;
6455 double d635 = 635;
6456 float f636 = 636;
6457 double d636 = 636;
6458 float f637 = 637;
6459 double d637 = 637;
6460 float f638 = 638;
6461 double d638 = 638;
6462 float f639 = 639;
6463 double d639 = 639;
6464 float f640 = 640;
6465 double d640 = 640;
6466 float f641 = 641;
6467 double d641 = 641;
6468 float f642 = 642;
6469 double d642 = 642;
6470 float f643 = 643;
6471 double d643 = 643;
6472 float f644 = 644;
6473 double d644 = 644;
6474 float f645 = 645;
6475 double d645 = 645;
6476 float f646 = 646;
6477 double d646 = 646;
6478 float f647 = 647;
6479 double d647 = 647;
6480 float f648 = 648;
6481 double d648 = 648;
6482 float f649 = 649;
6483 double d649 = 649;
6484 float f650 = 650;
6485 double d650 = 650;
6486 float f651 = 651;
6487 double d651 = 651;
6488 float f652 = 652;
6489 double d652 = 652;
6490 float f653 = 653;
6491 double d653 = 653;
6492 float f654 = 654;
6493 double d654 = 654;
6494 float f655 = 655;
6495 double d655 = 655;
6496 float f656 = 656;
6497 double d656 = 656;
6498 float f657 = 657;
6499 double d657 = 657;
6500 float f658 = 658;
6501 double d658 = 658;
6502 float f659 = 659;
6503 double d659 = 659;
6504 float f660 = 660;
6505 double d660 = 660;
6506 float f661 = 661;
6507 double d661 = 661;
6508 float f662 = 662;
6509 double d662 = 662;
6510 float f663 = 663;
6511 double d663 = 663;
6512 float f664 = 664;
6513 double d664 = 664;
6514 float f665 = 665;
6515 double d665 = 665;
6516 float f666 = 666;
6517 double d666 = 666;
6518 float f667 = 667;
6519 double d667 = 667;
6520 float f668 = 668;
6521 double d668 = 668;
6522 float f669 = 669;
6523 double d669 = 669;
6524 float f670 = 670;
6525 double d670 = 670;
6526 float f671 = 671;
6527 double d671 = 671;
6528 float f672 = 672;
6529 double d672 = 672;
6530 float f673 = 673;
6531 double d673 = 673;
6532 float f674 = 674;
6533 double d674 = 674;
6534 float f675 = 675;
6535 double d675 = 675;
6536 float f676 = 676;
6537 double d676 = 676;
6538 float f677 = 677;
6539 double d677 = 677;
6540 float f678 = 678;
6541 double d678 = 678;
6542 float f679 = 679;
6543 double d679 = 679;
6544 float f680 = 680;
6545 double d680 = 680;
6546 float f681 = 681;
6547 double d681 = 681;
6548 float f682 = 682;
6549 double d682 = 682;
6550 float f683 = 683;
6551 double d683 = 683;
6552 float f684 = 684;
6553 double d684 = 684;
6554 float f685 = 685;
6555 double d685 = 685;
6556 float f686 = 686;
6557 double d686 = 686;
6558 float f687 = 687;
6559 double d687 = 687;
6560 float f688 = 688;
6561 double d688 = 688;
6562 float f689 = 689;
6563 double d689 = 689;
6564 float f690 = 690;
6565 double d690 = 690;
6566 float f691 = 691;
6567 double d691 = 691;
6568 float f692 = 692;
6569 double d692 = 692;
6570 float f693 = 693;
6571 double d693 = 693;
6572 float f694 = 694;
6573 double d694 = 694;
6574 float f695 = 695;
6575 double d695 = 695;
6576 float f696 = 696;
6577 double d696 = 696;
6578 float f697 = 697;
6579 double d697 = 697;
6580 float f698 = 698;
6581 double d698 = 698;
6582 float f699 = 699;
6583 double d699 = 699;
6584 float f700 = 700;
6585 double d700 = 700;
6586 float f701 = 701;
6587 double d701 = 701;
6588 float f702 = 702;
6589 double d702 = 702;
6590 float f703 = 703;
6591 double d703 = 703;
6592 float f704 = 704;
6593 double d704 = 704;
6594 float f705 = 705;
6595 double d705 = 705;
6596 float f706 = 706;
6597 double d706 = 706;
6598 float f707 = 707;
6599 double d707 = 707;
6600 float f708 = 708;
6601 double d708 = 708;
6602 float f709 = 709;
6603 double d709 = 709;
6604 float f710 = 710;
6605 double d710 = 710;
6606 float f711 = 711;
6607 double d711 = 711;
6608 float f712 = 712;
6609 double d712 = 712;
6610 float f713 = 713;
6611 double d713 = 713;
6612 float f714 = 714;
6613 double d714 = 714;
6614 float f715 = 715;
6615 double d715 = 715;
6616 float f716 = 716;
6617 double d716 = 716;
6618 float f717 = 717;
6619 double d717 = 717;
6620 float f718 = 718;
6621 double d718 = 718;
6622 float f719 = 719;
6623 double d719 = 719;
6624 float f720 = 720;
6625 double d720 = 720;
6626 float f721 = 721;
6627 double d721 = 721;
6628 float f722 = 722;
6629 double d722 = 722;
6630 float f723 = 723;
6631 double d723 = 723;
6632 float f724 = 724;
6633 double d724 = 724;
6634 float f725 = 725;
6635 double d725 = 725;
6636 float f726 = 726;
6637 double d726 = 726;
6638 float f727 = 727;
6639 double d727 = 727;
6640 float f728 = 728;
6641 double d728 = 728;
6642 float f729 = 729;
6643 double d729 = 729;
6644 float f730 = 730;
6645 double d730 = 730;
6646 float f731 = 731;
6647 double d731 = 731;
6648 float f732 = 732;
6649 double d732 = 732;
6650 float f733 = 733;
6651 double d733 = 733;
6652 float f734 = 734;
6653 double d734 = 734;
6654 float f735 = 735;
6655 double d735 = 735;
6656 float f736 = 736;
6657 double d736 = 736;
6658 float f737 = 737;
6659 double d737 = 737;
6660 float f738 = 738;
6661 double d738 = 738;
6662 float f739 = 739;
6663 double d739 = 739;
6664 float f740 = 740;
6665 double d740 = 740;
6666 float f741 = 741;
6667 double d741 = 741;
6668 float f742 = 742;
6669 double d742 = 742;
6670 float f743 = 743;
6671 double d743 = 743;
6672 float f744 = 744;
6673 double d744 = 744;
6674 float f745 = 745;
6675 double d745 = 745;
6676 float f746 = 746;
6677 double d746 = 746;
6678 float f747 = 747;
6679 double d747 = 747;
6680 float f748 = 748;
6681 double d748 = 748;
6682 float f749 = 749;
6683 double d749 = 749;
6684 float f750 = 750;
6685 double d750 = 750;
6686 float f751 = 751;
6687 double d751 = 751;
6688 float f752 = 752;
6689 double d752 = 752;
6690 float f753 = 753;
6691 double d753 = 753;
6692 float f754 = 754;
6693 double d754 = 754;
6694 float f755 = 755;
6695 double d755 = 755;
6696 float f756 = 756;
6697 double d756 = 756;
6698 float f757 = 757;
6699 double d757 = 757;
6700 float f758 = 758;
6701 double d758 = 758;
6702 float f759 = 759;
6703 double d759 = 759;
6704 float f760 = 760;
6705 double d760 = 760;
6706 float f761 = 761;
6707 double d761 = 761;
6708 float f762 = 762;
6709 double d762 = 762;
6710 float f763 = 763;
6711 double d763 = 763;
6712 float f764 = 764;
6713 double d764 = 764;
6714 float f765 = 765;
6715 double d765 = 765;
6716 float f766 = 766;
6717 double d766 = 766;
6718 float f767 = 767;
6719 double d767 = 767;
6720 float f768 = 768;
6721 double d768 = 768;
6722 float f769 = 769;
6723 double d769 = 769;
6724 float f770 = 770;
6725 double d770 = 770;
6726 float f771 = 771;
6727 double d771 = 771;
6728 float f772 = 772;
6729 double d772 = 772;
6730 float f773 = 773;
6731 double d773 = 773;
6732 float f774 = 774;
6733 double d774 = 774;
6734 float f775 = 775;
6735 double d775 = 775;
6736 float f776 = 776;
6737 double d776 = 776;
6738 float f777 = 777;
6739 double d777 = 777;
6740 float f778 = 778;
6741 double d778 = 778;
6742 float f779 = 779;
6743 double d779 = 779;
6744 float f780 = 780;
6745 double d780 = 780;
6746 float f781 = 781;
6747 double d781 = 781;
6748 float f782 = 782;
6749 double d782 = 782;
6750 float f783 = 783;
6751 double d783 = 783;
6752 float f784 = 784;
6753 double d784 = 784;
6754 float f785 = 785;
6755 double d785 = 785;
6756 float f786 = 786;
6757 double d786 = 786;
6758 float f787 = 787;
6759 double d787 = 787;
6760 float f788 = 788;
6761 double d788 = 788;
6762 float f789 = 789;
6763 double d789 = 789;
6764 float f790 = 790;
6765 double d790 = 790;
6766 float f791 = 791;
6767 double d791 = 791;
6768 float f792 = 792;
6769 double d792 = 792;
6770 float f793 = 793;
6771 double d793 = 793;
6772 float f794 = 794;
6773 double d794 = 794;
6774 float f795 = 795;
6775 double d795 = 795;
6776 float f796 = 796;
6777 double d796 = 796;
6778 float f797 = 797;
6779 double d797 = 797;
6780 float f798 = 798;
6781 double d798 = 798;
6782 float f799 = 799;
6783 double d799 = 799;
6784 float f800 = 800;
6785 double d800 = 800;
6786 float f801 = 801;
6787 double d801 = 801;
6788 float f802 = 802;
6789 double d802 = 802;
6790 float f803 = 803;
6791 double d803 = 803;
6792 float f804 = 804;
6793 double d804 = 804;
6794 float f805 = 805;
6795 double d805 = 805;
6796 float f806 = 806;
6797 double d806 = 806;
6798 float f807 = 807;
6799 double d807 = 807;
6800 float f808 = 808;
6801 double d808 = 808;
6802 float f809 = 809;
6803 double d809 = 809;
6804 float f810 = 810;
6805 double d810 = 810;
6806 float f811 = 811;
6807 double d811 = 811;
6808 float f812 = 812;
6809 double d812 = 812;
6810 float f813 = 813;
6811 double d813 = 813;
6812 float f814 = 814;
6813 double d814 = 814;
6814 float f815 = 815;
6815 double d815 = 815;
6816 float f816 = 816;
6817 double d816 = 816;
6818 float f817 = 817;
6819 double d817 = 817;
6820 float f818 = 818;
6821 double d818 = 818;
6822 float f819 = 819;
6823 double d819 = 819;
6824 float f820 = 820;
6825 double d820 = 820;
6826 float f821 = 821;
6827 double d821 = 821;
6828 float f822 = 822;
6829 double d822 = 822;
6830 float f823 = 823;
6831 double d823 = 823;
6832 float f824 = 824;
6833 double d824 = 824;
6834 float f825 = 825;
6835 double d825 = 825;
6836 float f826 = 826;
6837 double d826 = 826;
6838 float f827 = 827;
6839 double d827 = 827;
6840 float f828 = 828;
6841 double d828 = 828;
6842 float f829 = 829;
6843 double d829 = 829;
6844 float f830 = 830;
6845 double d830 = 830;
6846 float f831 = 831;
6847 double d831 = 831;
6848 float f832 = 832;
6849 double d832 = 832;
6850 float f833 = 833;
6851 double d833 = 833;
6852 float f834 = 834;
6853 double d834 = 834;
6854 float f835 = 835;
6855 double d835 = 835;
6856 float f836 = 836;
6857 double d836 = 836;
6858 float f837 = 837;
6859 double d837 = 837;
6860 float f838 = 838;
6861 double d838 = 838;
6862 float f839 = 839;
6863 double d839 = 839;
6864 float f840 = 840;
6865 double d840 = 840;
6866 float f841 = 841;
6867 double d841 = 841;
6868 float f842 = 842;
6869 double d842 = 842;
6870 float f843 = 843;
6871 double d843 = 843;
6872 float f844 = 844;
6873 double d844 = 844;
6874 float f845 = 845;
6875 double d845 = 845;
6876 float f846 = 846;
6877 double d846 = 846;
6878 float f847 = 847;
6879 double d847 = 847;
6880 float f848 = 848;
6881 double d848 = 848;
6882 float f849 = 849;
6883 double d849 = 849;
6884 float f850 = 850;
6885 double d850 = 850;
6886 float f851 = 851;
6887 double d851 = 851;
6888 float f852 = 852;
6889 double d852 = 852;
6890 float f853 = 853;
6891 double d853 = 853;
6892 float f854 = 854;
6893 double d854 = 854;
6894 float f855 = 855;
6895 double d855 = 855;
6896 float f856 = 856;
6897 double d856 = 856;
6898 float f857 = 857;
6899 double d857 = 857;
6900 float f858 = 858;
6901 double d858 = 858;
6902 float f859 = 859;
6903 double d859 = 859;
6904 float f860 = 860;
6905 double d860 = 860;
6906 float f861 = 861;
6907 double d861 = 861;
6908 float f862 = 862;
6909 double d862 = 862;
6910 float f863 = 863;
6911 double d863 = 863;
6912 float f864 = 864;
6913 double d864 = 864;
6914 float f865 = 865;
6915 double d865 = 865;
6916 float f866 = 866;
6917 double d866 = 866;
6918 float f867 = 867;
6919 double d867 = 867;
6920 float f868 = 868;
6921 double d868 = 868;
6922 float f869 = 869;
6923 double d869 = 869;
6924 float f870 = 870;
6925 double d870 = 870;
6926 float f871 = 871;
6927 double d871 = 871;
6928 float f872 = 872;
6929 double d872 = 872;
6930 float f873 = 873;
6931 double d873 = 873;
6932 float f874 = 874;
6933 double d874 = 874;
6934 float f875 = 875;
6935 double d875 = 875;
6936 float f876 = 876;
6937 double d876 = 876;
6938 float f877 = 877;
6939 double d877 = 877;
6940 float f878 = 878;
6941 double d878 = 878;
6942 float f879 = 879;
6943 double d879 = 879;
6944 float f880 = 880;
6945 double d880 = 880;
6946 float f881 = 881;
6947 double d881 = 881;
6948 float f882 = 882;
6949 double d882 = 882;
6950 float f883 = 883;
6951 double d883 = 883;
6952 float f884 = 884;
6953 double d884 = 884;
6954 float f885 = 885;
6955 double d885 = 885;
6956 float f886 = 886;
6957 double d886 = 886;
6958 float f887 = 887;
6959 double d887 = 887;
6960 float f888 = 888;
6961 double d888 = 888;
6962 float f889 = 889;
6963 double d889 = 889;
6964 float f890 = 890;
6965 double d890 = 890;
6966 float f891 = 891;
6967 double d891 = 891;
6968 float f892 = 892;
6969 double d892 = 892;
6970 float f893 = 893;
6971 double d893 = 893;
6972 float f894 = 894;
6973 double d894 = 894;
6974 float f895 = 895;
6975 double d895 = 895;
6976 float f896 = 896;
6977 double d896 = 896;
6978 float f897 = 897;
6979 double d897 = 897;
6980 float f898 = 898;
6981 double d898 = 898;
6982 float f899 = 899;
6983 double d899 = 899;
6984 float f900 = 900;
6985 double d900 = 900;
6986 float f901 = 901;
6987 double d901 = 901;
6988 float f902 = 902;
6989 double d902 = 902;
6990 float f903 = 903;
6991 double d903 = 903;
6992 float f904 = 904;
6993 double d904 = 904;
6994 float f905 = 905;
6995 double d905 = 905;
6996 float f906 = 906;
6997 double d906 = 906;
6998 float f907 = 907;
6999 double d907 = 907;
7000 float f908 = 908;
7001 double d908 = 908;
7002 float f909 = 909;
7003 double d909 = 909;
7004 float f910 = 910;
7005 double d910 = 910;
7006 float f911 = 911;
7007 double d911 = 911;
7008 float f912 = 912;
7009 double d912 = 912;
7010 float f913 = 913;
7011 double d913 = 913;
7012 float f914 = 914;
7013 double d914 = 914;
7014 float f915 = 915;
7015 double d915 = 915;
7016 float f916 = 916;
7017 double d916 = 916;
7018 float f917 = 917;
7019 double d917 = 917;
7020 float f918 = 918;
7021 double d918 = 918;
7022 float f919 = 919;
7023 double d919 = 919;
7024 float f920 = 920;
7025 double d920 = 920;
7026 float f921 = 921;
7027 double d921 = 921;
7028 float f922 = 922;
7029 double d922 = 922;
7030 float f923 = 923;
7031 double d923 = 923;
7032 float f924 = 924;
7033 double d924 = 924;
7034 float f925 = 925;
7035 double d925 = 925;
7036 float f926 = 926;
7037 double d926 = 926;
7038 float f927 = 927;
7039 double d927 = 927;
7040 float f928 = 928;
7041 double d928 = 928;
7042 float f929 = 929;
7043 double d929 = 929;
7044 float f930 = 930;
7045 double d930 = 930;
7046 float f931 = 931;
7047 double d931 = 931;
7048 float f932 = 932;
7049 double d932 = 932;
7050 float f933 = 933;
7051 double d933 = 933;
7052 float f934 = 934;
7053 double d934 = 934;
7054 float f935 = 935;
7055 double d935 = 935;
7056 float f936 = 936;
7057 double d936 = 936;
7058 float f937 = 937;
7059 double d937 = 937;
7060 float f938 = 938;
7061 double d938 = 938;
7062 float f939 = 939;
7063 double d939 = 939;
7064 float f940 = 940;
7065 double d940 = 940;
7066 float f941 = 941;
7067 double d941 = 941;
7068 float f942 = 942;
7069 double d942 = 942;
7070 float f943 = 943;
7071 double d943 = 943;
7072 float f944 = 944;
7073 double d944 = 944;
7074 float f945 = 945;
7075 double d945 = 945;
7076 float f946 = 946;
7077 double d946 = 946;
7078 float f947 = 947;
7079 double d947 = 947;
7080 float f948 = 948;
7081 double d948 = 948;
7082 float f949 = 949;
7083 double d949 = 949;
7084 float f950 = 950;
7085 double d950 = 950;
7086 float f951 = 951;
7087 double d951 = 951;
7088 float f952 = 952;
7089 double d952 = 952;
7090 float f953 = 953;
7091 double d953 = 953;
7092 float f954 = 954;
7093 double d954 = 954;
7094 float f955 = 955;
7095 double d955 = 955;
7096 float f956 = 956;
7097 double d956 = 956;
7098 float f957 = 957;
7099 double d957 = 957;
7100 float f958 = 958;
7101 double d958 = 958;
7102 float f959 = 959;
7103 double d959 = 959;
7104 float f960 = 960;
7105 double d960 = 960;
7106 float f961 = 961;
7107 double d961 = 961;
7108 float f962 = 962;
7109 double d962 = 962;
7110 float f963 = 963;
7111 double d963 = 963;
7112 float f964 = 964;
7113 double d964 = 964;
7114 float f965 = 965;
7115 double d965 = 965;
7116 float f966 = 966;
7117 double d966 = 966;
7118 float f967 = 967;
7119 double d967 = 967;
7120 float f968 = 968;
7121 double d968 = 968;
7122 float f969 = 969;
7123 double d969 = 969;
7124 float f970 = 970;
7125 double d970 = 970;
7126 float f971 = 971;
7127 double d971 = 971;
7128 float f972 = 972;
7129 double d972 = 972;
7130 float f973 = 973;
7131 double d973 = 973;
7132 float f974 = 974;
7133 double d974 = 974;
7134 float f975 = 975;
7135 double d975 = 975;
7136 float f976 = 976;
7137 double d976 = 976;
7138 float f977 = 977;
7139 double d977 = 977;
7140 float f978 = 978;
7141 double d978 = 978;
7142 float f979 = 979;
7143 double d979 = 979;
7144 float f980 = 980;
7145 double d980 = 980;
7146 float f981 = 981;
7147 double d981 = 981;
7148 float f982 = 982;
7149 double d982 = 982;
7150 float f983 = 983;
7151 double d983 = 983;
7152 float f984 = 984;
7153 double d984 = 984;
7154 float f985 = 985;
7155 double d985 = 985;
7156 float f986 = 986;
7157 double d986 = 986;
7158 float f987 = 987;
7159 double d987 = 987;
7160 float f988 = 988;
7161 double d988 = 988;
7162 float f989 = 989;
7163 double d989 = 989;
7164 float f990 = 990;
7165 double d990 = 990;
7166 float f991 = 991;
7167 double d991 = 991;
7168 float f992 = 992;
7169 double d992 = 992;
7170 float f993 = 993;
7171 double d993 = 993;
7172 float f994 = 994;
7173 double d994 = 994;
7174 float f995 = 995;
7175 double d995 = 995;
7176 float f996 = 996;
7177 double d996 = 996;
7178 float f997 = 997;
7179 double d997 = 997;
7180 float f998 = 998;
7181 double d998 = 998;
7182 float f999 = 999;
7183 double d999 = 999;
7184 f1 += f0;
7185 d1 = d0;
7186 f2 += f1;
7187 d2 = d1;
7188 f3 += f2;
7189 d3 = d2;
7190 f4 += f3;
7191 d4 = d3;
7192 f5 += f4;
7193 d5 = d4;
7194 f6 += f5;
7195 d6 = d5;
7196 f7 += f6;
7197 d7 = d6;
7198 f8 += f7;
7199 d8 = d7;
7200 f9 += f8;
7201 d9 = d8;
7202 f10 += f9;
7203 d10 = d9;
7204 f11 += f10;
7205 d11 = d10;
7206 f12 += f11;
7207 d12 = d11;
7208 f13 += f12;
7209 d13 = d12;
7210 f14 += f13;
7211 d14 = d13;
7212 f15 += f14;
7213 d15 = d14;
7214 f16 += f15;
7215 d16 = d15;
7216 f17 += f16;
7217 d17 = d16;
7218 f18 += f17;
7219 d18 = d17;
7220 f19 += f18;
7221 d19 = d18;
7222 f20 += f19;
7223 d20 = d19;
7224 f21 += f20;
7225 d21 = d20;
7226 f22 += f21;
7227 d22 = d21;
7228 f23 += f22;
7229 d23 = d22;
7230 f24 += f23;
7231 d24 = d23;
7232 f25 += f24;
7233 d25 = d24;
7234 f26 += f25;
7235 d26 = d25;
7236 f27 += f26;
7237 d27 = d26;
7238 f28 += f27;
7239 d28 = d27;
7240 f29 += f28;
7241 d29 = d28;
7242 f30 += f29;
7243 d30 = d29;
7244 f31 += f30;
7245 d31 = d30;
7246 f32 += f31;
7247 d32 = d31;
7248 f33 += f32;
7249 d33 = d32;
7250 f34 += f33;
7251 d34 = d33;
7252 f35 += f34;
7253 d35 = d34;
7254 f36 += f35;
7255 d36 = d35;
7256 f37 += f36;
7257 d37 = d36;
7258 f38 += f37;
7259 d38 = d37;
7260 f39 += f38;
7261 d39 = d38;
7262 f40 += f39;
7263 d40 = d39;
7264 f41 += f40;
7265 d41 = d40;
7266 f42 += f41;
7267 d42 = d41;
7268 f43 += f42;
7269 d43 = d42;
7270 f44 += f43;
7271 d44 = d43;
7272 f45 += f44;
7273 d45 = d44;
7274 f46 += f45;
7275 d46 = d45;
7276 f47 += f46;
7277 d47 = d46;
7278 f48 += f47;
7279 d48 = d47;
7280 f49 += f48;
7281 d49 = d48;
7282 f50 += f49;
7283 d50 = d49;
7284 f51 += f50;
7285 d51 = d50;
7286 f52 += f51;
7287 d52 = d51;
7288 f53 += f52;
7289 d53 = d52;
7290 f54 += f53;
7291 d54 = d53;
7292 f55 += f54;
7293 d55 = d54;
7294 f56 += f55;
7295 d56 = d55;
7296 f57 += f56;
7297 d57 = d56;
7298 f58 += f57;
7299 d58 = d57;
7300 f59 += f58;
7301 d59 = d58;
7302 f60 += f59;
7303 d60 = d59;
7304 f61 += f60;
7305 d61 = d60;
7306 f62 += f61;
7307 d62 = d61;
7308 f63 += f62;
7309 d63 = d62;
7310 f64 += f63;
7311 d64 = d63;
7312 f65 += f64;
7313 d65 = d64;
7314 f66 += f65;
7315 d66 = d65;
7316 f67 += f66;
7317 d67 = d66;
7318 f68 += f67;
7319 d68 = d67;
7320 f69 += f68;
7321 d69 = d68;
7322 f70 += f69;
7323 d70 = d69;
7324 f71 += f70;
7325 d71 = d70;
7326 f72 += f71;
7327 d72 = d71;
7328 f73 += f72;
7329 d73 = d72;
7330 f74 += f73;
7331 d74 = d73;
7332 f75 += f74;
7333 d75 = d74;
7334 f76 += f75;
7335 d76 = d75;
7336 f77 += f76;
7337 d77 = d76;
7338 f78 += f77;
7339 d78 = d77;
7340 f79 += f78;
7341 d79 = d78;
7342 f80 += f79;
7343 d80 = d79;
7344 f81 += f80;
7345 d81 = d80;
7346 f82 += f81;
7347 d82 = d81;
7348 f83 += f82;
7349 d83 = d82;
7350 f84 += f83;
7351 d84 = d83;
7352 f85 += f84;
7353 d85 = d84;
7354 f86 += f85;
7355 d86 = d85;
7356 f87 += f86;
7357 d87 = d86;
7358 f88 += f87;
7359 d88 = d87;
7360 f89 += f88;
7361 d89 = d88;
7362 f90 += f89;
7363 d90 = d89;
7364 f91 += f90;
7365 d91 = d90;
7366 f92 += f91;
7367 d92 = d91;
7368 f93 += f92;
7369 d93 = d92;
7370 f94 += f93;
7371 d94 = d93;
7372 f95 += f94;
7373 d95 = d94;
7374 f96 += f95;
7375 d96 = d95;
7376 f97 += f96;
7377 d97 = d96;
7378 f98 += f97;
7379 d98 = d97;
7380 f99 += f98;
7381 d99 = d98;
7382 f100 += f99;
7383 d100 = d99;
7384 f101 += f100;
7385 d101 = d100;
7386 f102 += f101;
7387 d102 = d101;
7388 f103 += f102;
7389 d103 = d102;
7390 f104 += f103;
7391 d104 = d103;
7392 f105 += f104;
7393 d105 = d104;
7394 f106 += f105;
7395 d106 = d105;
7396 f107 += f106;
7397 d107 = d106;
7398 f108 += f107;
7399 d108 = d107;
7400 f109 += f108;
7401 d109 = d108;
7402 f110 += f109;
7403 d110 = d109;
7404 f111 += f110;
7405 d111 = d110;
7406 f112 += f111;
7407 d112 = d111;
7408 f113 += f112;
7409 d113 = d112;
7410 f114 += f113;
7411 d114 = d113;
7412 f115 += f114;
7413 d115 = d114;
7414 f116 += f115;
7415 d116 = d115;
7416 f117 += f116;
7417 d117 = d116;
7418 f118 += f117;
7419 d118 = d117;
7420 f119 += f118;
7421 d119 = d118;
7422 f120 += f119;
7423 d120 = d119;
7424 f121 += f120;
7425 d121 = d120;
7426 f122 += f121;
7427 d122 = d121;
7428 f123 += f122;
7429 d123 = d122;
7430 f124 += f123;
7431 d124 = d123;
7432 f125 += f124;
7433 d125 = d124;
7434 f126 += f125;
7435 d126 = d125;
7436 f127 += f126;
7437 d127 = d126;
7438 f128 += f127;
7439 d128 = d127;
7440 f129 += f128;
7441 d129 = d128;
7442 f130 += f129;
7443 d130 = d129;
7444 f131 += f130;
7445 d131 = d130;
7446 f132 += f131;
7447 d132 = d131;
7448 f133 += f132;
7449 d133 = d132;
7450 f134 += f133;
7451 d134 = d133;
7452 f135 += f134;
7453 d135 = d134;
7454 f136 += f135;
7455 d136 = d135;
7456 f137 += f136;
7457 d137 = d136;
7458 f138 += f137;
7459 d138 = d137;
7460 f139 += f138;
7461 d139 = d138;
7462 f140 += f139;
7463 d140 = d139;
7464 f141 += f140;
7465 d141 = d140;
7466 f142 += f141;
7467 d142 = d141;
7468 f143 += f142;
7469 d143 = d142;
7470 f144 += f143;
7471 d144 = d143;
7472 f145 += f144;
7473 d145 = d144;
7474 f146 += f145;
7475 d146 = d145;
7476 f147 += f146;
7477 d147 = d146;
7478 f148 += f147;
7479 d148 = d147;
7480 f149 += f148;
7481 d149 = d148;
7482 f150 += f149;
7483 d150 = d149;
7484 f151 += f150;
7485 d151 = d150;
7486 f152 += f151;
7487 d152 = d151;
7488 f153 += f152;
7489 d153 = d152;
7490 f154 += f153;
7491 d154 = d153;
7492 f155 += f154;
7493 d155 = d154;
7494 f156 += f155;
7495 d156 = d155;
7496 f157 += f156;
7497 d157 = d156;
7498 f158 += f157;
7499 d158 = d157;
7500 f159 += f158;
7501 d159 = d158;
7502 f160 += f159;
7503 d160 = d159;
7504 f161 += f160;
7505 d161 = d160;
7506 f162 += f161;
7507 d162 = d161;
7508 f163 += f162;
7509 d163 = d162;
7510 f164 += f163;
7511 d164 = d163;
7512 f165 += f164;
7513 d165 = d164;
7514 f166 += f165;
7515 d166 = d165;
7516 f167 += f166;
7517 d167 = d166;
7518 f168 += f167;
7519 d168 = d167;
7520 f169 += f168;
7521 d169 = d168;
7522 f170 += f169;
7523 d170 = d169;
7524 f171 += f170;
7525 d171 = d170;
7526 f172 += f171;
7527 d172 = d171;
7528 f173 += f172;
7529 d173 = d172;
7530 f174 += f173;
7531 d174 = d173;
7532 f175 += f174;
7533 d175 = d174;
7534 f176 += f175;
7535 d176 = d175;
7536 f177 += f176;
7537 d177 = d176;
7538 f178 += f177;
7539 d178 = d177;
7540 f179 += f178;
7541 d179 = d178;
7542 f180 += f179;
7543 d180 = d179;
7544 f181 += f180;
7545 d181 = d180;
7546 f182 += f181;
7547 d182 = d181;
7548 f183 += f182;
7549 d183 = d182;
7550 f184 += f183;
7551 d184 = d183;
7552 f185 += f184;
7553 d185 = d184;
7554 f186 += f185;
7555 d186 = d185;
7556 f187 += f186;
7557 d187 = d186;
7558 f188 += f187;
7559 d188 = d187;
7560 f189 += f188;
7561 d189 = d188;
7562 f190 += f189;
7563 d190 = d189;
7564 f191 += f190;
7565 d191 = d190;
7566 f192 += f191;
7567 d192 = d191;
7568 f193 += f192;
7569 d193 = d192;
7570 f194 += f193;
7571 d194 = d193;
7572 f195 += f194;
7573 d195 = d194;
7574 f196 += f195;
7575 d196 = d195;
7576 f197 += f196;
7577 d197 = d196;
7578 f198 += f197;
7579 d198 = d197;
7580 f199 += f198;
7581 d199 = d198;
7582 f200 += f199;
7583 d200 = d199;
7584 f201 += f200;
7585 d201 = d200;
7586 f202 += f201;
7587 d202 = d201;
7588 f203 += f202;
7589 d203 = d202;
7590 f204 += f203;
7591 d204 = d203;
7592 f205 += f204;
7593 d205 = d204;
7594 f206 += f205;
7595 d206 = d205;
7596 f207 += f206;
7597 d207 = d206;
7598 f208 += f207;
7599 d208 = d207;
7600 f209 += f208;
7601 d209 = d208;
7602 f210 += f209;
7603 d210 = d209;
7604 f211 += f210;
7605 d211 = d210;
7606 f212 += f211;
7607 d212 = d211;
7608 f213 += f212;
7609 d213 = d212;
7610 f214 += f213;
7611 d214 = d213;
7612 f215 += f214;
7613 d215 = d214;
7614 f216 += f215;
7615 d216 = d215;
7616 f217 += f216;
7617 d217 = d216;
7618 f218 += f217;
7619 d218 = d217;
7620 f219 += f218;
7621 d219 = d218;
7622 f220 += f219;
7623 d220 = d219;
7624 f221 += f220;
7625 d221 = d220;
7626 f222 += f221;
7627 d222 = d221;
7628 f223 += f222;
7629 d223 = d222;
7630 f224 += f223;
7631 d224 = d223;
7632 f225 += f224;
7633 d225 = d224;
7634 f226 += f225;
7635 d226 = d225;
7636 f227 += f226;
7637 d227 = d226;
7638 f228 += f227;
7639 d228 = d227;
7640 f229 += f228;
7641 d229 = d228;
7642 f230 += f229;
7643 d230 = d229;
7644 f231 += f230;
7645 d231 = d230;
7646 f232 += f231;
7647 d232 = d231;
7648 f233 += f232;
7649 d233 = d232;
7650 f234 += f233;
7651 d234 = d233;
7652 f235 += f234;
7653 d235 = d234;
7654 f236 += f235;
7655 d236 = d235;
7656 f237 += f236;
7657 d237 = d236;
7658 f238 += f237;
7659 d238 = d237;
7660 f239 += f238;
7661 d239 = d238;
7662 f240 += f239;
7663 d240 = d239;
7664 f241 += f240;
7665 d241 = d240;
7666 f242 += f241;
7667 d242 = d241;
7668 f243 += f242;
7669 d243 = d242;
7670 f244 += f243;
7671 d244 = d243;
7672 f245 += f244;
7673 d245 = d244;
7674 f246 += f245;
7675 d246 = d245;
7676 f247 += f246;
7677 d247 = d246;
7678 f248 += f247;
7679 d248 = d247;
7680 f249 += f248;
7681 d249 = d248;
7682 f250 += f249;
7683 d250 = d249;
7684 f251 += f250;
7685 d251 = d250;
7686 f252 += f251;
7687 d252 = d251;
7688 f253 += f252;
7689 d253 = d252;
7690 f254 += f253;
7691 d254 = d253;
7692 f255 += f254;
7693 d255 = d254;
7694 f256 += f255;
7695 d256 = d255;
7696 f257 += f256;
7697 d257 = d256;
7698 f258 += f257;
7699 d258 = d257;
7700 f259 += f258;
7701 d259 = d258;
7702 f260 += f259;
7703 d260 = d259;
7704 f261 += f260;
7705 d261 = d260;
7706 f262 += f261;
7707 d262 = d261;
7708 f263 += f262;
7709 d263 = d262;
7710 f264 += f263;
7711 d264 = d263;
7712 f265 += f264;
7713 d265 = d264;
7714 f266 += f265;
7715 d266 = d265;
7716 f267 += f266;
7717 d267 = d266;
7718 f268 += f267;
7719 d268 = d267;
7720 f269 += f268;
7721 d269 = d268;
7722 f270 += f269;
7723 d270 = d269;
7724 f271 += f270;
7725 d271 = d270;
7726 f272 += f271;
7727 d272 = d271;
7728 f273 += f272;
7729 d273 = d272;
7730 f274 += f273;
7731 d274 = d273;
7732 f275 += f274;
7733 d275 = d274;
7734 f276 += f275;
7735 d276 = d275;
7736 f277 += f276;
7737 d277 = d276;
7738 f278 += f277;
7739 d278 = d277;
7740 f279 += f278;
7741 d279 = d278;
7742 f280 += f279;
7743 d280 = d279;
7744 f281 += f280;
7745 d281 = d280;
7746 f282 += f281;
7747 d282 = d281;
7748 f283 += f282;
7749 d283 = d282;
7750 f284 += f283;
7751 d284 = d283;
7752 f285 += f284;
7753 d285 = d284;
7754 f286 += f285;
7755 d286 = d285;
7756 f287 += f286;
7757 d287 = d286;
7758 f288 += f287;
7759 d288 = d287;
7760 f289 += f288;
7761 d289 = d288;
7762 f290 += f289;
7763 d290 = d289;
7764 f291 += f290;
7765 d291 = d290;
7766 f292 += f291;
7767 d292 = d291;
7768 f293 += f292;
7769 d293 = d292;
7770 f294 += f293;
7771 d294 = d293;
7772 f295 += f294;
7773 d295 = d294;
7774 f296 += f295;
7775 d296 = d295;
7776 f297 += f296;
7777 d297 = d296;
7778 f298 += f297;
7779 d298 = d297;
7780 f299 += f298;
7781 d299 = d298;
7782 f300 += f299;
7783 d300 = d299;
7784 f301 += f300;
7785 d301 = d300;
7786 f302 += f301;
7787 d302 = d301;
7788 f303 += f302;
7789 d303 = d302;
7790 f304 += f303;
7791 d304 = d303;
7792 f305 += f304;
7793 d305 = d304;
7794 f306 += f305;
7795 d306 = d305;
7796 f307 += f306;
7797 d307 = d306;
7798 f308 += f307;
7799 d308 = d307;
7800 f309 += f308;
7801 d309 = d308;
7802 f310 += f309;
7803 d310 = d309;
7804 f311 += f310;
7805 d311 = d310;
7806 f312 += f311;
7807 d312 = d311;
7808 f313 += f312;
7809 d313 = d312;
7810 f314 += f313;
7811 d314 = d313;
7812 f315 += f314;
7813 d315 = d314;
7814 f316 += f315;
7815 d316 = d315;
7816 f317 += f316;
7817 d317 = d316;
7818 f318 += f317;
7819 d318 = d317;
7820 f319 += f318;
7821 d319 = d318;
7822 f320 += f319;
7823 d320 = d319;
7824 f321 += f320;
7825 d321 = d320;
7826 f322 += f321;
7827 d322 = d321;
7828 f323 += f322;
7829 d323 = d322;
7830 f324 += f323;
7831 d324 = d323;
7832 f325 += f324;
7833 d325 = d324;
7834 f326 += f325;
7835 d326 = d325;
7836 f327 += f326;
7837 d327 = d326;
7838 f328 += f327;
7839 d328 = d327;
7840 f329 += f328;
7841 d329 = d328;
7842 f330 += f329;
7843 d330 = d329;
7844 f331 += f330;
7845 d331 = d330;
7846 f332 += f331;
7847 d332 = d331;
7848 f333 += f332;
7849 d333 = d332;
7850 f334 += f333;
7851 d334 = d333;
7852 f335 += f334;
7853 d335 = d334;
7854 f336 += f335;
7855 d336 = d335;
7856 f337 += f336;
7857 d337 = d336;
7858 f338 += f337;
7859 d338 = d337;
7860 f339 += f338;
7861 d339 = d338;
7862 f340 += f339;
7863 d340 = d339;
7864 f341 += f340;
7865 d341 = d340;
7866 f342 += f341;
7867 d342 = d341;
7868 f343 += f342;
7869 d343 = d342;
7870 f344 += f343;
7871 d344 = d343;
7872 f345 += f344;
7873 d345 = d344;
7874 f346 += f345;
7875 d346 = d345;
7876 f347 += f346;
7877 d347 = d346;
7878 f348 += f347;
7879 d348 = d347;
7880 f349 += f348;
7881 d349 = d348;
7882 f350 += f349;
7883 d350 = d349;
7884 f351 += f350;
7885 d351 = d350;
7886 f352 += f351;
7887 d352 = d351;
7888 f353 += f352;
7889 d353 = d352;
7890 f354 += f353;
7891 d354 = d353;
7892 f355 += f354;
7893 d355 = d354;
7894 f356 += f355;
7895 d356 = d355;
7896 f357 += f356;
7897 d357 = d356;
7898 f358 += f357;
7899 d358 = d357;
7900 f359 += f358;
7901 d359 = d358;
7902 f360 += f359;
7903 d360 = d359;
7904 f361 += f360;
7905 d361 = d360;
7906 f362 += f361;
7907 d362 = d361;
7908 f363 += f362;
7909 d363 = d362;
7910 f364 += f363;
7911 d364 = d363;
7912 f365 += f364;
7913 d365 = d364;
7914 f366 += f365;
7915 d366 = d365;
7916 f367 += f366;
7917 d367 = d366;
7918 f368 += f367;
7919 d368 = d367;
7920 f369 += f368;
7921 d369 = d368;
7922 f370 += f369;
7923 d370 = d369;
7924 f371 += f370;
7925 d371 = d370;
7926 f372 += f371;
7927 d372 = d371;
7928 f373 += f372;
7929 d373 = d372;
7930 f374 += f373;
7931 d374 = d373;
7932 f375 += f374;
7933 d375 = d374;
7934 f376 += f375;
7935 d376 = d375;
7936 f377 += f376;
7937 d377 = d376;
7938 f378 += f377;
7939 d378 = d377;
7940 f379 += f378;
7941 d379 = d378;
7942 f380 += f379;
7943 d380 = d379;
7944 f381 += f380;
7945 d381 = d380;
7946 f382 += f381;
7947 d382 = d381;
7948 f383 += f382;
7949 d383 = d382;
7950 f384 += f383;
7951 d384 = d383;
7952 f385 += f384;
7953 d385 = d384;
7954 f386 += f385;
7955 d386 = d385;
7956 f387 += f386;
7957 d387 = d386;
7958 f388 += f387;
7959 d388 = d387;
7960 f389 += f388;
7961 d389 = d388;
7962 f390 += f389;
7963 d390 = d389;
7964 f391 += f390;
7965 d391 = d390;
7966 f392 += f391;
7967 d392 = d391;
7968 f393 += f392;
7969 d393 = d392;
7970 f394 += f393;
7971 d394 = d393;
7972 f395 += f394;
7973 d395 = d394;
7974 f396 += f395;
7975 d396 = d395;
7976 f397 += f396;
7977 d397 = d396;
7978 f398 += f397;
7979 d398 = d397;
7980 f399 += f398;
7981 d399 = d398;
7982 f400 += f399;
7983 d400 = d399;
7984 f401 += f400;
7985 d401 = d400;
7986 f402 += f401;
7987 d402 = d401;
7988 f403 += f402;
7989 d403 = d402;
7990 f404 += f403;
7991 d404 = d403;
7992 f405 += f404;
7993 d405 = d404;
7994 f406 += f405;
7995 d406 = d405;
7996 f407 += f406;
7997 d407 = d406;
7998 f408 += f407;
7999 d408 = d407;
8000 f409 += f408;
8001 d409 = d408;
8002 f410 += f409;
8003 d410 = d409;
8004 f411 += f410;
8005 d411 = d410;
8006 f412 += f411;
8007 d412 = d411;
8008 f413 += f412;
8009 d413 = d412;
8010 f414 += f413;
8011 d414 = d413;
8012 f415 += f414;
8013 d415 = d414;
8014 f416 += f415;
8015 d416 = d415;
8016 f417 += f416;
8017 d417 = d416;
8018 f418 += f417;
8019 d418 = d417;
8020 f419 += f418;
8021 d419 = d418;
8022 f420 += f419;
8023 d420 = d419;
8024 f421 += f420;
8025 d421 = d420;
8026 f422 += f421;
8027 d422 = d421;
8028 f423 += f422;
8029 d423 = d422;
8030 f424 += f423;
8031 d424 = d423;
8032 f425 += f424;
8033 d425 = d424;
8034 f426 += f425;
8035 d426 = d425;
8036 f427 += f426;
8037 d427 = d426;
8038 f428 += f427;
8039 d428 = d427;
8040 f429 += f428;
8041 d429 = d428;
8042 f430 += f429;
8043 d430 = d429;
8044 f431 += f430;
8045 d431 = d430;
8046 f432 += f431;
8047 d432 = d431;
8048 f433 += f432;
8049 d433 = d432;
8050 f434 += f433;
8051 d434 = d433;
8052 f435 += f434;
8053 d435 = d434;
8054 f436 += f435;
8055 d436 = d435;
8056 f437 += f436;
8057 d437 = d436;
8058 f438 += f437;
8059 d438 = d437;
8060 f439 += f438;
8061 d439 = d438;
8062 f440 += f439;
8063 d440 = d439;
8064 f441 += f440;
8065 d441 = d440;
8066 f442 += f441;
8067 d442 = d441;
8068 f443 += f442;
8069 d443 = d442;
8070 f444 += f443;
8071 d444 = d443;
8072 f445 += f444;
8073 d445 = d444;
8074 f446 += f445;
8075 d446 = d445;
8076 f447 += f446;
8077 d447 = d446;
8078 f448 += f447;
8079 d448 = d447;
8080 f449 += f448;
8081 d449 = d448;
8082 f450 += f449;
8083 d450 = d449;
8084 f451 += f450;
8085 d451 = d450;
8086 f452 += f451;
8087 d452 = d451;
8088 f453 += f452;
8089 d453 = d452;
8090 f454 += f453;
8091 d454 = d453;
8092 f455 += f454;
8093 d455 = d454;
8094 f456 += f455;
8095 d456 = d455;
8096 f457 += f456;
8097 d457 = d456;
8098 f458 += f457;
8099 d458 = d457;
8100 f459 += f458;
8101 d459 = d458;
8102 f460 += f459;
8103 d460 = d459;
8104 f461 += f460;
8105 d461 = d460;
8106 f462 += f461;
8107 d462 = d461;
8108 f463 += f462;
8109 d463 = d462;
8110 f464 += f463;
8111 d464 = d463;
8112 f465 += f464;
8113 d465 = d464;
8114 f466 += f465;
8115 d466 = d465;
8116 f467 += f466;
8117 d467 = d466;
8118 f468 += f467;
8119 d468 = d467;
8120 f469 += f468;
8121 d469 = d468;
8122 f470 += f469;
8123 d470 = d469;
8124 f471 += f470;
8125 d471 = d470;
8126 f472 += f471;
8127 d472 = d471;
8128 f473 += f472;
8129 d473 = d472;
8130 f474 += f473;
8131 d474 = d473;
8132 f475 += f474;
8133 d475 = d474;
8134 f476 += f475;
8135 d476 = d475;
8136 f477 += f476;
8137 d477 = d476;
8138 f478 += f477;
8139 d478 = d477;
8140 f479 += f478;
8141 d479 = d478;
8142 f480 += f479;
8143 d480 = d479;
8144 f481 += f480;
8145 d481 = d480;
8146 f482 += f481;
8147 d482 = d481;
8148 f483 += f482;
8149 d483 = d482;
8150 f484 += f483;
8151 d484 = d483;
8152 f485 += f484;
8153 d485 = d484;
8154 f486 += f485;
8155 d486 = d485;
8156 f487 += f486;
8157 d487 = d486;
8158 f488 += f487;
8159 d488 = d487;
8160 f489 += f488;
8161 d489 = d488;
8162 f490 += f489;
8163 d490 = d489;
8164 f491 += f490;
8165 d491 = d490;
8166 f492 += f491;
8167 d492 = d491;
8168 f493 += f492;
8169 d493 = d492;
8170 f494 += f493;
8171 d494 = d493;
8172 f495 += f494;
8173 d495 = d494;
8174 f496 += f495;
8175 d496 = d495;
8176 f497 += f496;
8177 d497 = d496;
8178 f498 += f497;
8179 d498 = d497;
8180 f499 += f498;
8181 d499 = d498;
8182 f500 += f499;
8183 d500 = d499;
8184 f501 += f500;
8185 d501 = d500;
8186 f502 += f501;
8187 d502 = d501;
8188 f503 += f502;
8189 d503 = d502;
8190 f504 += f503;
8191 d504 = d503;
8192 f505 += f504;
8193 d505 = d504;
8194 f506 += f505;
8195 d506 = d505;
8196 f507 += f506;
8197 d507 = d506;
8198 f508 += f507;
8199 d508 = d507;
8200 f509 += f508;
8201 d509 = d508;
8202 f510 += f509;
8203 d510 = d509;
8204 f511 += f510;
8205 d511 = d510;
8206 f512 += f511;
8207 d512 = d511;
8208 f513 += f512;
8209 d513 = d512;
8210 f514 += f513;
8211 d514 = d513;
8212 f515 += f514;
8213 d515 = d514;
8214 f516 += f515;
8215 d516 = d515;
8216 f517 += f516;
8217 d517 = d516;
8218 f518 += f517;
8219 d518 = d517;
8220 f519 += f518;
8221 d519 = d518;
8222 f520 += f519;
8223 d520 = d519;
8224 f521 += f520;
8225 d521 = d520;
8226 f522 += f521;
8227 d522 = d521;
8228 f523 += f522;
8229 d523 = d522;
8230 f524 += f523;
8231 d524 = d523;
8232 f525 += f524;
8233 d525 = d524;
8234 f526 += f525;
8235 d526 = d525;
8236 f527 += f526;
8237 d527 = d526;
8238 f528 += f527;
8239 d528 = d527;
8240 f529 += f528;
8241 d529 = d528;
8242 f530 += f529;
8243 d530 = d529;
8244 f531 += f530;
8245 d531 = d530;
8246 f532 += f531;
8247 d532 = d531;
8248 f533 += f532;
8249 d533 = d532;
8250 f534 += f533;
8251 d534 = d533;
8252 f535 += f534;
8253 d535 = d534;
8254 f536 += f535;
8255 d536 = d535;
8256 f537 += f536;
8257 d537 = d536;
8258 f538 += f537;
8259 d538 = d537;
8260 f539 += f538;
8261 d539 = d538;
8262 f540 += f539;
8263 d540 = d539;
8264 f541 += f540;
8265 d541 = d540;
8266 f542 += f541;
8267 d542 = d541;
8268 f543 += f542;
8269 d543 = d542;
8270 f544 += f543;
8271 d544 = d543;
8272 f545 += f544;
8273 d545 = d544;
8274 f546 += f545;
8275 d546 = d545;
8276 f547 += f546;
8277 d547 = d546;
8278 f548 += f547;
8279 d548 = d547;
8280 f549 += f548;
8281 d549 = d548;
8282 f550 += f549;
8283 d550 = d549;
8284 f551 += f550;
8285 d551 = d550;
8286 f552 += f551;
8287 d552 = d551;
8288 f553 += f552;
8289 d553 = d552;
8290 f554 += f553;
8291 d554 = d553;
8292 f555 += f554;
8293 d555 = d554;
8294 f556 += f555;
8295 d556 = d555;
8296 f557 += f556;
8297 d557 = d556;
8298 f558 += f557;
8299 d558 = d557;
8300 f559 += f558;
8301 d559 = d558;
8302 f560 += f559;
8303 d560 = d559;
8304 f561 += f560;
8305 d561 = d560;
8306 f562 += f561;
8307 d562 = d561;
8308 f563 += f562;
8309 d563 = d562;
8310 f564 += f563;
8311 d564 = d563;
8312 f565 += f564;
8313 d565 = d564;
8314 f566 += f565;
8315 d566 = d565;
8316 f567 += f566;
8317 d567 = d566;
8318 f568 += f567;
8319 d568 = d567;
8320 f569 += f568;
8321 d569 = d568;
8322 f570 += f569;
8323 d570 = d569;
8324 f571 += f570;
8325 d571 = d570;
8326 f572 += f571;
8327 d572 = d571;
8328 f573 += f572;
8329 d573 = d572;
8330 f574 += f573;
8331 d574 = d573;
8332 f575 += f574;
8333 d575 = d574;
8334 f576 += f575;
8335 d576 = d575;
8336 f577 += f576;
8337 d577 = d576;
8338 f578 += f577;
8339 d578 = d577;
8340 f579 += f578;
8341 d579 = d578;
8342 f580 += f579;
8343 d580 = d579;
8344 f581 += f580;
8345 d581 = d580;
8346 f582 += f581;
8347 d582 = d581;
8348 f583 += f582;
8349 d583 = d582;
8350 f584 += f583;
8351 d584 = d583;
8352 f585 += f584;
8353 d585 = d584;
8354 f586 += f585;
8355 d586 = d585;
8356 f587 += f586;
8357 d587 = d586;
8358 f588 += f587;
8359 d588 = d587;
8360 f589 += f588;
8361 d589 = d588;
8362 f590 += f589;
8363 d590 = d589;
8364 f591 += f590;
8365 d591 = d590;
8366 f592 += f591;
8367 d592 = d591;
8368 f593 += f592;
8369 d593 = d592;
8370 f594 += f593;
8371 d594 = d593;
8372 f595 += f594;
8373 d595 = d594;
8374 f596 += f595;
8375 d596 = d595;
8376 f597 += f596;
8377 d597 = d596;
8378 f598 += f597;
8379 d598 = d597;
8380 f599 += f598;
8381 d599 = d598;
8382 f600 += f599;
8383 d600 = d599;
8384 f601 += f600;
8385 d601 = d600;
8386 f602 += f601;
8387 d602 = d601;
8388 f603 += f602;
8389 d603 = d602;
8390 f604 += f603;
8391 d604 = d603;
8392 f605 += f604;
8393 d605 = d604;
8394 f606 += f605;
8395 d606 = d605;
8396 f607 += f606;
8397 d607 = d606;
8398 f608 += f607;
8399 d608 = d607;
8400 f609 += f608;
8401 d609 = d608;
8402 f610 += f609;
8403 d610 = d609;
8404 f611 += f610;
8405 d611 = d610;
8406 f612 += f611;
8407 d612 = d611;
8408 f613 += f612;
8409 d613 = d612;
8410 f614 += f613;
8411 d614 = d613;
8412 f615 += f614;
8413 d615 = d614;
8414 f616 += f615;
8415 d616 = d615;
8416 f617 += f616;
8417 d617 = d616;
8418 f618 += f617;
8419 d618 = d617;
8420 f619 += f618;
8421 d619 = d618;
8422 f620 += f619;
8423 d620 = d619;
8424 f621 += f620;
8425 d621 = d620;
8426 f622 += f621;
8427 d622 = d621;
8428 f623 += f622;
8429 d623 = d622;
8430 f624 += f623;
8431 d624 = d623;
8432 f625 += f624;
8433 d625 = d624;
8434 f626 += f625;
8435 d626 = d625;
8436 f627 += f626;
8437 d627 = d626;
8438 f628 += f627;
8439 d628 = d627;
8440 f629 += f628;
8441 d629 = d628;
8442 f630 += f629;
8443 d630 = d629;
8444 f631 += f630;
8445 d631 = d630;
8446 f632 += f631;
8447 d632 = d631;
8448 f633 += f632;
8449 d633 = d632;
8450 f634 += f633;
8451 d634 = d633;
8452 f635 += f634;
8453 d635 = d634;
8454 f636 += f635;
8455 d636 = d635;
8456 f637 += f636;
8457 d637 = d636;
8458 f638 += f637;
8459 d638 = d637;
8460 f639 += f638;
8461 d639 = d638;
8462 f640 += f639;
8463 d640 = d639;
8464 f641 += f640;
8465 d641 = d640;
8466 f642 += f641;
8467 d642 = d641;
8468 f643 += f642;
8469 d643 = d642;
8470 f644 += f643;
8471 d644 = d643;
8472 f645 += f644;
8473 d645 = d644;
8474 f646 += f645;
8475 d646 = d645;
8476 f647 += f646;
8477 d647 = d646;
8478 f648 += f647;
8479 d648 = d647;
8480 f649 += f648;
8481 d649 = d648;
8482 f650 += f649;
8483 d650 = d649;
8484 f651 += f650;
8485 d651 = d650;
8486 f652 += f651;
8487 d652 = d651;
8488 f653 += f652;
8489 d653 = d652;
8490 f654 += f653;
8491 d654 = d653;
8492 f655 += f654;
8493 d655 = d654;
8494 f656 += f655;
8495 d656 = d655;
8496 f657 += f656;
8497 d657 = d656;
8498 f658 += f657;
8499 d658 = d657;
8500 f659 += f658;
8501 d659 = d658;
8502 f660 += f659;
8503 d660 = d659;
8504 f661 += f660;
8505 d661 = d660;
8506 f662 += f661;
8507 d662 = d661;
8508 f663 += f662;
8509 d663 = d662;
8510 f664 += f663;
8511 d664 = d663;
8512 f665 += f664;
8513 d665 = d664;
8514 f666 += f665;
8515 d666 = d665;
8516 f667 += f666;
8517 d667 = d666;
8518 f668 += f667;
8519 d668 = d667;
8520 f669 += f668;
8521 d669 = d668;
8522 f670 += f669;
8523 d670 = d669;
8524 f671 += f670;
8525 d671 = d670;
8526 f672 += f671;
8527 d672 = d671;
8528 f673 += f672;
8529 d673 = d672;
8530 f674 += f673;
8531 d674 = d673;
8532 f675 += f674;
8533 d675 = d674;
8534 f676 += f675;
8535 d676 = d675;
8536 f677 += f676;
8537 d677 = d676;
8538 f678 += f677;
8539 d678 = d677;
8540 f679 += f678;
8541 d679 = d678;
8542 f680 += f679;
8543 d680 = d679;
8544 f681 += f680;
8545 d681 = d680;
8546 f682 += f681;
8547 d682 = d681;
8548 f683 += f682;
8549 d683 = d682;
8550 f684 += f683;
8551 d684 = d683;
8552 f685 += f684;
8553 d685 = d684;
8554 f686 += f685;
8555 d686 = d685;
8556 f687 += f686;
8557 d687 = d686;
8558 f688 += f687;
8559 d688 = d687;
8560 f689 += f688;
8561 d689 = d688;
8562 f690 += f689;
8563 d690 = d689;
8564 f691 += f690;
8565 d691 = d690;
8566 f692 += f691;
8567 d692 = d691;
8568 f693 += f692;
8569 d693 = d692;
8570 f694 += f693;
8571 d694 = d693;
8572 f695 += f694;
8573 d695 = d694;
8574 f696 += f695;
8575 d696 = d695;
8576 f697 += f696;
8577 d697 = d696;
8578 f698 += f697;
8579 d698 = d697;
8580 f699 += f698;
8581 d699 = d698;
8582 f700 += f699;
8583 d700 = d699;
8584 f701 += f700;
8585 d701 = d700;
8586 f702 += f701;
8587 d702 = d701;
8588 f703 += f702;
8589 d703 = d702;
8590 f704 += f703;
8591 d704 = d703;
8592 f705 += f704;
8593 d705 = d704;
8594 f706 += f705;
8595 d706 = d705;
8596 f707 += f706;
8597 d707 = d706;
8598 f708 += f707;
8599 d708 = d707;
8600 f709 += f708;
8601 d709 = d708;
8602 f710 += f709;
8603 d710 = d709;
8604 f711 += f710;
8605 d711 = d710;
8606 f712 += f711;
8607 d712 = d711;
8608 f713 += f712;
8609 d713 = d712;
8610 f714 += f713;
8611 d714 = d713;
8612 f715 += f714;
8613 d715 = d714;
8614 f716 += f715;
8615 d716 = d715;
8616 f717 += f716;
8617 d717 = d716;
8618 f718 += f717;
8619 d718 = d717;
8620 f719 += f718;
8621 d719 = d718;
8622 f720 += f719;
8623 d720 = d719;
8624 f721 += f720;
8625 d721 = d720;
8626 f722 += f721;
8627 d722 = d721;
8628 f723 += f722;
8629 d723 = d722;
8630 f724 += f723;
8631 d724 = d723;
8632 f725 += f724;
8633 d725 = d724;
8634 f726 += f725;
8635 d726 = d725;
8636 f727 += f726;
8637 d727 = d726;
8638 f728 += f727;
8639 d728 = d727;
8640 f729 += f728;
8641 d729 = d728;
8642 f730 += f729;
8643 d730 = d729;
8644 f731 += f730;
8645 d731 = d730;
8646 f732 += f731;
8647 d732 = d731;
8648 f733 += f732;
8649 d733 = d732;
8650 f734 += f733;
8651 d734 = d733;
8652 f735 += f734;
8653 d735 = d734;
8654 f736 += f735;
8655 d736 = d735;
8656 f737 += f736;
8657 d737 = d736;
8658 f738 += f737;
8659 d738 = d737;
8660 f739 += f738;
8661 d739 = d738;
8662 f740 += f739;
8663 d740 = d739;
8664 f741 += f740;
8665 d741 = d740;
8666 f742 += f741;
8667 d742 = d741;
8668 f743 += f742;
8669 d743 = d742;
8670 f744 += f743;
8671 d744 = d743;
8672 f745 += f744;
8673 d745 = d744;
8674 f746 += f745;
8675 d746 = d745;
8676 f747 += f746;
8677 d747 = d746;
8678 f748 += f747;
8679 d748 = d747;
8680 f749 += f748;
8681 d749 = d748;
8682 f750 += f749;
8683 d750 = d749;
8684 f751 += f750;
8685 d751 = d750;
8686 f752 += f751;
8687 d752 = d751;
8688 f753 += f752;
8689 d753 = d752;
8690 f754 += f753;
8691 d754 = d753;
8692 f755 += f754;
8693 d755 = d754;
8694 f756 += f755;
8695 d756 = d755;
8696 f757 += f756;
8697 d757 = d756;
8698 f758 += f757;
8699 d758 = d757;
8700 f759 += f758;
8701 d759 = d758;
8702 f760 += f759;
8703 d760 = d759;
8704 f761 += f760;
8705 d761 = d760;
8706 f762 += f761;
8707 d762 = d761;
8708 f763 += f762;
8709 d763 = d762;
8710 f764 += f763;
8711 d764 = d763;
8712 f765 += f764;
8713 d765 = d764;
8714 f766 += f765;
8715 d766 = d765;
8716 f767 += f766;
8717 d767 = d766;
8718 f768 += f767;
8719 d768 = d767;
8720 f769 += f768;
8721 d769 = d768;
8722 f770 += f769;
8723 d770 = d769;
8724 f771 += f770;
8725 d771 = d770;
8726 f772 += f771;
8727 d772 = d771;
8728 f773 += f772;
8729 d773 = d772;
8730 f774 += f773;
8731 d774 = d773;
8732 f775 += f774;
8733 d775 = d774;
8734 f776 += f775;
8735 d776 = d775;
8736 f777 += f776;
8737 d777 = d776;
8738 f778 += f777;
8739 d778 = d777;
8740 f779 += f778;
8741 d779 = d778;
8742 f780 += f779;
8743 d780 = d779;
8744 f781 += f780;
8745 d781 = d780;
8746 f782 += f781;
8747 d782 = d781;
8748 f783 += f782;
8749 d783 = d782;
8750 f784 += f783;
8751 d784 = d783;
8752 f785 += f784;
8753 d785 = d784;
8754 f786 += f785;
8755 d786 = d785;
8756 f787 += f786;
8757 d787 = d786;
8758 f788 += f787;
8759 d788 = d787;
8760 f789 += f788;
8761 d789 = d788;
8762 f790 += f789;
8763 d790 = d789;
8764 f791 += f790;
8765 d791 = d790;
8766 f792 += f791;
8767 d792 = d791;
8768 f793 += f792;
8769 d793 = d792;
8770 f794 += f793;
8771 d794 = d793;
8772 f795 += f794;
8773 d795 = d794;
8774 f796 += f795;
8775 d796 = d795;
8776 f797 += f796;
8777 d797 = d796;
8778 f798 += f797;
8779 d798 = d797;
8780 f799 += f798;
8781 d799 = d798;
8782 f800 += f799;
8783 d800 = d799;
8784 f801 += f800;
8785 d801 = d800;
8786 f802 += f801;
8787 d802 = d801;
8788 f803 += f802;
8789 d803 = d802;
8790 f804 += f803;
8791 d804 = d803;
8792 f805 += f804;
8793 d805 = d804;
8794 f806 += f805;
8795 d806 = d805;
8796 f807 += f806;
8797 d807 = d806;
8798 f808 += f807;
8799 d808 = d807;
8800 f809 += f808;
8801 d809 = d808;
8802 f810 += f809;
8803 d810 = d809;
8804 f811 += f810;
8805 d811 = d810;
8806 f812 += f811;
8807 d812 = d811;
8808 f813 += f812;
8809 d813 = d812;
8810 f814 += f813;
8811 d814 = d813;
8812 f815 += f814;
8813 d815 = d814;
8814 f816 += f815;
8815 d816 = d815;
8816 f817 += f816;
8817 d817 = d816;
8818 f818 += f817;
8819 d818 = d817;
8820 f819 += f818;
8821 d819 = d818;
8822 f820 += f819;
8823 d820 = d819;
8824 f821 += f820;
8825 d821 = d820;
8826 f822 += f821;
8827 d822 = d821;
8828 f823 += f822;
8829 d823 = d822;
8830 f824 += f823;
8831 d824 = d823;
8832 f825 += f824;
8833 d825 = d824;
8834 f826 += f825;
8835 d826 = d825;
8836 f827 += f826;
8837 d827 = d826;
8838 f828 += f827;
8839 d828 = d827;
8840 f829 += f828;
8841 d829 = d828;
8842 f830 += f829;
8843 d830 = d829;
8844 f831 += f830;
8845 d831 = d830;
8846 f832 += f831;
8847 d832 = d831;
8848 f833 += f832;
8849 d833 = d832;
8850 f834 += f833;
8851 d834 = d833;
8852 f835 += f834;
8853 d835 = d834;
8854 f836 += f835;
8855 d836 = d835;
8856 f837 += f836;
8857 d837 = d836;
8858 f838 += f837;
8859 d838 = d837;
8860 f839 += f838;
8861 d839 = d838;
8862 f840 += f839;
8863 d840 = d839;
8864 f841 += f840;
8865 d841 = d840;
8866 f842 += f841;
8867 d842 = d841;
8868 f843 += f842;
8869 d843 = d842;
8870 f844 += f843;
8871 d844 = d843;
8872 f845 += f844;
8873 d845 = d844;
8874 f846 += f845;
8875 d846 = d845;
8876 f847 += f846;
8877 d847 = d846;
8878 f848 += f847;
8879 d848 = d847;
8880 f849 += f848;
8881 d849 = d848;
8882 f850 += f849;
8883 d850 = d849;
8884 f851 += f850;
8885 d851 = d850;
8886 f852 += f851;
8887 d852 = d851;
8888 f853 += f852;
8889 d853 = d852;
8890 f854 += f853;
8891 d854 = d853;
8892 f855 += f854;
8893 d855 = d854;
8894 f856 += f855;
8895 d856 = d855;
8896 f857 += f856;
8897 d857 = d856;
8898 f858 += f857;
8899 d858 = d857;
8900 f859 += f858;
8901 d859 = d858;
8902 f860 += f859;
8903 d860 = d859;
8904 f861 += f860;
8905 d861 = d860;
8906 f862 += f861;
8907 d862 = d861;
8908 f863 += f862;
8909 d863 = d862;
8910 f864 += f863;
8911 d864 = d863;
8912 f865 += f864;
8913 d865 = d864;
8914 f866 += f865;
8915 d866 = d865;
8916 f867 += f866;
8917 d867 = d866;
8918 f868 += f867;
8919 d868 = d867;
8920 f869 += f868;
8921 d869 = d868;
8922 f870 += f869;
8923 d870 = d869;
8924 f871 += f870;
8925 d871 = d870;
8926 f872 += f871;
8927 d872 = d871;
8928 f873 += f872;
8929 d873 = d872;
8930 f874 += f873;
8931 d874 = d873;
8932 f875 += f874;
8933 d875 = d874;
8934 f876 += f875;
8935 d876 = d875;
8936 f877 += f876;
8937 d877 = d876;
8938 f878 += f877;
8939 d878 = d877;
8940 f879 += f878;
8941 d879 = d878;
8942 f880 += f879;
8943 d880 = d879;
8944 f881 += f880;
8945 d881 = d880;
8946 f882 += f881;
8947 d882 = d881;
8948 f883 += f882;
8949 d883 = d882;
8950 f884 += f883;
8951 d884 = d883;
8952 f885 += f884;
8953 d885 = d884;
8954 f886 += f885;
8955 d886 = d885;
8956 f887 += f886;
8957 d887 = d886;
8958 f888 += f887;
8959 d888 = d887;
8960 f889 += f888;
8961 d889 = d888;
8962 f890 += f889;
8963 d890 = d889;
8964 f891 += f890;
8965 d891 = d890;
8966 f892 += f891;
8967 d892 = d891;
8968 f893 += f892;
8969 d893 = d892;
8970 f894 += f893;
8971 d894 = d893;
8972 f895 += f894;
8973 d895 = d894;
8974 f896 += f895;
8975 d896 = d895;
8976 f897 += f896;
8977 d897 = d896;
8978 f898 += f897;
8979 d898 = d897;
8980 f899 += f898;
8981 d899 = d898;
8982 f900 += f899;
8983 d900 = d899;
8984 f901 += f900;
8985 d901 = d900;
8986 f902 += f901;
8987 d902 = d901;
8988 f903 += f902;
8989 d903 = d902;
8990 f904 += f903;
8991 d904 = d903;
8992 f905 += f904;
8993 d905 = d904;
8994 f906 += f905;
8995 d906 = d905;
8996 f907 += f906;
8997 d907 = d906;
8998 f908 += f907;
8999 d908 = d907;
9000 f909 += f908;
9001 d909 = d908;
9002 f910 += f909;
9003 d910 = d909;
9004 f911 += f910;
9005 d911 = d910;
9006 f912 += f911;
9007 d912 = d911;
9008 f913 += f912;
9009 d913 = d912;
9010 f914 += f913;
9011 d914 = d913;
9012 f915 += f914;
9013 d915 = d914;
9014 f916 += f915;
9015 d916 = d915;
9016 f917 += f916;
9017 d917 = d916;
9018 f918 += f917;
9019 d918 = d917;
9020 f919 += f918;
9021 d919 = d918;
9022 f920 += f919;
9023 d920 = d919;
9024 f921 += f920;
9025 d921 = d920;
9026 f922 += f921;
9027 d922 = d921;
9028 f923 += f922;
9029 d923 = d922;
9030 f924 += f923;
9031 d924 = d923;
9032 f925 += f924;
9033 d925 = d924;
9034 f926 += f925;
9035 d926 = d925;
9036 f927 += f926;
9037 d927 = d926;
9038 f928 += f927;
9039 d928 = d927;
9040 f929 += f928;
9041 d929 = d928;
9042 f930 += f929;
9043 d930 = d929;
9044 f931 += f930;
9045 d931 = d930;
9046 f932 += f931;
9047 d932 = d931;
9048 f933 += f932;
9049 d933 = d932;
9050 f934 += f933;
9051 d934 = d933;
9052 f935 += f934;
9053 d935 = d934;
9054 f936 += f935;
9055 d936 = d935;
9056 f937 += f936;
9057 d937 = d936;
9058 f938 += f937;
9059 d938 = d937;
9060 f939 += f938;
9061 d939 = d938;
9062 f940 += f939;
9063 d940 = d939;
9064 f941 += f940;
9065 d941 = d940;
9066 f942 += f941;
9067 d942 = d941;
9068 f943 += f942;
9069 d943 = d942;
9070 f944 += f943;
9071 d944 = d943;
9072 f945 += f944;
9073 d945 = d944;
9074 f946 += f945;
9075 d946 = d945;
9076 f947 += f946;
9077 d947 = d946;
9078 f948 += f947;
9079 d948 = d947;
9080 f949 += f948;
9081 d949 = d948;
9082 f950 += f949;
9083 d950 = d949;
9084 f951 += f950;
9085 d951 = d950;
9086 f952 += f951;
9087 d952 = d951;
9088 f953 += f952;
9089 d953 = d952;
9090 f954 += f953;
9091 d954 = d953;
9092 f955 += f954;
9093 d955 = d954;
9094 f956 += f955;
9095 d956 = d955;
9096 f957 += f956;
9097 d957 = d956;
9098 f958 += f957;
9099 d958 = d957;
9100 f959 += f958;
9101 d959 = d958;
9102 f960 += f959;
9103 d960 = d959;
9104 f961 += f960;
9105 d961 = d960;
9106 f962 += f961;
9107 d962 = d961;
9108 f963 += f962;
9109 d963 = d962;
9110 f964 += f963;
9111 d964 = d963;
9112 f965 += f964;
9113 d965 = d964;
9114 f966 += f965;
9115 d966 = d965;
9116 f967 += f966;
9117 d967 = d966;
9118 f968 += f967;
9119 d968 = d967;
9120 f969 += f968;
9121 d969 = d968;
9122 f970 += f969;
9123 d970 = d969;
9124 f971 += f970;
9125 d971 = d970;
9126 f972 += f971;
9127 d972 = d971;
9128 f973 += f972;
9129 d973 = d972;
9130 f974 += f973;
9131 d974 = d973;
9132 f975 += f974;
9133 d975 = d974;
9134 f976 += f975;
9135 d976 = d975;
9136 f977 += f976;
9137 d977 = d976;
9138 f978 += f977;
9139 d978 = d977;
9140 f979 += f978;
9141 d979 = d978;
9142 f980 += f979;
9143 d980 = d979;
9144 f981 += f980;
9145 d981 = d980;
9146 f982 += f981;
9147 d982 = d981;
9148 f983 += f982;
9149 d983 = d982;
9150 f984 += f983;
9151 d984 = d983;
9152 f985 += f984;
9153 d985 = d984;
9154 f986 += f985;
9155 d986 = d985;
9156 f987 += f986;
9157 d987 = d986;
9158 f988 += f987;
9159 d988 = d987;
9160 f989 += f988;
9161 d989 = d988;
9162 f990 += f989;
9163 d990 = d989;
9164 f991 += f990;
9165 d991 = d990;
9166 f992 += f991;
9167 d992 = d991;
9168 f993 += f992;
9169 d993 = d992;
9170 f994 += f993;
9171 d994 = d993;
9172 f995 += f994;
9173 d995 = d994;
9174 f996 += f995;
9175 d996 = d995;
9176 f997 += f996;
9177 d997 = d996;
9178 f998 += f997;
9179 d998 = d997;
9180 f999 += f998;
9181 d999 = d998;
9182 return f999 + d999;
9183 }
9184
buzbee4922ef92012-02-24 14:32:20 -08009185 static void largeFrameTest() {
9186 long res = largeFrame();
9187 if (res == 499500) {
9188 System.out.println("largeFrame passes");
9189 } else {
9190 System.out.println("largeFrame fails: expected 49950, got " + res);
9191 }
9192 }
Ian Rogers513c64a2012-02-26 15:16:23 -08009193
9194 static void largeFrameTestFloat() {
9195 double res = largeFrameFloat();
9196 if (res == 499500.0) {
9197 System.out.println("largeFrameFloat passes");
9198 } else {
9199 System.out.println("largeFrameFloat fails: expected 49950, got " + res);
9200 }
9201 }
jeffhao5d1ac922011-09-29 17:41:15 -07009202}
9203
9204class SpinThread extends Thread {
9205 int mPriority;
9206
9207 SpinThread(int prio) {
9208 super("Spin prio=" + prio);
9209 mPriority = prio;
9210 }
9211
9212 public void run() {
9213 setPriority(mPriority);
9214 while (true) {}
9215 }
9216}
buzbeee62076c2012-03-21 14:26:16 -07009217
9218class Foo {
9219 private int bar = 1234;
9220 private long lbar = 1234;
9221
Vladimir Markoe1fced12014-04-04 14:52:53 +01009222 public static Foo getNullFoo() {
9223 // Make this a bit complicated so that it's not inlined.
9224 Foo foo = new Foo();
9225 return (barBar(foo) != 0) ? null : foo;
9226 }
9227
buzbee97df07f2012-03-27 16:13:20 -07009228 // Looks similar to a direct method, make sure we're null checking
9229 static int barBar(Foo foo) {
9230 return foo.bar;
9231 }
9232
buzbeee62076c2012-03-21 14:26:16 -07009233 public int iConst0x1234() {
9234 return 0x1234;
9235 }
9236
9237 public long iConst0x123443211234() {
9238 return 0x123443211234L;
9239 }
9240
9241 public void setBar1(int a1) {
9242 bar = a1;
9243 }
9244 public void setBar2(int a1, int a2) {
9245 bar = a2;
9246 }
9247 public void setBar3(int a1, int a2, int a3) {
9248 bar = a3;
9249 }
9250 public void setBar4(int a1, int a2, int a3, int a4) {
9251 bar = a4;
9252 }
9253 public void setBar5(int a1, int a2, int a3, int a4, int a5) {
9254 bar = a5;
9255 }
9256 public int getBar0() {
9257 return bar;
9258 }
9259 public int getBar1(int a1) {
9260 return bar;
9261 }
9262 public int getBar2(int a1, int a2) {
9263 return bar;
9264 }
9265 public int getBar3(int a1, int a2, int a3) {
9266 return bar;
9267 }
9268 public int getBar4(int a1, int a2, int a3, int a4) {
9269 return bar;
9270 }
9271 public int getBar5(int a1, int a2, int a3, int a4, int a5) {
9272 return bar;
9273 }
9274
9275 public int ident0(int a1) {
9276 return a1;
9277 }
9278
9279 public int ident1(int a2, int a1) {
9280 return a1;
9281 }
9282
9283 public int ident2(int a3, int a2, int a1) {
9284 return a1;
9285 }
9286
9287 public int ident3(int a4, int a3, int a2, int a1) {
9288 return a1;
9289 }
9290
9291 public int ident4(int a5, int a4, int a3, int a2, int a1) {
9292 return a1;
9293 }
9294
9295 public int ident5(int a6, int a5, int a4, int a3, int a2, int a1) {
9296 return a1;
9297 }
9298
9299
9300 public void wideSetBar1(long a1) {
9301 lbar = a1;
9302 }
9303 public void wideSetBar2(long a1, long a2) {
9304 lbar = a2;
9305 }
9306 public void wideSetBar3(long a1, long a2, long a3) {
9307 lbar = a3;
9308 }
9309 public void wideSetBar4(long a1, long a2, long a3, long a4) {
9310 lbar = a4;
9311 }
9312 public void wideSetBar5(long a1, long a2, long a3, long a4, long a5) {
9313 lbar = a5;
9314 }
Vladimir Marko8017ef82014-02-10 09:59:43 +00009315 public void wideSetBar2i(int a1, long a2) {
9316 lbar = a2;
9317 }
9318 public void wideSetBar3i(int a1, int a2, long a3) {
9319 lbar = a3;
9320 }
9321 public void wideSetBar4i(int a1, int a2, int a3, long a4) {
9322 lbar = a4;
9323 }
9324 public void wideSetBar5i(int a1, int a2, int a3, int a4, long a5) {
9325 lbar = a5;
9326 }
buzbeee62076c2012-03-21 14:26:16 -07009327 public long wideGetBar0() {
9328 return lbar;
9329 }
9330 public long wideGetBar1(long a1) {
9331 return lbar;
9332 }
9333 public long wideGetBar2(long a1, long a2) {
9334 return lbar;
9335 }
9336 public long wideGetBar3(long a1, long a2, long a3) {
9337 return lbar;
9338 }
9339 public long wideGetBar4(long a1, long a2, long a3, long a4) {
9340 return lbar;
9341 }
9342 public long wideGetBar5(long a1, long a2, long a3, long a4, long a5) {
9343 return lbar;
9344 }
9345
9346 public long wideIdent0(long a1) {
9347 return a1;
9348 }
9349
9350 public long wideIdent1(int a2, long a1) {
9351 return a1;
9352 }
9353
9354 public long wideIdent2(int a3, int a2, long a1) {
9355 return a1;
9356 }
9357
9358 public long wideIdent3(int a4, int a3, int a2, long a1) {
9359 return a1;
9360 }
9361
9362 public long wideIdent4(int a5, int a4, int a3, int a2, long a1) {
9363 return a1;
9364 }
9365
9366 public long wideIdent5(int a6, int a5, int a4, int a3, int a2, long a1) {
9367 return a1;
Vladimir Markodb406322014-02-19 14:11:19 +00009368 }
Vladimir Markoe1fced12014-04-04 14:52:53 +01009369 public Foo setBar1ReturnThis(int a1) {
9370 bar = a1;
9371 return this;
9372 }
9373 public Foo setBar2ReturnThis(int a1, int a2) {
9374 bar = a2;
9375 return this;
9376 }
9377 public Foo setBar3ReturnThis(int a1, int a2, int a3) {
9378 bar = a3;
9379 return this;
9380 }
9381 public Foo setBar4ReturnThis(int a1, int a2, int a3, int a4) {
9382 bar = a4;
9383 return this;
9384 }
9385 public Foo setBar5ReturnThis(int a1, int a2, int a3, int a4, int a5) {
9386 bar = a5;
9387 return this;
9388 }
9389 public Foo wideSetBar1ReturnThis(long a1) {
9390 lbar = a1;
9391 return this;
9392 }
9393 public Foo wideSetBar2ReturnThis(long a1, long a2) {
9394 lbar = a2;
9395 return this;
9396 }
9397 public Foo wideSetBar3ReturnThis(long a1, long a2, long a3) {
9398 lbar = a3;
9399 return this;
9400 }
9401 public Foo wideSetBar4ReturnThis(long a1, long a2, long a3, long a4) {
9402 lbar = a4;
9403 return this;
9404 }
9405 public Foo wideSetBar5ReturnThis(long a1, long a2, long a3, long a4, long a5) {
9406 lbar = a5;
9407 return this;
9408 }
9409 public Foo wideSetBar2iReturnThis(int a1, long a2) {
9410 lbar = a2;
9411 return this;
9412 }
9413 public Foo wideSetBar3iReturnThis(int a1, int a2, long a3) {
9414 lbar = a3;
9415 return this;
9416 }
9417 public Foo wideSetBar4iReturnThis(int a1, int a2, int a3, long a4) {
9418 lbar = a4;
9419 return this;
9420 }
9421 public Foo wideSetBar5iReturnThis(int a1, int a2, int a3, int a4, long a5) {
9422 lbar = a5;
9423 return this;
9424 }
9425 public int setBar1ReturnBarArg(int a1) {
9426 bar = a1;
9427 return a1;
9428 }
9429 public int setBar2ReturnBarArg(int a1, int a2) {
9430 bar = a2;
9431 return a2;
9432 }
9433 public int setBar3ReturnBarArg(int a1, int a2, int a3) {
9434 bar = a3;
9435 return a3;
9436 }
9437 public int setBar4ReturnBarArg(int a1, int a2, int a3, int a4) {
9438 bar = a4;
9439 return a4;
9440 }
9441 public int setBar5ReturnBarArg(int a1, int a2, int a3, int a4, int a5) {
9442 bar = a5;
9443 return a5;
9444 }
9445 public long wideSetBar1ReturnBarArg(long a1) {
9446 lbar = a1;
9447 return a1;
9448 }
9449 public long wideSetBar2ReturnBarArg(long a1, long a2) {
9450 lbar = a2;
9451 return a2;
9452 }
9453 public long wideSetBar3ReturnBarArg(long a1, long a2, long a3) {
9454 lbar = a3;
9455 return a3;
9456 }
9457 public long wideSetBar4ReturnBarArg(long a1, long a2, long a3, long a4) {
9458 lbar = a4;
9459 return a4;
9460 }
9461 public long wideSetBar5ReturnBarArg(long a1, long a2, long a3, long a4, long a5) {
9462 lbar = a5;
9463 return a5;
9464 }
9465 public long wideSetBar2iReturnBarArg(int a1, long a2) {
9466 lbar = a2;
9467 return a2;
9468 }
9469 public long wideSetBar3iReturnBarArg(int a1, int a2, long a3) {
9470 lbar = a3;
9471 return a3;
9472 }
9473 public long wideSetBar4iReturnBarArg(int a1, int a2, int a3, long a4) {
9474 lbar = a4;
9475 return a4;
9476 }
9477 public long wideSetBar5iReturnBarArg(int a1, int a2, int a3, int a4, long a5) {
9478 lbar = a5;
9479 return a5;
9480 }
9481 public int setBar2ReturnDummyArg1(int a1, int a2) {
9482 bar = a2;
9483 return a1;
9484 }
9485 public int setBar3ReturnDummyArg2(int a1, int a2, int a3) {
9486 bar = a3;
9487 return a2;
9488 }
9489 public int setBar4ReturnDummyArg3(int a1, int a2, int a3, int a4) {
9490 bar = a4;
9491 return a3;
9492 }
9493 public int setBar5ReturnDummyArg4(int a1, int a2, int a3, int a4, int a5) {
9494 bar = a5;
9495 return a4;
9496 }
9497 public long wideSetBar2ReturnDummyArg1(long a1, long a2) {
9498 lbar = a2;
9499 return a1;
9500 }
9501 public long wideSetBar3ReturnDummyArg2(long a1, long a2, long a3) {
9502 lbar = a3;
9503 return a2;
9504 }
9505 public long wideSetBar4ReturnDummyArg3(long a1, long a2, long a3, long a4) {
9506 lbar = a4;
9507 return a3;
9508 }
9509 public long wideSetBar5ReturnDummyArg4(long a1, long a2, long a3, long a4, long a5) {
9510 lbar = a5;
9511 return a4;
9512 }
9513 public int wideSetBar2iReturnDummyArg1(int a1, long a2) {
9514 lbar = a2;
9515 return a1;
9516 }
9517 public int wideSetBar3iReturnDummyArg2(int a1, int a2, long a3) {
9518 lbar = a3;
9519 return a2;
9520 }
9521 public int wideSetBar4iReturnDummyArg3(int a1, int a2, int a3, long a4) {
9522 lbar = a4;
9523 return a3;
9524 }
9525 public int wideSetBar5iReturnDummyArg4(int a1, int a2, int a3, int a4, long a5) {
9526 lbar = a5;
9527 return a4;
9528 }
Vladimir Markodb406322014-02-19 14:11:19 +00009529}
buzbeee62076c2012-03-21 14:26:16 -07009530
Vladimir Markodb406322014-02-19 14:11:19 +00009531class LVNTests {
9532 private LVNTests link = null;
9533 private int value = 0;
9534
9535 private void setLink(LVNTests l) {
9536 link = l;
9537 }
9538
9539 private static void causeNPE1(LVNTests lhs, LVNTests rhs) {
9540 LVNTests link1 = lhs.link;
9541 rhs.link = null;
9542 LVNTests link2 = lhs.link;
9543 int value1 = link1.value;
9544 int value2 = link2.value;
9545 System.out.println("LVNTests.testNPE1 fails with " + value1 + " and " + value2);
9546 }
9547
9548 public static void testNPE1() {
9549 LVNTests t = new LVNTests();
9550 t.link = new LVNTests();
9551 try {
9552 causeNPE1(t, t);
9553 } catch (NullPointerException e) {
9554 System.out.println("LVNTests.testNPE1 passes");
9555 }
9556 }
9557
9558 private static void causeNPE2(LVNTests lhs, LVNTests rhs) {
9559 LVNTests link1 = lhs.link;
9560 rhs.setLink(null);
9561 LVNTests link2 = lhs.link;
9562 int value1 = link1.value;
9563 int value2 = link2.value;
9564 System.out.println("LVNTests.testNPE2 fails with " + value1 + " and " + value2);
9565 }
9566
9567 public static void testNPE2() {
9568 LVNTests t = new LVNTests();
9569 t.link = new LVNTests();
9570 try {
9571 causeNPE2(t, t);
9572 } catch (NullPointerException e) {
9573 System.out.println("LVNTests.testNPE2 passes");
9574 }
9575 }
buzbeee62076c2012-03-21 14:26:16 -07009576}
Vladimir Markoa1a70742014-03-03 10:28:05 +00009577
9578class MirOpSelectTests {
9579 private static int ifEqzThen0Else1(int i) { return (i == 0) ? 0 : 1; }
9580 private static int ifEqzThen0Else8(int i) { return (i == 0) ? 0 : 8; }
9581 private static int ifEqzThen1Else5(int i) { return (i == 0) ? 1 : 5; }
9582 private static int ifEqzThenMinus1Else3(int i) { return (i == 0) ? -1 : 3; }
9583 private static int ifEqzThen11Else23(int i) { return (i == 0) ? 11 : 23; }
9584 private static int ifEqzThen54321Else87654321(int i) { return (i == 0) ? 54321 : 87654321; }
9585 private static int ifNezThen0Else1(int i) { return (i != 0) ? 0 : 1; }
9586 private static int ifNezThen0Else8(int i) { return (i != 0) ? 0 : 8; }
9587 private static int ifNezThen1Else5(int i) { return (i != 0) ? 1 : 5; }
9588 private static int ifNezThenMinus1Else3(int i) { return (i != 0) ? -1 : 3; }
9589 private static int ifNezThen11Else23(int i) { return (i != 0) ? 11 : 23; }
9590 private static int ifNezThen54321Else87654321(int i) { return (i != 0) ? 54321 : 87654321; }
9591 private static int ifLtzThen3Else5(int i) { return (i < 0) ? 3 : 5; }
9592 private static int ifGezThen7Else4(int i) { return (i >= 0) ? 7 : 4; }
9593 private static int ifGtzThen2Else9(int i) { return (i > 0) ? 2 : 9; }
9594 private static int ifLezThen8Else0(int i) { return (i <= 0) ? 8 : 0; }
9595
9596 private static int ifEqz(int src, int thn, int els) { return (src == 0) ? thn : els; }
9597 private static int ifNez(int src, int thn, int els) { return (src != 0) ? thn : els; }
9598 private static int ifLtz(int src, int thn, int els) { return (src < 0) ? thn : els; }
9599 private static int ifGez(int src, int thn, int els) { return (src >= 0) ? thn : els; }
9600 private static int ifGtz(int src, int thn, int els) { return (src > 0) ? thn : els; }
9601 private static int ifLez(int src, int thn, int els) { return (src <= 0) ? thn : els; }
9602
9603 public static void testIfCcz() {
9604 int[] results = new int[] {
9605 ifEqzThen0Else1(-1), 1,
9606 ifEqzThen0Else1(0), 0,
9607 ifEqzThen0Else1(1), 1,
9608 ifEqzThen0Else8(-1), 8,
9609 ifEqzThen0Else8(0), 0,
9610 ifEqzThen0Else8(1), 8,
9611 ifEqzThen1Else5(-1), 5,
9612 ifEqzThen1Else5(0), 1,
9613 ifEqzThen1Else5(1), 5,
9614 ifEqzThenMinus1Else3(-1), 3,
9615 ifEqzThenMinus1Else3(0), -1,
9616 ifEqzThenMinus1Else3(1), 3,
9617 ifEqzThen11Else23(-1), 23,
9618 ifEqzThen11Else23(0), 11,
9619 ifEqzThen11Else23(1), 23,
9620 ifEqzThen54321Else87654321(-1), 87654321,
9621 ifEqzThen54321Else87654321(0), 54321,
9622 ifEqzThen54321Else87654321(1), 87654321,
9623 ifNezThen0Else1(-1), 0,
9624 ifNezThen0Else1(0), 1,
9625 ifNezThen0Else1(1), 0,
9626 ifNezThen0Else8(-1), 0,
9627 ifNezThen0Else8(0), 8,
9628 ifNezThen0Else8(1), 0,
9629 ifNezThen1Else5(-1), 1,
9630 ifNezThen1Else5(0), 5,
9631 ifNezThen1Else5(1), 1,
9632 ifNezThenMinus1Else3(-1), -1,
9633 ifNezThenMinus1Else3(0), 3,
9634 ifNezThenMinus1Else3(1), -1,
9635 ifNezThen11Else23(-1), 11,
9636 ifNezThen11Else23(0), 23,
9637 ifNezThen11Else23(1), 11,
9638 ifNezThen54321Else87654321(-1), 54321,
9639 ifNezThen54321Else87654321(0), 87654321,
9640 ifNezThen54321Else87654321(1), 54321,
9641 ifLtzThen3Else5(-1), 3,
9642 ifLtzThen3Else5(0), 5,
9643 ifLtzThen3Else5(1), 5,
9644 ifGezThen7Else4(-1), 4,
9645 ifGezThen7Else4(0), 7,
9646 ifGezThen7Else4(1), 7,
9647 ifGtzThen2Else9(-1), 9,
9648 ifGtzThen2Else9(0), 9,
9649 ifGtzThen2Else9(1), 2,
9650 ifLezThen8Else0(-1), 8,
9651 ifLezThen8Else0(0), 8,
9652 ifLezThen8Else0(1), 0,
9653 ifEqz(-1, 101, 201), 201,
9654 ifEqz(0, 102, 202), 102,
9655 ifEqz(1, 103, 203), 203,
9656 ifNez(-1, 104, 204), 104,
9657 ifNez(0, 105, 205), 205,
9658 ifNez(1, 106, 206), 106,
9659 ifLtz(-1, 107, 207), 107,
9660 ifLtz(0, 108, 208), 208,
9661 ifLtz(1, 109, 209), 209,
9662 ifGez(-1, 110, 210), 210,
9663 ifGez(0, 111, 211), 111,
9664 ifGez(1, 112, 212), 112,
9665 ifGtz(-1, 113, 213), 213,
9666 ifGtz(0, 114, 214), 214,
9667 ifGtz(1, 115, 215), 115,
9668 ifLez(-1, 116, 216), 116,
9669 ifLez(0, 117, 217), 117,
9670 ifLez(1, 118, 218), 218,
9671 };
9672
9673 boolean success = true;
9674 StringBuilder fails = new StringBuilder();
9675 for (int i = 0; i != results.length; i += 2) {
9676 if (results[i] != results[i + 1]) {
9677 success = false;
9678 fails.append("\n #" + (i / 2) + ": " + results[i] + " != " + results[i + 1]);
9679 }
9680 }
9681 if (success) {
9682 System.out.println("testIfCcz passes");
9683 } else {
9684 System.out.println("testIfCcz fails for" + fails.toString());
9685 }
9686 }
9687}
Chao-ying Fu3d325c62014-03-27 14:17:28 -07009688
9689class LiveFlags {
9690 private static void show_results(double a[], double b[], int trip) {
9691 if ((a[0]+a[1]+b[0]+b[1]) == 0) {
9692 System.out.println("LiveFlags passes trip " + trip);
9693 } else {
9694 System.out.println("LiveFlags fails trip " + trip);
9695 System.out.println("a[0] = " + a[0] + " a[1] = " + a[1]);
9696 System.out.println("b[0] = " + b[0] + " b[1] = " + b[1]);
9697 }
9698 }
9699 static void test()
9700 {
9701 final double A[] = new double[2];
9702 final double B[] = new double[2];
9703 final double C[] = new double[2];
9704 B[0] = B[1] = 0.0;
9705 A[0] = A[1] = 0.0;
9706 C[0] = C[1] = 0.0;
9707 for (int i = 3; i >= 1; i--) {
9708 if ( (i & 1) == 0) {
9709 continue;
9710 }
9711 if ( (i & 2) != 0 ) {
9712 B[1] = -B[1];
9713 }
9714 show_results(A, B, i);
9715 A[0] = C[0]; A[1] = C[1];
9716 }
9717 }
9718}