1 /* 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 17 import java.util.concurrent.*; 18 import java.util.concurrent.atomic.AtomicLong; 19 20 /** 21 * Test for Jit regressions. 22 */ 23 public class Main { 24 public static int const0x1234() { 25 return 0x1234; 26 } 27 28 public static long const0x123443211234() { 29 return 0x123443211234L; 30 } 31 32 public static void main(String args[]) throws Exception { 33 b17325447(); 34 b17630605(); 35 b17411468(); 36 b2296099Test(); 37 b2302318Test(); 38 b2487514Test(); 39 b5884080Test(); 40 b13679511Test(); 41 b16177324TestWrapper(); 42 b16230771TestWrapper(); 43 largeFrameTest(); 44 largeFrameTestFloat(); 45 mulBy1Test(); 46 constantPropagationTest(); 47 getterSetterTest(); 48 identityTest(); 49 wideGetterSetterTest(); 50 wideIdentityTest(); 51 returnConstantTest(); 52 setterTestWithReturnArgIgnoreReturn(); 53 setterTestWithReturnArgUseReturn(); 54 wideSetterTestWithReturnArgIgnoreReturn(); 55 wideSetterTestWithReturnArgUseReturn(); 56 LVNTests.testNPE1(); 57 LVNTests.testNPE2(); 58 ZeroTests.longDivTest(); 59 ZeroTests.longModTest(); 60 MirOpSelectTests.testIfCcz(); 61 ManyFloatArgs(); 62 atomicLong(); 63 LiveFlags.test(); 64 minDoubleWith3ConstsTest(); 65 } 66 67 public static double b17325447_i1(int i1, double f) { 68 return f; 69 } 70 71 public static double b17325447_i2(int i1, int i2, double f) { 72 return f; 73 } 74 75 public static double b17325447_i3(int i1, int i2, int i3, double f) { 76 return f; 77 } 78 79 public static void b17325447() { 80 // b/17325447 - x86 handling of special identity method w/ double spanning reg/mem. 81 double d = 0.0; 82 d += b17325447_i1(123, 1.0); 83 d += b17325447_i2(123, 456, 2.0); 84 d += b17325447_i3(123, 456, 789, 3.0); 85 if (d == 6.0) { 86 System.out.println("b17325447 passes"); 87 } else { 88 System.out.println("b17325447 fails: " + d); 89 } 90 } 91 92 public static void b17630605() { 93 // b/17630605 - failure to properly handle min long immediates. 94 long a1 = 40455547223404749L; 95 long a2 = Long.MIN_VALUE; 96 long answer = a1 + a2; 97 if (answer == -9182916489631371059L) { 98 System.out.println("b17630605 passes"); 99 } else { 100 System.out.println("b17630605 fails: " + answer); 101 } 102 } 103 104 public static void b17411468() { 105 // b/17411468 - inline Math.round failure. 106 double d1 = 1.0; 107 double d2 = Math.round(d1); 108 if (d1 == d2) { 109 System.out.println("b17411468 passes"); 110 } else { 111 System.out.println("b17411468 fails: Math.round(" + d1 + ") returned " + d2); 112 } 113 } 114 115 public static double minDouble(double a, double b, double c) { 116 return Math.min(Math.min(a, b), c); 117 } 118 119 public static void minDoubleWith3ConstsTest() { 120 double result = minDouble(1.2, 2.5, Double.NaN); 121 if (Double.isNaN(result)) { 122 System.out.println("minDoubleWith3ConstsTest passes"); 123 } else { 124 System.out.println("minDoubleWith3ConstsTest fails: " + result + 125 " (expecting NaN)"); 126 } 127 } 128 129 public static void atomicLong() { 130 AtomicLong atomicLong = new AtomicLong(); 131 atomicLong.addAndGet(3); 132 atomicLong.addAndGet(2); 133 atomicLong.addAndGet(1); 134 long result = atomicLong.get(); 135 System.out.println(result == 6L ? "atomicLong passes" : 136 ("atomicLong failes: returns " + result + ", expected 6") 137 ); 138 } 139 140 public static void returnConstantTest() { 141 long res = const0x1234(); 142 res += const0x123443211234(); 143 Foo foo = new Foo(); 144 res += foo.iConst0x1234(); 145 res += foo.iConst0x123443211234(); 146 if (res == 40031347689680L) { 147 System.out.println("returnConstantTest passes"); 148 } 149 else { 150 System.out.println("returnConstantTest fails: " + res + 151 " (expecting 40031347689680)"); 152 } 153 } 154 155 static void wideIdentityTest() { 156 Foo foo = new Foo(); 157 long i = 0x200000001L; 158 i += foo.wideIdent0(i); 159 i += foo.wideIdent1(0,i); 160 i += foo.wideIdent2(0,0,i); 161 i += foo.wideIdent3(0,0,0,i); 162 i += foo.wideIdent4(0,0,0,0,i); 163 i += foo.wideIdent5(0,0,0,0,0,i); 164 if (i == 0x8000000040L) { 165 System.out.println("wideIdentityTest passes"); 166 } 167 else { 168 System.out.println("wideIdentityTest fails: 0x" + Long.toHexString(i) + 169 " (expecting 0x8000000040)"); 170 } 171 } 172 173 static void wideGetterSetterTest() { 174 Foo foo = new Foo(); 175 long sum = foo.wideGetBar0(); 176 sum += foo.wideGetBar1(1); 177 foo.wideSetBar1(sum); 178 sum += foo.wideGetBar2(1,2); 179 foo.wideSetBar2(0,sum); 180 sum += foo.wideGetBar3(1,2,3); 181 foo.wideSetBar3(0,0,sum); 182 sum += foo.wideGetBar4(1,2,3,4); 183 foo.wideSetBar4(0,0,0,sum); 184 sum += foo.wideGetBar5(1,2,3,4,5); 185 foo.wideSetBar5(0,0,0,0,sum); 186 long result1 = foo.wideGetBar0(); 187 long expected1 = 1234L << 5; 188 sum += foo.wideGetBar0(); 189 foo.wideSetBar2i(0,sum); 190 sum += foo.wideGetBar0(); 191 foo.wideSetBar3i(0,0,sum); 192 sum += foo.wideGetBar0(); 193 foo.wideSetBar4i(0,0,0,sum); 194 sum += foo.wideGetBar0(); 195 foo.wideSetBar5i(0,0,0,0,sum); 196 long result2 = foo.wideGetBar0(); 197 long expected2 = 1234L << 9; 198 if (result1 == expected1 && result2 == expected2) { 199 System.out.println("wideGetterSetterTest passes"); 200 } 201 else { 202 System.out.println("wideGetterSetterTest fails: " + 203 "result1: " + result1 + " (expecting " + expected1 + "), " + 204 "result2: " + result2 + " (expecting " + expected2 + ")"); 205 } 206 } 207 208 static void identityTest() { 209 Foo foo = new Foo(); 210 int i = 1; 211 i += foo.ident0(i); 212 i += foo.ident1(0,i); 213 i += foo.ident2(0,0,i); 214 i += foo.ident3(0,0,0,i); 215 i += foo.ident4(0,0,0,0,i); 216 i += foo.ident5(0,0,0,0,0,i); 217 if (i == 64) { 218 System.out.println("identityTest passes"); 219 } 220 else { 221 System.out.println("identityTest fails: " + i + 222 " (expecting 64)"); 223 } 224 } 225 226 static void getterSetterTest() { 227 Foo foo = new Foo(); 228 int sum = foo.getBar0(); 229 sum += foo.getBar1(1); 230 foo.setBar1(sum); 231 sum += foo.getBar2(1,2); 232 foo.setBar2(0,sum); 233 sum += foo.getBar3(1,2,3); 234 foo.setBar3(0,0,sum); 235 sum += foo.getBar4(1,2,3,4); 236 foo.setBar4(0,0,0,sum); 237 sum += foo.getBar5(1,2,3,4,5); 238 foo.setBar5(0,0,0,0,sum); 239 Foo nullFoo = null; 240 try { 241 sum += Foo.barBar(nullFoo); 242 } catch(NullPointerException npe) { 243 sum += 404; 244 } 245 foo.setBar1(sum); 246 if (foo.getBar0() == 39892) { 247 System.out.println("getterSetterTest passes"); 248 } 249 else { 250 System.out.println("getterSetterTest fails: " + foo.getBar0() + 251 " (expecting 39892)"); 252 } 253 } 254 255 static void setterTestWithReturnArgIgnoreReturn() { 256 Foo foo = new Foo(); 257 int sum = foo.getBar0(); 258 sum += foo.getBar0(); 259 foo.setBar1ReturnThis(sum); 260 sum += foo.getBar0(); 261 foo.setBar2ReturnThis(1,sum); 262 sum += foo.getBar0(); 263 foo.setBar3ReturnThis(1,2,sum); 264 sum += foo.getBar0(); 265 foo.setBar4ReturnThis(1,2,3,sum); 266 sum += foo.getBar0(); 267 foo.setBar5ReturnThis(1,2,3,4,sum); 268 sum += foo.getBar0(); 269 foo.setBar1ReturnBarArg(sum); 270 sum += foo.getBar0(); 271 foo.setBar2ReturnBarArg(1,sum); 272 sum += foo.getBar0(); 273 foo.setBar3ReturnBarArg(1,2,sum); 274 sum += foo.getBar0(); 275 foo.setBar4ReturnBarArg(1,2,3,sum); 276 sum += foo.getBar0(); 277 foo.setBar5ReturnBarArg(1,2,3,4,sum); 278 sum += foo.getBar0(); 279 foo.setBar2ReturnDummyArg1(1,sum); 280 sum += foo.getBar0(); 281 foo.setBar3ReturnDummyArg2(1,2,sum); 282 sum += foo.getBar0(); 283 foo.setBar4ReturnDummyArg3(1,2,3,sum); 284 sum += foo.getBar0(); 285 foo.setBar5ReturnDummyArg4(1,2,3,4,sum); 286 sum += foo.getBar0(); 287 Foo nullFoo = Foo.getNullFoo(); 288 try { 289 nullFoo.setBar1ReturnThis(sum); 290 } catch(NullPointerException npe) { 291 sum += 404; 292 } 293 try { 294 nullFoo.setBar2ReturnThis(1, sum); 295 } catch(NullPointerException npe) { 296 sum += 2 * 404; 297 } 298 try { 299 nullFoo.setBar3ReturnThis(1, 2, sum); 300 } catch(NullPointerException npe) { 301 sum += 3 * 404; 302 } 303 try { 304 nullFoo.setBar4ReturnThis(1, 2, 3, sum); 305 } catch(NullPointerException npe) { 306 sum += 4 * 404; 307 } 308 try { 309 nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum); 310 } catch(NullPointerException npe) { 311 sum += 5 * 404; 312 } 313 try { 314 nullFoo.setBar1ReturnBarArg(sum); 315 } catch(NullPointerException npe) { 316 sum += 6 * 404; 317 } 318 try { 319 nullFoo.setBar2ReturnBarArg(1, sum); 320 } catch(NullPointerException npe) { 321 sum += 7 * 404; 322 } 323 try { 324 nullFoo.setBar3ReturnBarArg(1, 2, sum); 325 } catch(NullPointerException npe) { 326 sum += 8 * 404; 327 } 328 try { 329 nullFoo.setBar4ReturnBarArg(1, 2, 3, sum); 330 } catch(NullPointerException npe) { 331 sum += 9 * 404; 332 } 333 try { 334 nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum); 335 } catch(NullPointerException npe) { 336 sum += 10 * 404; 337 } 338 try { 339 nullFoo.setBar2ReturnDummyArg1(1, sum); 340 } catch(NullPointerException npe) { 341 sum += 11 * 404; 342 } 343 try { 344 nullFoo.setBar3ReturnDummyArg2(1, 2, sum); 345 } catch(NullPointerException npe) { 346 sum += 12 * 404; 347 } 348 try { 349 nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum); 350 } catch(NullPointerException npe) { 351 sum += 13 * 404; 352 } 353 try { 354 nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum); 355 } catch(NullPointerException npe) { 356 sum += 14 * 404; 357 } 358 int expected = (1234 << 15) + 404 * (15 * 14 / 2); 359 if (sum == expected) { 360 System.out.println("setterTestWithReturnArgIgnoreReturn passes"); 361 } 362 else { 363 System.out.println("setterTestWithReturnArgIgnoreReturn fails: " + sum + 364 " (expecting " + expected + ")"); 365 } 366 } 367 368 static void setterTestWithReturnArgUseReturn() { 369 Foo foo = new Foo(); 370 int sum = foo.getBar0(); 371 int sumDummy = 0; 372 sum += foo.getBar0(); 373 Foo foo2 = foo.setBar1ReturnThis(sum); 374 sum += foo2.getBar0(); 375 foo = foo2.setBar2ReturnThis(1,sum); 376 sum += foo.getBar0(); 377 foo2 = foo.setBar3ReturnThis(1,2,sum); 378 sum += foo2.getBar0(); 379 foo = foo2.setBar4ReturnThis(1,2,3,sum); 380 sum += foo.getBar0(); 381 foo = foo.setBar5ReturnThis(1,2,3,4,sum); 382 sum += foo.getBar0(); 383 sum += foo.setBar1ReturnBarArg(sum); 384 sum += foo.getBar0(); 385 sum += foo.setBar2ReturnBarArg(1,sum); 386 sum += foo.getBar0(); 387 sum += foo.setBar3ReturnBarArg(1,2,sum); 388 sum += foo.getBar0(); 389 sum += foo.setBar4ReturnBarArg(1,2,3,sum); 390 sum += foo.getBar0(); 391 sum += foo.setBar5ReturnBarArg(1,2,3,4,sum); 392 sum += foo.getBar0(); 393 sumDummy += foo.setBar2ReturnDummyArg1(1,sum); 394 sum += foo.getBar0(); 395 sumDummy += foo.setBar3ReturnDummyArg2(1,2,sum); 396 sum += foo.getBar0(); 397 sumDummy += foo.setBar4ReturnDummyArg3(1,2,3,sum); 398 sum += foo.getBar0(); 399 sumDummy += foo.setBar5ReturnDummyArg4(1,2,3,4,sum); 400 sum += foo.getBar0(); 401 Foo nullFoo = Foo.getNullFoo(); 402 try { 403 foo = nullFoo.setBar1ReturnThis(sum); 404 } catch(NullPointerException npe) { 405 sum += 404; 406 } 407 try { 408 foo = nullFoo.setBar2ReturnThis(1, sum); 409 } catch(NullPointerException npe) { 410 sum += 2 * 404; 411 } 412 try { 413 foo = nullFoo.setBar3ReturnThis(1, 2, sum); 414 } catch(NullPointerException npe) { 415 sum += 3 * 404; 416 } 417 try { 418 foo = nullFoo.setBar4ReturnThis(1, 2, 3, sum); 419 } catch(NullPointerException npe) { 420 sum += 4 * 404; 421 } 422 try { 423 foo = nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum); 424 } catch(NullPointerException npe) { 425 sum += 5 * 404; 426 } 427 try { 428 sum += nullFoo.setBar1ReturnBarArg(sum); 429 } catch(NullPointerException npe) { 430 sum += 6 * 404; 431 } 432 try { 433 sum += nullFoo.setBar2ReturnBarArg(1, sum); 434 } catch(NullPointerException npe) { 435 sum += 7 * 404; 436 } 437 try { 438 sum += nullFoo.setBar3ReturnBarArg(1, 2, sum); 439 } catch(NullPointerException npe) { 440 sum += 8 * 404; 441 } 442 try { 443 sum += nullFoo.setBar4ReturnBarArg(1, 2, 3, sum); 444 } catch(NullPointerException npe) { 445 sum += 9 * 404; 446 } 447 try { 448 sum += nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum); 449 } catch(NullPointerException npe) { 450 sum += 10 * 404; 451 } 452 try { 453 sumDummy += nullFoo.setBar2ReturnDummyArg1(1, sum); 454 } catch(NullPointerException npe) { 455 sum += 11 * 404; 456 } 457 try { 458 sumDummy += nullFoo.setBar3ReturnDummyArg2(1, 2, sum); 459 } catch(NullPointerException npe) { 460 sum += 12 * 404; 461 } 462 try { 463 sumDummy += nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum); 464 } catch(NullPointerException npe) { 465 sum += 13 * 404; 466 } 467 try { 468 sumDummy += nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum); 469 } catch(NullPointerException npe) { 470 sum += 14 * 404; 471 } 472 int expected = (1234 << 10) * 3 * 3 * 3 * 3 * 3 + 404 * (15 * 14 / 2); 473 int expectedDummy = 5 * 4 / 2; 474 if (sum == expected && sumDummy == expectedDummy) { 475 System.out.println("setterTestWithReturnArgUseReturn passes"); 476 } 477 else { 478 System.out.println("setterTestWithReturnArgUseReturn fails: " + sum + 479 " (expecting " + expected + "), sumDummy = " + sumDummy + 480 "(expecting " + expectedDummy + ")"); 481 } 482 } 483 484 static void wideSetterTestWithReturnArgIgnoreReturn() { 485 Foo foo = new Foo(); 486 long sum = foo.wideGetBar0(); 487 sum += foo.wideGetBar0(); 488 foo.wideSetBar1ReturnThis(sum); 489 sum += foo.wideGetBar0(); 490 foo.wideSetBar2ReturnThis(1,sum); 491 sum += foo.wideGetBar0(); 492 foo.wideSetBar3ReturnThis(1,2,sum); 493 sum += foo.wideGetBar0(); 494 foo.wideSetBar4ReturnThis(1,2,3,sum); 495 sum += foo.wideGetBar0(); 496 foo.wideSetBar5ReturnThis(1,2,3,4,sum); 497 sum += foo.wideGetBar0(); 498 foo.wideSetBar1ReturnBarArg(sum); 499 sum += foo.wideGetBar0(); 500 foo.wideSetBar2ReturnBarArg(1,sum); 501 sum += foo.wideGetBar0(); 502 foo.wideSetBar3ReturnBarArg(1,2,sum); 503 sum += foo.wideGetBar0(); 504 foo.wideSetBar4ReturnBarArg(1,2,3,sum); 505 sum += foo.wideGetBar0(); 506 foo.wideSetBar5ReturnBarArg(1,2,3,4,sum); 507 sum += foo.wideGetBar0(); 508 foo.wideSetBar2iReturnBarArg(1,sum); 509 sum += foo.wideGetBar0(); 510 foo.wideSetBar3iReturnBarArg(1,2,sum); 511 sum += foo.wideGetBar0(); 512 foo.wideSetBar4iReturnBarArg(1,2,3,sum); 513 sum += foo.wideGetBar0(); 514 foo.wideSetBar5iReturnBarArg(1,2,3,4,sum); 515 sum += foo.wideGetBar0(); 516 foo.wideSetBar2ReturnDummyArg1(1,sum); 517 sum += foo.wideGetBar0(); 518 foo.wideSetBar3ReturnDummyArg2(1,2,sum); 519 sum += foo.wideGetBar0(); 520 foo.wideSetBar4ReturnDummyArg3(1,2,3,sum); 521 sum += foo.wideGetBar0(); 522 foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum); 523 sum += foo.wideGetBar0(); 524 foo.wideSetBar2iReturnDummyArg1(1,sum); 525 sum += foo.wideGetBar0(); 526 foo.wideSetBar3iReturnDummyArg2(1,2,sum); 527 sum += foo.wideGetBar0(); 528 foo.wideSetBar4iReturnDummyArg3(1,2,3,sum); 529 sum += foo.wideGetBar0(); 530 foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum); 531 sum += foo.wideGetBar0(); 532 Foo nullFoo = Foo.getNullFoo(); 533 try { 534 nullFoo.wideSetBar1ReturnThis(sum); 535 } catch(NullPointerException npe) { 536 sum += 404; 537 } 538 try { 539 nullFoo.wideSetBar2ReturnThis(1, sum); 540 } catch(NullPointerException npe) { 541 sum += 2 * 404; 542 } 543 try { 544 nullFoo.wideSetBar3ReturnThis(1, 2, sum); 545 } catch(NullPointerException npe) { 546 sum += 3 * 404; 547 } 548 try { 549 nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum); 550 } catch(NullPointerException npe) { 551 sum += 4 * 404; 552 } 553 try { 554 nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum); 555 } catch(NullPointerException npe) { 556 sum += 5 * 404; 557 } 558 try { 559 nullFoo.wideSetBar1ReturnBarArg(sum); 560 } catch(NullPointerException npe) { 561 sum += 6 * 404; 562 } 563 try { 564 nullFoo.wideSetBar2ReturnBarArg(1, sum); 565 } catch(NullPointerException npe) { 566 sum += 7 * 404; 567 } 568 try { 569 nullFoo.wideSetBar3ReturnBarArg(1, 2, sum); 570 } catch(NullPointerException npe) { 571 sum += 8 * 404; 572 } 573 try { 574 nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum); 575 } catch(NullPointerException npe) { 576 sum += 9 * 404; 577 } 578 try { 579 nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum); 580 } catch(NullPointerException npe) { 581 sum += 10 * 404; 582 } 583 try { 584 nullFoo.wideSetBar2iReturnBarArg(1, sum); 585 } catch(NullPointerException npe) { 586 sum += 11 * 404; 587 } 588 try { 589 nullFoo.wideSetBar3iReturnBarArg(1, 2, sum); 590 } catch(NullPointerException npe) { 591 sum += 12 * 404; 592 } 593 try { 594 nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum); 595 } catch(NullPointerException npe) { 596 sum += 13 * 404; 597 } 598 try { 599 nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum); 600 } catch(NullPointerException npe) { 601 sum += 14 * 404; 602 } 603 try { 604 nullFoo.wideSetBar2ReturnDummyArg1(1, sum); 605 } catch(NullPointerException npe) { 606 sum += 15 * 404; 607 } 608 try { 609 nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum); 610 } catch(NullPointerException npe) { 611 sum += 16 * 404; 612 } 613 try { 614 nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum); 615 } catch(NullPointerException npe) { 616 sum += 17 * 404; 617 } 618 try { 619 nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum); 620 } catch(NullPointerException npe) { 621 sum += 18 * 404; 622 } 623 try { 624 nullFoo.wideSetBar2iReturnDummyArg1(1, sum); 625 } catch(NullPointerException npe) { 626 sum += 19 * 404; 627 } 628 try { 629 nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum); 630 } catch(NullPointerException npe) { 631 sum += 20 * 404; 632 } 633 try { 634 nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum); 635 } catch(NullPointerException npe) { 636 sum += 21 * 404; 637 } 638 try { 639 nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum); 640 } catch(NullPointerException npe) { 641 sum += 22 * 404; 642 } 643 long expected = (1234L << 23) + 404 * (23 * 22 / 2); 644 if (sum == expected) { 645 System.out.println("wideSetterTestWithReturnArgIgnoreReturn passes"); 646 } 647 else { 648 System.out.println("wideSetterTestWithReturnArgIgnoreReturn fails: " + sum + 649 " (expecting " + expected + ")"); 650 } 651 } 652 653 static void wideSetterTestWithReturnArgUseReturn() { 654 Foo foo = new Foo(); 655 long sum = foo.wideGetBar0(); 656 long sumDummy = 0; 657 sum += foo.wideGetBar0(); 658 Foo foo2 = foo.wideSetBar1ReturnThis(sum); 659 sum += foo2.wideGetBar0(); 660 foo = foo2.wideSetBar2ReturnThis(1,sum); 661 sum += foo.wideGetBar0(); 662 foo2 = foo.wideSetBar3ReturnThis(1,2,sum); 663 sum += foo2.wideGetBar0(); 664 foo = foo2.wideSetBar4ReturnThis(1,2,3,sum); 665 sum += foo.wideGetBar0(); 666 foo = foo.wideSetBar5ReturnThis(1,2,3,4,sum); 667 sum += foo.wideGetBar0(); 668 sum += foo.wideSetBar1ReturnBarArg(sum); 669 sum += foo.wideGetBar0(); 670 sum += foo.wideSetBar2ReturnBarArg(1,sum); 671 sum += foo.wideGetBar0(); 672 sum += foo.wideSetBar3ReturnBarArg(1,2,sum); 673 sum += foo.wideGetBar0(); 674 sum += foo.wideSetBar4ReturnBarArg(1,2,3,sum); 675 sum += foo.wideGetBar0(); 676 sum += foo.wideSetBar5ReturnBarArg(1,2,3,4,sum); 677 sum += foo.wideGetBar0(); 678 sum += foo.wideSetBar2iReturnBarArg(1,sum); 679 sum += foo.wideGetBar0(); 680 sum += foo.wideSetBar3iReturnBarArg(1,2,sum); 681 sum += foo.wideGetBar0(); 682 sum += foo.wideSetBar4iReturnBarArg(1,2,3,sum); 683 sum += foo.wideGetBar0(); 684 sum += foo.wideSetBar5iReturnBarArg(1,2,3,4,sum); 685 sum += foo.wideGetBar0(); 686 sumDummy += foo.wideSetBar2ReturnDummyArg1(1,sum); 687 sum += foo.wideGetBar0(); 688 sumDummy += foo.wideSetBar3ReturnDummyArg2(1,2,sum); 689 sum += foo.wideGetBar0(); 690 sumDummy += foo.wideSetBar4ReturnDummyArg3(1,2,3,sum); 691 sum += foo.wideGetBar0(); 692 sumDummy += foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum); 693 sum += foo.wideGetBar0(); 694 sumDummy += foo.wideSetBar2iReturnDummyArg1(1,sum); 695 sum += foo.wideGetBar0(); 696 sumDummy += foo.wideSetBar3iReturnDummyArg2(1,2,sum); 697 sum += foo.wideGetBar0(); 698 sumDummy += foo.wideSetBar4iReturnDummyArg3(1,2,3,sum); 699 sum += foo.wideGetBar0(); 700 sumDummy += foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum); 701 sum += foo.wideGetBar0(); 702 Foo nullFoo = Foo.getNullFoo(); 703 try { 704 foo = nullFoo.wideSetBar1ReturnThis(sum); 705 } catch(NullPointerException npe) { 706 sum += 404; 707 } 708 try { 709 foo = nullFoo.wideSetBar2ReturnThis(1, sum); 710 } catch(NullPointerException npe) { 711 sum += 2 * 404; 712 } 713 try { 714 foo = nullFoo.wideSetBar3ReturnThis(1, 2, sum); 715 } catch(NullPointerException npe) { 716 sum += 3 * 404; 717 } 718 try { 719 foo = nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum); 720 } catch(NullPointerException npe) { 721 sum += 4 * 404; 722 } 723 try { 724 foo = nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum); 725 } catch(NullPointerException npe) { 726 sum += 5 * 404; 727 } 728 try { 729 sum += nullFoo.wideSetBar1ReturnBarArg(sum); 730 } catch(NullPointerException npe) { 731 sum += 6 * 404; 732 } 733 try { 734 sum += nullFoo.wideSetBar2ReturnBarArg(1, sum); 735 } catch(NullPointerException npe) { 736 sum += 7 * 404; 737 } 738 try { 739 sum += nullFoo.wideSetBar3ReturnBarArg(1, 2, sum); 740 } catch(NullPointerException npe) { 741 sum += 8 * 404; 742 } 743 try { 744 sum += nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum); 745 } catch(NullPointerException npe) { 746 sum += 9 * 404; 747 } 748 try { 749 sum += nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum); 750 } catch(NullPointerException npe) { 751 sum += 10 * 404; 752 } 753 try { 754 sum += nullFoo.wideSetBar2iReturnBarArg(1, sum); 755 } catch(NullPointerException npe) { 756 sum += 11 * 404; 757 } 758 try { 759 sum += nullFoo.wideSetBar3iReturnBarArg(1, 2, sum); 760 } catch(NullPointerException npe) { 761 sum += 12 * 404; 762 } 763 try { 764 sum += nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum); 765 } catch(NullPointerException npe) { 766 sum += 13 * 404; 767 } 768 try { 769 sum += nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum); 770 } catch(NullPointerException npe) { 771 sum += 14 * 404; 772 } 773 try { 774 sumDummy += nullFoo.wideSetBar2ReturnDummyArg1(1, sum); 775 } catch(NullPointerException npe) { 776 sum += 15 * 404; 777 } 778 try { 779 sumDummy += nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum); 780 } catch(NullPointerException npe) { 781 sum += 16 * 404; 782 } 783 try { 784 sumDummy += nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum); 785 } catch(NullPointerException npe) { 786 sum += 17 * 404; 787 } 788 try { 789 sumDummy += nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum); 790 } catch(NullPointerException npe) { 791 sum += 18 * 404; 792 } 793 try { 794 sumDummy += nullFoo.wideSetBar2iReturnDummyArg1(1, sum); 795 } catch(NullPointerException npe) { 796 sum += 19 * 404; 797 } 798 try { 799 sumDummy += nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum); 800 } catch(NullPointerException npe) { 801 sum += 20 * 404; 802 } 803 try { 804 sumDummy += nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum); 805 } catch(NullPointerException npe) { 806 sum += 21 * 404; 807 } 808 try { 809 sumDummy += nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum); 810 } catch(NullPointerException npe) { 811 sum += 22 * 404; 812 } 813 long expected = (1234L << 14) * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 + 404 * (23 * 22 / 2); 814 long expectedDummy = 2 * (5 * 4 / 2); 815 if (sum == expected && sumDummy == expectedDummy) { 816 System.out.println("wideSetterTestWithReturnArgUseReturn passes"); 817 } 818 else { 819 System.out.println("wideSetterTestWithReturnArgUseReturn fails: " + sum + 820 " (expecting " + expected + "), sumDummy = " + sumDummy + 821 "(expecting " + expectedDummy + ")"); 822 } 823 } 824 825 static void mulBy1Test() { 826 long res; 827 long j = 1; 828 res = 1 * j + j; 829 if (res == 2L) { 830 System.out.println("mulBy1Test passes"); 831 } 832 else { 833 System.out.println("mulBy1Test fails: " + res + 834 " (expecting 2)"); 835 } 836 } 837 838 static void constantPropagationTest() { 839 int i = 1; 840 int t = 1; 841 float z = 1F; 842 long h = 1L; 843 int g[] = new int[1]; 844 int w = 1; 845 long f = 0; 846 847 for (int a = 1; a < 100; a++) { 848 try { 849 i = (int)(z); 850 h >>= (0 % t); 851 } 852 finally { 853 w = (int)(2 * (f * 6)); 854 } 855 } 856 857 if (w == 0 && h == 1 && g[0] == 0) { 858 System.out.println("constantPropagationTest passes"); 859 } else { 860 System.out.println("constantPropagationTest fails"); 861 } 862 } 863 864 static void b2296099Test() throws Exception { 865 int x = -1190771042; 866 int dist = 360530809; 867 int xl = -1190771042; 868 int distl = 360530809; 869 870 for (int i = 0; i < 100000; i++) { 871 int b = rotateLeft(x, dist); 872 if (b != 1030884493) 873 throw new RuntimeException("Unexpected value: " + b 874 + " after " + i + " iterations"); 875 } 876 for (int i = 0; i < 100000; i++) { 877 long bl = rotateLeft(xl, distl); 878 if (bl != 1030884493) 879 throw new RuntimeException("Unexpected value: " + bl 880 + " after " + i + " iterations"); 881 } 882 System.out.println("b2296099 passes"); 883 } 884 885 static int rotateLeft(int i, int distance) { 886 return ((i << distance) | (i >>> (-distance))); 887 } 888 889 static void b2302318Test() { 890 Runtime.getRuntime().gc(); 891 892 SpinThread slow = new SpinThread(Thread.MIN_PRIORITY); 893 SpinThread fast1 = new SpinThread(Thread.NORM_PRIORITY); 894 SpinThread fast2 = new SpinThread(Thread.MAX_PRIORITY); 895 896 slow.setDaemon(true); 897 fast1.setDaemon(true); 898 fast2.setDaemon(true); 899 900 fast2.start(); 901 slow.start(); 902 fast1.start(); 903 try { 904 Thread.sleep(3000); 905 } catch (InterruptedException ie) {/*ignore */} 906 Runtime.getRuntime().gc(); 907 908 System.out.println("b2302318 passes"); 909 } 910 911 static void b2487514Test() { 912 PriorityBlockingQueue q = new PriorityBlockingQueue(10); 913 int catchCount = 0; 914 915 q.offer(new Integer(0)); 916 /* 917 * Warm up the code cache to have toArray() compiled. The key here is 918 * to pass a compatible type so that there are no exceptions when 919 * executing the method body (ie the APUT_OBJECT bytecode). 920 */ 921 for (int i = 0; i < 1000; i++) { 922 Integer[] ints = (Integer[]) q.toArray(new Integer[5]); 923 } 924 925 /* Now pass an incompatible type which is guaranteed to throw */ 926 for (int i = 0; i < 1000; i++) { 927 try { 928 Object[] obj = q.toArray(new String[5]); 929 } 930 catch (ArrayStoreException success) { 931 catchCount++; 932 } 933 } 934 935 if (catchCount == 1000) { 936 System.out.println("b2487514 passes"); 937 } 938 else { 939 System.out.println("b2487514 fails: catchCount is " + catchCount + 940 " (expecting 1000)"); 941 } 942 } 943 944 static void b5884080Test() { 945 int vA = 1; 946 947 int l = 0; 948 do 949 { 950 int k = 0; 951 do 952 vA += 1; 953 while (++k < 100); 954 } while (++l < 1000); 955 if (vA == 100001) { 956 System.out.println("b5884080 passes"); 957 } 958 else { 959 System.out.println("b5884080 fails: vA is " + vA + 960 " (expecting 100001)"); 961 } 962 } 963 964 static void b13679511Test() { 965 System.out.println("b13679511Test starting"); 966 int[] nn = { 1, 2, 3, 4 }; 967 for (int i : nn) { 968 System.out.println(i); 969 } 970 int len = nn.length; 971 System.out.println(nn.length); 972 System.out.println(nn.length % 3); 973 System.out.println(len % 3); 974 System.out.println(4 % 3); 975 System.out.println((nn.length % 3) != 1); 976 System.out.println("b13679511Test finishing"); 977 } 978 979 static void b16177324TestWrapper() { 980 try { 981 b16177324Test(); 982 } catch (NullPointerException expected) { 983 System.out.println("b16177324TestWrapper caught NPE as expected."); 984 } 985 } 986 987 static void b16177324Test() { 988 // We need this to be a single BasicBlock. Putting it into a try block would cause it to 989 // be split at each insn that can throw. So we do the try-catch in a wrapper function. 990 int v1 = B16177324Values.values[0]; // Null-check on array element access. 991 int v2 = B16177324ValuesKiller.values[0]; // clinit<>() sets B16177324Values.values to null. 992 int v3 = B16177324Values.values[0]; // Should throw NPE. 993 // If the null-check for v3 was eliminated we should fail with SIGSEGV. 994 System.out.println("Unexpectedly retrieved all values: " + v1 + ", " + v2 + ", " + v3); 995 } 996 997 static void b16230771TestWrapper() { 998 try { 999 b16230771Test(); 1000 } catch (NullPointerException expected) { 1001 System.out.println("b16230771TestWrapper caught NPE as expected."); 1002 } 1003 } 1004 1005 static void b16230771Test() { 1006 Integer[] array = { null }; 1007 for (Integer i : array) { 1008 try { 1009 int value = i; // Null check on unboxing should fail. 1010 System.out.println("Unexpectedly retrieved value " + value); 1011 } catch (NullPointerException e) { 1012 int value = i; // Null check on unboxing should fail. 1013 // The bug was a missing null check, so this would actually cause SIGSEGV. 1014 System.out.println("Unexpectedly retrieved value " + value + " in NPE catch handler"); 1015 } 1016 } 1017 } 1018 1019 static double TooManyArgs( 1020 long l00, 1021 long l01, 1022 long l02, 1023 long l03, 1024 long l04, 1025 long l05, 1026 long l06, 1027 long l07, 1028 long l08, 1029 long l09, 1030 long l10, 1031 long l11, 1032 long l12, 1033 long l13, 1034 long l14, 1035 long l15, 1036 long l16, 1037 long l17, 1038 long l18, 1039 long l19, 1040 long l20, 1041 long l21, 1042 long l22, 1043 long l23, 1044 long l24, 1045 long l25, 1046 long l26, 1047 long l27, 1048 long l28, 1049 long l29, 1050 long l30, 1051 long l31, 1052 long l32, 1053 long l33, 1054 long l34, 1055 long l35, 1056 long l36, 1057 long l37, 1058 long l38, 1059 long l39, 1060 long l40, 1061 long l41, 1062 long l42, 1063 long l43, 1064 long l44, 1065 long l45, 1066 long l46, 1067 long l47, 1068 long l48, 1069 long l49, 1070 long ll00, 1071 long ll01, 1072 long ll02, 1073 long ll03, 1074 long ll04, 1075 long ll05, 1076 long ll06, 1077 long ll07, 1078 long ll08, 1079 long ll09, 1080 long ll10, 1081 long ll11, 1082 long ll12, 1083 long ll13, 1084 long ll14, 1085 long ll15, 1086 long ll16, 1087 long ll17, 1088 long ll18, 1089 long ll19, 1090 double d01, 1091 double d02, 1092 double d03, 1093 double d04, 1094 double d05, 1095 double d06, 1096 double d07, 1097 double d08, 1098 double d09, 1099 double d10, 1100 double d11, 1101 double d12, 1102 double d13, 1103 double d14, 1104 double d15, 1105 double d16, 1106 double d17, 1107 double d18, 1108 double d19, 1109 double d20, 1110 double d21, 1111 double d22, 1112 double d23, 1113 double d24, 1114 double d25, 1115 double d26, 1116 double d27, 1117 double d28, 1118 double d29, 1119 double d30, 1120 double d31, 1121 double d32, 1122 double d33, 1123 double d34, 1124 double d35, 1125 double d36, 1126 double d37, 1127 double d38, 1128 double d39, 1129 double d40, 1130 double d41, 1131 double d42, 1132 double d43, 1133 double d44, 1134 double d45, 1135 double d46, 1136 double d47, 1137 double d48, 1138 double d49) { 1139 double res = 0.0; 1140 double t01 = d49; 1141 double t02 = 02.0 + t01; 1142 double t03 = 03.0 + t02; 1143 double t04 = 04.0 + t03; 1144 double t05 = 05.0 + t04; 1145 double t06 = 06.0 + t05; 1146 double t07 = 07.0 + t06; 1147 double t08 = 08.0 + t07; 1148 double t09 = 09.0 + t08; 1149 double t10 = 10.0 + t09; 1150 double t11 = 11.0 + t10; 1151 double t12 = 12.0 + t11; 1152 double t13 = 13.0 + t12; 1153 double t14 = 14.0 + t13; 1154 double t15 = 15.0 + t14; 1155 double t16 = 16.0 + t15; 1156 double t17 = 17.0 + t16; 1157 double t18 = 18.0 + t17; 1158 double t19 = 19.0 + t18; 1159 double t20 = 20.0 + t19; 1160 double t21 = 21.0 + t20; 1161 double t22 = 22.0 + t21; 1162 double t23 = 23.0 + t22; 1163 double t24 = 24.0 + t23; 1164 double t25 = 25.0 + t24; 1165 double t26 = 26.0 + t25; 1166 double t27 = 27.0 + t26; 1167 double t28 = 28.0 + t27; 1168 double t29 = 29.0 + t28; 1169 double t30 = 30.0 + t29; 1170 double t31 = 31.0 + t30; 1171 double t32 = 32.0 + t31; 1172 double t33 = 33.0 + t32; 1173 double t34 = 34.0 + t33; 1174 double t35 = 35.0 + t34; 1175 double t36 = 36.0 + t35; 1176 double t37 = 37.0 + t36; 1177 double t38 = 38.0 + t37; 1178 double t39 = 39.0 + t38; 1179 double t40 = 40.0 + t39; 1180 double tt02 = 02.0 + t40; 1181 double tt03 = 03.0 + tt02; 1182 double tt04 = 04.0 + tt03; 1183 double tt05 = 05.0 + tt04; 1184 double tt06 = 06.0 + tt05; 1185 double tt07 = 07.0 + tt06; 1186 double tt08 = 08.0 + tt07; 1187 double tt09 = 09.0 + tt08; 1188 double tt10 = 10.0 + tt09; 1189 double tt11 = 11.0 + tt10; 1190 double tt12 = 12.0 + tt11; 1191 double tt13 = 13.0 + tt12; 1192 double tt14 = 14.0 + tt13; 1193 double tt15 = 15.0 + tt14; 1194 double tt16 = 16.0 + tt15; 1195 double tt17 = 17.0 + tt16; 1196 double tt18 = 18.0 + tt17; 1197 double tt19 = 19.0 + tt18; 1198 double tt20 = 20.0 + tt19; 1199 double tt21 = 21.0 + tt20; 1200 double tt22 = 22.0 + tt21; 1201 double tt23 = 23.0 + tt22; 1202 double tt24 = 24.0 + tt23; 1203 double tt25 = 25.0 + tt24; 1204 double tt26 = 26.0 + tt25; 1205 double tt27 = 27.0 + tt26; 1206 double tt28 = 28.0 + tt27; 1207 double tt29 = 29.0 + tt28; 1208 double tt30 = 30.0 + tt29; 1209 double tt31 = 31.0 + tt30; 1210 double tt32 = 32.0 + tt31; 1211 double tt33 = 33.0 + tt32; 1212 double tt34 = 34.0 + tt33; 1213 double tt35 = 35.0 + tt34; 1214 double tt36 = 36.0 + tt35; 1215 double tt37 = 37.0 + tt36; 1216 double tt38 = 38.0 + tt37; 1217 double tt39 = 39.0 + tt38; 1218 double tt40 = 40.0 + tt39; 1219 double ttt02 = 02.0 + tt40; 1220 double ttt03 = 03.0 + ttt02; 1221 double ttt04 = 04.0 + ttt03; 1222 double ttt05 = 05.0 + ttt04; 1223 double ttt06 = 06.0 + ttt05; 1224 double ttt07 = 07.0 + ttt06; 1225 double ttt08 = 08.0 + ttt07; 1226 double ttt09 = 09.0 + ttt08; 1227 double ttt10 = 10.0 + ttt09; 1228 double ttt11 = 11.0 + ttt10; 1229 double ttt12 = 12.0 + ttt11; 1230 double ttt13 = 13.0 + ttt12; 1231 double ttt14 = 14.0 + ttt13; 1232 double ttt15 = 15.0 + ttt14; 1233 double ttt16 = 16.0 + ttt15; 1234 double ttt17 = 17.0 + ttt16; 1235 double ttt18 = 18.0 + ttt17; 1236 double ttt19 = 19.0 + ttt18; 1237 double ttt20 = 20.0 + ttt19; 1238 double ttt21 = 21.0 + ttt20; 1239 double ttt22 = 22.0 + ttt21; 1240 double ttt23 = 23.0 + ttt22; 1241 double ttt24 = 24.0 + ttt23; 1242 double ttt25 = 25.0 + ttt24; 1243 double ttt26 = 26.0 + ttt25; 1244 double ttt27 = 27.0 + ttt26; 1245 double ttt28 = 28.0 + ttt27; 1246 double ttt29 = 29.0 + ttt28; 1247 double ttt30 = 30.0 + ttt29; 1248 double ttt31 = 31.0 + ttt30; 1249 // Repeatedly use some doubles from the middle of the pack to trigger promotion from frame-passed args. 1250 for (int i = 0; i < 100; i++) { 1251 res += d40; 1252 res += d41; 1253 res += d42; 1254 res += d43; 1255 res += d44; 1256 res += d45; 1257 res += d46; 1258 res += d47; 1259 res += d48; 1260 } 1261 for (int i = 0; i < 100; i++) { 1262 res += d40; 1263 res += d41; 1264 res += d42; 1265 res += d43; 1266 res += d44; 1267 res += d45; 1268 res += d46; 1269 res += d47; 1270 res += d48; 1271 } 1272 for (int i = 0; i < 100; i++) { 1273 res += d40; 1274 res += d41; 1275 res += d42; 1276 res += d43; 1277 res += d44; 1278 res += d45; 1279 res += d46; 1280 res += d47; 1281 res += d48; 1282 } 1283 for (int i = 0; i < 100; i++) { 1284 res += d40; 1285 res += d41; 1286 res += d42; 1287 res += d43; 1288 res += d44; 1289 res += d45; 1290 res += d46; 1291 res += d47; 1292 res += d48; 1293 } 1294 return res + tt40; 1295 } 1296 1297 public static void ManyFloatArgs() { 1298 double res = TooManyArgs( 1299 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1300 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1301 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1302 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1303 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1304 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1305 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1306 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 1307 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 1308 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 1309 35.0, 36.0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49); 1310 if ((long)res == 160087) { 1311 System.out.println("ManyFloatArgs passes"); 1312 } else { 1313 System.out.println("ManyFloatArgs fails, expected 160087, got: " + res); 1314 } 1315 } 1316 static long largeFrame() { 1317 int i0 = 0; 1318 long l0 = 0; 1319 int i1 = 1; 1320 long l1 = 1; 1321 int i2 = 2; 1322 long l2 = 2; 1323 int i3 = 3; 1324 long l3 = 3; 1325 int i4 = 4; 1326 long l4 = 4; 1327 int i5 = 5; 1328 long l5 = 5; 1329 int i6 = 6; 1330 long l6 = 6; 1331 int i7 = 7; 1332 long l7 = 7; 1333 int i8 = 8; 1334 long l8 = 8; 1335 int i9 = 9; 1336 long l9 = 9; 1337 int i10 = 10; 1338 long l10 = 10; 1339 int i11 = 11; 1340 long l11 = 11; 1341 int i12 = 12; 1342 long l12 = 12; 1343 int i13 = 13; 1344 long l13 = 13; 1345 int i14 = 14; 1346 long l14 = 14; 1347 int i15 = 15; 1348 long l15 = 15; 1349 int i16 = 16; 1350 long l16 = 16; 1351 int i17 = 17; 1352 long l17 = 17; 1353 int i18 = 18; 1354 long l18 = 18; 1355 int i19 = 19; 1356 long l19 = 19; 1357 int i20 = 20; 1358 long l20 = 20; 1359 int i21 = 21; 1360 long l21 = 21; 1361 int i22 = 22; 1362 long l22 = 22; 1363 int i23 = 23; 1364 long l23 = 23; 1365 int i24 = 24; 1366 long l24 = 24; 1367 int i25 = 25; 1368 long l25 = 25; 1369 int i26 = 26; 1370 long l26 = 26; 1371 int i27 = 27; 1372 long l27 = 27; 1373 int i28 = 28; 1374 long l28 = 28; 1375 int i29 = 29; 1376 long l29 = 29; 1377 int i30 = 30; 1378 long l30 = 30; 1379 int i31 = 31; 1380 long l31 = 31; 1381 int i32 = 32; 1382 long l32 = 32; 1383 int i33 = 33; 1384 long l33 = 33; 1385 int i34 = 34; 1386 long l34 = 34; 1387 int i35 = 35; 1388 long l35 = 35; 1389 int i36 = 36; 1390 long l36 = 36; 1391 int i37 = 37; 1392 long l37 = 37; 1393 int i38 = 38; 1394 long l38 = 38; 1395 int i39 = 39; 1396 long l39 = 39; 1397 int i40 = 40; 1398 long l40 = 40; 1399 int i41 = 41; 1400 long l41 = 41; 1401 int i42 = 42; 1402 long l42 = 42; 1403 int i43 = 43; 1404 long l43 = 43; 1405 int i44 = 44; 1406 long l44 = 44; 1407 int i45 = 45; 1408 long l45 = 45; 1409 int i46 = 46; 1410 long l46 = 46; 1411 int i47 = 47; 1412 long l47 = 47; 1413 int i48 = 48; 1414 long l48 = 48; 1415 int i49 = 49; 1416 long l49 = 49; 1417 int i50 = 50; 1418 long l50 = 50; 1419 int i51 = 51; 1420 long l51 = 51; 1421 int i52 = 52; 1422 long l52 = 52; 1423 int i53 = 53; 1424 long l53 = 53; 1425 int i54 = 54; 1426 long l54 = 54; 1427 int i55 = 55; 1428 long l55 = 55; 1429 int i56 = 56; 1430 long l56 = 56; 1431 int i57 = 57; 1432 long l57 = 57; 1433 int i58 = 58; 1434 long l58 = 58; 1435 int i59 = 59; 1436 long l59 = 59; 1437 int i60 = 60; 1438 long l60 = 60; 1439 int i61 = 61; 1440 long l61 = 61; 1441 int i62 = 62; 1442 long l62 = 62; 1443 int i63 = 63; 1444 long l63 = 63; 1445 int i64 = 64; 1446 long l64 = 64; 1447 int i65 = 65; 1448 long l65 = 65; 1449 int i66 = 66; 1450 long l66 = 66; 1451 int i67 = 67; 1452 long l67 = 67; 1453 int i68 = 68; 1454 long l68 = 68; 1455 int i69 = 69; 1456 long l69 = 69; 1457 int i70 = 70; 1458 long l70 = 70; 1459 int i71 = 71; 1460 long l71 = 71; 1461 int i72 = 72; 1462 long l72 = 72; 1463 int i73 = 73; 1464 long l73 = 73; 1465 int i74 = 74; 1466 long l74 = 74; 1467 int i75 = 75; 1468 long l75 = 75; 1469 int i76 = 76; 1470 long l76 = 76; 1471 int i77 = 77; 1472 long l77 = 77; 1473 int i78 = 78; 1474 long l78 = 78; 1475 int i79 = 79; 1476 long l79 = 79; 1477 int i80 = 80; 1478 long l80 = 80; 1479 int i81 = 81; 1480 long l81 = 81; 1481 int i82 = 82; 1482 long l82 = 82; 1483 int i83 = 83; 1484 long l83 = 83; 1485 int i84 = 84; 1486 long l84 = 84; 1487 int i85 = 85; 1488 long l85 = 85; 1489 int i86 = 86; 1490 long l86 = 86; 1491 int i87 = 87; 1492 long l87 = 87; 1493 int i88 = 88; 1494 long l88 = 88; 1495 int i89 = 89; 1496 long l89 = 89; 1497 int i90 = 90; 1498 long l90 = 90; 1499 int i91 = 91; 1500 long l91 = 91; 1501 int i92 = 92; 1502 long l92 = 92; 1503 int i93 = 93; 1504 long l93 = 93; 1505 int i94 = 94; 1506 long l94 = 94; 1507 int i95 = 95; 1508 long l95 = 95; 1509 int i96 = 96; 1510 long l96 = 96; 1511 int i97 = 97; 1512 long l97 = 97; 1513 int i98 = 98; 1514 long l98 = 98; 1515 int i99 = 99; 1516 long l99 = 99; 1517 int i100 = 100; 1518 long l100 = 100; 1519 int i101 = 101; 1520 long l101 = 101; 1521 int i102 = 102; 1522 long l102 = 102; 1523 int i103 = 103; 1524 long l103 = 103; 1525 int i104 = 104; 1526 long l104 = 104; 1527 int i105 = 105; 1528 long l105 = 105; 1529 int i106 = 106; 1530 long l106 = 106; 1531 int i107 = 107; 1532 long l107 = 107; 1533 int i108 = 108; 1534 long l108 = 108; 1535 int i109 = 109; 1536 long l109 = 109; 1537 int i110 = 110; 1538 long l110 = 110; 1539 int i111 = 111; 1540 long l111 = 111; 1541 int i112 = 112; 1542 long l112 = 112; 1543 int i113 = 113; 1544 long l113 = 113; 1545 int i114 = 114; 1546 long l114 = 114; 1547 int i115 = 115; 1548 long l115 = 115; 1549 int i116 = 116; 1550 long l116 = 116; 1551 int i117 = 117; 1552 long l117 = 117; 1553 int i118 = 118; 1554 long l118 = 118; 1555 int i119 = 119; 1556 long l119 = 119; 1557 int i120 = 120; 1558 long l120 = 120; 1559 int i121 = 121; 1560 long l121 = 121; 1561 int i122 = 122; 1562 long l122 = 122; 1563 int i123 = 123; 1564 long l123 = 123; 1565 int i124 = 124; 1566 long l124 = 124; 1567 int i125 = 125; 1568 long l125 = 125; 1569 int i126 = 126; 1570 long l126 = 126; 1571 int i127 = 127; 1572 long l127 = 127; 1573 int i128 = 128; 1574 long l128 = 128; 1575 int i129 = 129; 1576 long l129 = 129; 1577 int i130 = 130; 1578 long l130 = 130; 1579 int i131 = 131; 1580 long l131 = 131; 1581 int i132 = 132; 1582 long l132 = 132; 1583 int i133 = 133; 1584 long l133 = 133; 1585 int i134 = 134; 1586 long l134 = 134; 1587 int i135 = 135; 1588 long l135 = 135; 1589 int i136 = 136; 1590 long l136 = 136; 1591 int i137 = 137; 1592 long l137 = 137; 1593 int i138 = 138; 1594 long l138 = 138; 1595 int i139 = 139; 1596 long l139 = 139; 1597 int i140 = 140; 1598 long l140 = 140; 1599 int i141 = 141; 1600 long l141 = 141; 1601 int i142 = 142; 1602 long l142 = 142; 1603 int i143 = 143; 1604 long l143 = 143; 1605 int i144 = 144; 1606 long l144 = 144; 1607 int i145 = 145; 1608 long l145 = 145; 1609 int i146 = 146; 1610 long l146 = 146; 1611 int i147 = 147; 1612 long l147 = 147; 1613 int i148 = 148; 1614 long l148 = 148; 1615 int i149 = 149; 1616 long l149 = 149; 1617 int i150 = 150; 1618 long l150 = 150; 1619 int i151 = 151; 1620 long l151 = 151; 1621 int i152 = 152; 1622 long l152 = 152; 1623 int i153 = 153; 1624 long l153 = 153; 1625 int i154 = 154; 1626 long l154 = 154; 1627 int i155 = 155; 1628 long l155 = 155; 1629 int i156 = 156; 1630 long l156 = 156; 1631 int i157 = 157; 1632 long l157 = 157; 1633 int i158 = 158; 1634 long l158 = 158; 1635 int i159 = 159; 1636 long l159 = 159; 1637 int i160 = 160; 1638 long l160 = 160; 1639 int i161 = 161; 1640 long l161 = 161; 1641 int i162 = 162; 1642 long l162 = 162; 1643 int i163 = 163; 1644 long l163 = 163; 1645 int i164 = 164; 1646 long l164 = 164; 1647 int i165 = 165; 1648 long l165 = 165; 1649 int i166 = 166; 1650 long l166 = 166; 1651 int i167 = 167; 1652 long l167 = 167; 1653 int i168 = 168; 1654 long l168 = 168; 1655 int i169 = 169; 1656 long l169 = 169; 1657 int i170 = 170; 1658 long l170 = 170; 1659 int i171 = 171; 1660 long l171 = 171; 1661 int i172 = 172; 1662 long l172 = 172; 1663 int i173 = 173; 1664 long l173 = 173; 1665 int i174 = 174; 1666 long l174 = 174; 1667 int i175 = 175; 1668 long l175 = 175; 1669 int i176 = 176; 1670 long l176 = 176; 1671 int i177 = 177; 1672 long l177 = 177; 1673 int i178 = 178; 1674 long l178 = 178; 1675 int i179 = 179; 1676 long l179 = 179; 1677 int i180 = 180; 1678 long l180 = 180; 1679 int i181 = 181; 1680 long l181 = 181; 1681 int i182 = 182; 1682 long l182 = 182; 1683 int i183 = 183; 1684 long l183 = 183; 1685 int i184 = 184; 1686 long l184 = 184; 1687 int i185 = 185; 1688 long l185 = 185; 1689 int i186 = 186; 1690 long l186 = 186; 1691 int i187 = 187; 1692 long l187 = 187; 1693 int i188 = 188; 1694 long l188 = 188; 1695 int i189 = 189; 1696 long l189 = 189; 1697 int i190 = 190; 1698 long l190 = 190; 1699 int i191 = 191; 1700 long l191 = 191; 1701 int i192 = 192; 1702 long l192 = 192; 1703 int i193 = 193; 1704 long l193 = 193; 1705 int i194 = 194; 1706 long l194 = 194; 1707 int i195 = 195; 1708 long l195 = 195; 1709 int i196 = 196; 1710 long l196 = 196; 1711 int i197 = 197; 1712 long l197 = 197; 1713 int i198 = 198; 1714 long l198 = 198; 1715 int i199 = 199; 1716 long l199 = 199; 1717 int i200 = 200; 1718 long l200 = 200; 1719 int i201 = 201; 1720 long l201 = 201; 1721 int i202 = 202; 1722 long l202 = 202; 1723 int i203 = 203; 1724 long l203 = 203; 1725 int i204 = 204; 1726 long l204 = 204; 1727 int i205 = 205; 1728 long l205 = 205; 1729 int i206 = 206; 1730 long l206 = 206; 1731 int i207 = 207; 1732 long l207 = 207; 1733 int i208 = 208; 1734 long l208 = 208; 1735 int i209 = 209; 1736 long l209 = 209; 1737 int i210 = 210; 1738 long l210 = 210; 1739 int i211 = 211; 1740 long l211 = 211; 1741 int i212 = 212; 1742 long l212 = 212; 1743 int i213 = 213; 1744 long l213 = 213; 1745 int i214 = 214; 1746 long l214 = 214; 1747 int i215 = 215; 1748 long l215 = 215; 1749 int i216 = 216; 1750 long l216 = 216; 1751 int i217 = 217; 1752 long l217 = 217; 1753 int i218 = 218; 1754 long l218 = 218; 1755 int i219 = 219; 1756 long l219 = 219; 1757 int i220 = 220; 1758 long l220 = 220; 1759 int i221 = 221; 1760 long l221 = 221; 1761 int i222 = 222; 1762 long l222 = 222; 1763 int i223 = 223; 1764 long l223 = 223; 1765 int i224 = 224; 1766 long l224 = 224; 1767 int i225 = 225; 1768 long l225 = 225; 1769 int i226 = 226; 1770 long l226 = 226; 1771 int i227 = 227; 1772 long l227 = 227; 1773 int i228 = 228; 1774 long l228 = 228; 1775 int i229 = 229; 1776 long l229 = 229; 1777 int i230 = 230; 1778 long l230 = 230; 1779 int i231 = 231; 1780 long l231 = 231; 1781 int i232 = 232; 1782 long l232 = 232; 1783 int i233 = 233; 1784 long l233 = 233; 1785 int i234 = 234; 1786 long l234 = 234; 1787 int i235 = 235; 1788 long l235 = 235; 1789 int i236 = 236; 1790 long l236 = 236; 1791 int i237 = 237; 1792 long l237 = 237; 1793 int i238 = 238; 1794 long l238 = 238; 1795 int i239 = 239; 1796 long l239 = 239; 1797 int i240 = 240; 1798 long l240 = 240; 1799 int i241 = 241; 1800 long l241 = 241; 1801 int i242 = 242; 1802 long l242 = 242; 1803 int i243 = 243; 1804 long l243 = 243; 1805 int i244 = 244; 1806 long l244 = 244; 1807 int i245 = 245; 1808 long l245 = 245; 1809 int i246 = 246; 1810 long l246 = 246; 1811 int i247 = 247; 1812 long l247 = 247; 1813 int i248 = 248; 1814 long l248 = 248; 1815 int i249 = 249; 1816 long l249 = 249; 1817 int i250 = 250; 1818 long l250 = 250; 1819 int i251 = 251; 1820 long l251 = 251; 1821 int i252 = 252; 1822 long l252 = 252; 1823 int i253 = 253; 1824 long l253 = 253; 1825 int i254 = 254; 1826 long l254 = 254; 1827 int i255 = 255; 1828 long l255 = 255; 1829 int i256 = 256; 1830 long l256 = 256; 1831 int i257 = 257; 1832 long l257 = 257; 1833 int i258 = 258; 1834 long l258 = 258; 1835 int i259 = 259; 1836 long l259 = 259; 1837 int i260 = 260; 1838 long l260 = 260; 1839 int i261 = 261; 1840 long l261 = 261; 1841 int i262 = 262; 1842 long l262 = 262; 1843 int i263 = 263; 1844 long l263 = 263; 1845 int i264 = 264; 1846 long l264 = 264; 1847 int i265 = 265; 1848 long l265 = 265; 1849 int i266 = 266; 1850 long l266 = 266; 1851 int i267 = 267; 1852 long l267 = 267; 1853 int i268 = 268; 1854 long l268 = 268; 1855 int i269 = 269; 1856 long l269 = 269; 1857 int i270 = 270; 1858 long l270 = 270; 1859 int i271 = 271; 1860 long l271 = 271; 1861 int i272 = 272; 1862 long l272 = 272; 1863 int i273 = 273; 1864 long l273 = 273; 1865 int i274 = 274; 1866 long l274 = 274; 1867 int i275 = 275; 1868 long l275 = 275; 1869 int i276 = 276; 1870 long l276 = 276; 1871 int i277 = 277; 1872 long l277 = 277; 1873 int i278 = 278; 1874 long l278 = 278; 1875 int i279 = 279; 1876 long l279 = 279; 1877 int i280 = 280; 1878 long l280 = 280; 1879 int i281 = 281; 1880 long l281 = 281; 1881 int i282 = 282; 1882 long l282 = 282; 1883 int i283 = 283; 1884 long l283 = 283; 1885 int i284 = 284; 1886 long l284 = 284; 1887 int i285 = 285; 1888 long l285 = 285; 1889 int i286 = 286; 1890 long l286 = 286; 1891 int i287 = 287; 1892 long l287 = 287; 1893 int i288 = 288; 1894 long l288 = 288; 1895 int i289 = 289; 1896 long l289 = 289; 1897 int i290 = 290; 1898 long l290 = 290; 1899 int i291 = 291; 1900 long l291 = 291; 1901 int i292 = 292; 1902 long l292 = 292; 1903 int i293 = 293; 1904 long l293 = 293; 1905 int i294 = 294; 1906 long l294 = 294; 1907 int i295 = 295; 1908 long l295 = 295; 1909 int i296 = 296; 1910 long l296 = 296; 1911 int i297 = 297; 1912 long l297 = 297; 1913 int i298 = 298; 1914 long l298 = 298; 1915 int i299 = 299; 1916 long l299 = 299; 1917 int i300 = 300; 1918 long l300 = 300; 1919 int i301 = 301; 1920 long l301 = 301; 1921 int i302 = 302; 1922 long l302 = 302; 1923 int i303 = 303; 1924 long l303 = 303; 1925 int i304 = 304; 1926 long l304 = 304; 1927 int i305 = 305; 1928 long l305 = 305; 1929 int i306 = 306; 1930 long l306 = 306; 1931 int i307 = 307; 1932 long l307 = 307; 1933 int i308 = 308; 1934 long l308 = 308; 1935 int i309 = 309; 1936 long l309 = 309; 1937 int i310 = 310; 1938 long l310 = 310; 1939 int i311 = 311; 1940 long l311 = 311; 1941 int i312 = 312; 1942 long l312 = 312; 1943 int i313 = 313; 1944 long l313 = 313; 1945 int i314 = 314; 1946 long l314 = 314; 1947 int i315 = 315; 1948 long l315 = 315; 1949 int i316 = 316; 1950 long l316 = 316; 1951 int i317 = 317; 1952 long l317 = 317; 1953 int i318 = 318; 1954 long l318 = 318; 1955 int i319 = 319; 1956 long l319 = 319; 1957 int i320 = 320; 1958 long l320 = 320; 1959 int i321 = 321; 1960 long l321 = 321; 1961 int i322 = 322; 1962 long l322 = 322; 1963 int i323 = 323; 1964 long l323 = 323; 1965 int i324 = 324; 1966 long l324 = 324; 1967 int i325 = 325; 1968 long l325 = 325; 1969 int i326 = 326; 1970 long l326 = 326; 1971 int i327 = 327; 1972 long l327 = 327; 1973 int i328 = 328; 1974 long l328 = 328; 1975 int i329 = 329; 1976 long l329 = 329; 1977 int i330 = 330; 1978 long l330 = 330; 1979 int i331 = 331; 1980 long l331 = 331; 1981 int i332 = 332; 1982 long l332 = 332; 1983 int i333 = 333; 1984 long l333 = 333; 1985 int i334 = 334; 1986 long l334 = 334; 1987 int i335 = 335; 1988 long l335 = 335; 1989 int i336 = 336; 1990 long l336 = 336; 1991 int i337 = 337; 1992 long l337 = 337; 1993 int i338 = 338; 1994 long l338 = 338; 1995 int i339 = 339; 1996 long l339 = 339; 1997 int i340 = 340; 1998 long l340 = 340; 1999 int i341 = 341; 2000 long l341 = 341; 2001 int i342 = 342; 2002 long l342 = 342; 2003 int i343 = 343; 2004 long l343 = 343; 2005 int i344 = 344; 2006 long l344 = 344; 2007 int i345 = 345; 2008 long l345 = 345; 2009 int i346 = 346; 2010 long l346 = 346; 2011 int i347 = 347; 2012 long l347 = 347; 2013 int i348 = 348; 2014 long l348 = 348; 2015 int i349 = 349; 2016 long l349 = 349; 2017 int i350 = 350; 2018 long l350 = 350; 2019 int i351 = 351; 2020 long l351 = 351; 2021 int i352 = 352; 2022 long l352 = 352; 2023 int i353 = 353; 2024 long l353 = 353; 2025 int i354 = 354; 2026 long l354 = 354; 2027 int i355 = 355; 2028 long l355 = 355; 2029 int i356 = 356; 2030 long l356 = 356; 2031 int i357 = 357; 2032 long l357 = 357; 2033 int i358 = 358; 2034 long l358 = 358; 2035 int i359 = 359; 2036 long l359 = 359; 2037 int i360 = 360; 2038 long l360 = 360; 2039 int i361 = 361; 2040 long l361 = 361; 2041 int i362 = 362; 2042 long l362 = 362; 2043 int i363 = 363; 2044 long l363 = 363; 2045 int i364 = 364; 2046 long l364 = 364; 2047 int i365 = 365; 2048 long l365 = 365; 2049 int i366 = 366; 2050 long l366 = 366; 2051 int i367 = 367; 2052 long l367 = 367; 2053 int i368 = 368; 2054 long l368 = 368; 2055 int i369 = 369; 2056 long l369 = 369; 2057 int i370 = 370; 2058 long l370 = 370; 2059 int i371 = 371; 2060 long l371 = 371; 2061 int i372 = 372; 2062 long l372 = 372; 2063 int i373 = 373; 2064 long l373 = 373; 2065 int i374 = 374; 2066 long l374 = 374; 2067 int i375 = 375; 2068 long l375 = 375; 2069 int i376 = 376; 2070 long l376 = 376; 2071 int i377 = 377; 2072 long l377 = 377; 2073 int i378 = 378; 2074 long l378 = 378; 2075 int i379 = 379; 2076 long l379 = 379; 2077 int i380 = 380; 2078 long l380 = 380; 2079 int i381 = 381; 2080 long l381 = 381; 2081 int i382 = 382; 2082 long l382 = 382; 2083 int i383 = 383; 2084 long l383 = 383; 2085 int i384 = 384; 2086 long l384 = 384; 2087 int i385 = 385; 2088 long l385 = 385; 2089 int i386 = 386; 2090 long l386 = 386; 2091 int i387 = 387; 2092 long l387 = 387; 2093 int i388 = 388; 2094 long l388 = 388; 2095 int i389 = 389; 2096 long l389 = 389; 2097 int i390 = 390; 2098 long l390 = 390; 2099 int i391 = 391; 2100 long l391 = 391; 2101 int i392 = 392; 2102 long l392 = 392; 2103 int i393 = 393; 2104 long l393 = 393; 2105 int i394 = 394; 2106 long l394 = 394; 2107 int i395 = 395; 2108 long l395 = 395; 2109 int i396 = 396; 2110 long l396 = 396; 2111 int i397 = 397; 2112 long l397 = 397; 2113 int i398 = 398; 2114 long l398 = 398; 2115 int i399 = 399; 2116 long l399 = 399; 2117 int i400 = 400; 2118 long l400 = 400; 2119 int i401 = 401; 2120 long l401 = 401; 2121 int i402 = 402; 2122 long l402 = 402; 2123 int i403 = 403; 2124 long l403 = 403; 2125 int i404 = 404; 2126 long l404 = 404; 2127 int i405 = 405; 2128 long l405 = 405; 2129 int i406 = 406; 2130 long l406 = 406; 2131 int i407 = 407; 2132 long l407 = 407; 2133 int i408 = 408; 2134 long l408 = 408; 2135 int i409 = 409; 2136 long l409 = 409; 2137 int i410 = 410; 2138 long l410 = 410; 2139 int i411 = 411; 2140 long l411 = 411; 2141 int i412 = 412; 2142 long l412 = 412; 2143 int i413 = 413; 2144 long l413 = 413; 2145 int i414 = 414; 2146 long l414 = 414; 2147 int i415 = 415; 2148 long l415 = 415; 2149 int i416 = 416; 2150 long l416 = 416; 2151 int i417 = 417; 2152 long l417 = 417; 2153 int i418 = 418; 2154 long l418 = 418; 2155 int i419 = 419; 2156 long l419 = 419; 2157 int i420 = 420; 2158 long l420 = 420; 2159 int i421 = 421; 2160 long l421 = 421; 2161 int i422 = 422; 2162 long l422 = 422; 2163 int i423 = 423; 2164 long l423 = 423; 2165 int i424 = 424; 2166 long l424 = 424; 2167 int i425 = 425; 2168 long l425 = 425; 2169 int i426 = 426; 2170 long l426 = 426; 2171 int i427 = 427; 2172 long l427 = 427; 2173 int i428 = 428; 2174 long l428 = 428; 2175 int i429 = 429; 2176 long l429 = 429; 2177 int i430 = 430; 2178 long l430 = 430; 2179 int i431 = 431; 2180 long l431 = 431; 2181 int i432 = 432; 2182 long l432 = 432; 2183 int i433 = 433; 2184 long l433 = 433; 2185 int i434 = 434; 2186 long l434 = 434; 2187 int i435 = 435; 2188 long l435 = 435; 2189 int i436 = 436; 2190 long l436 = 436; 2191 int i437 = 437; 2192 long l437 = 437; 2193 int i438 = 438; 2194 long l438 = 438; 2195 int i439 = 439; 2196 long l439 = 439; 2197 int i440 = 440; 2198 long l440 = 440; 2199 int i441 = 441; 2200 long l441 = 441; 2201 int i442 = 442; 2202 long l442 = 442; 2203 int i443 = 443; 2204 long l443 = 443; 2205 int i444 = 444; 2206 long l444 = 444; 2207 int i445 = 445; 2208 long l445 = 445; 2209 int i446 = 446; 2210 long l446 = 446; 2211 int i447 = 447; 2212 long l447 = 447; 2213 int i448 = 448; 2214 long l448 = 448; 2215 int i449 = 449; 2216 long l449 = 449; 2217 int i450 = 450; 2218 long l450 = 450; 2219 int i451 = 451; 2220 long l451 = 451; 2221 int i452 = 452; 2222 long l452 = 452; 2223 int i453 = 453; 2224 long l453 = 453; 2225 int i454 = 454; 2226 long l454 = 454; 2227 int i455 = 455; 2228 long l455 = 455; 2229 int i456 = 456; 2230 long l456 = 456; 2231 int i457 = 457; 2232 long l457 = 457; 2233 int i458 = 458; 2234 long l458 = 458; 2235 int i459 = 459; 2236 long l459 = 459; 2237 int i460 = 460; 2238 long l460 = 460; 2239 int i461 = 461; 2240 long l461 = 461; 2241 int i462 = 462; 2242 long l462 = 462; 2243 int i463 = 463; 2244 long l463 = 463; 2245 int i464 = 464; 2246 long l464 = 464; 2247 int i465 = 465; 2248 long l465 = 465; 2249 int i466 = 466; 2250 long l466 = 466; 2251 int i467 = 467; 2252 long l467 = 467; 2253 int i468 = 468; 2254 long l468 = 468; 2255 int i469 = 469; 2256 long l469 = 469; 2257 int i470 = 470; 2258 long l470 = 470; 2259 int i471 = 471; 2260 long l471 = 471; 2261 int i472 = 472; 2262 long l472 = 472; 2263 int i473 = 473; 2264 long l473 = 473; 2265 int i474 = 474; 2266 long l474 = 474; 2267 int i475 = 475; 2268 long l475 = 475; 2269 int i476 = 476; 2270 long l476 = 476; 2271 int i477 = 477; 2272 long l477 = 477; 2273 int i478 = 478; 2274 long l478 = 478; 2275 int i479 = 479; 2276 long l479 = 479; 2277 int i480 = 480; 2278 long l480 = 480; 2279 int i481 = 481; 2280 long l481 = 481; 2281 int i482 = 482; 2282 long l482 = 482; 2283 int i483 = 483; 2284 long l483 = 483; 2285 int i484 = 484; 2286 long l484 = 484; 2287 int i485 = 485; 2288 long l485 = 485; 2289 int i486 = 486; 2290 long l486 = 486; 2291 int i487 = 487; 2292 long l487 = 487; 2293 int i488 = 488; 2294 long l488 = 488; 2295 int i489 = 489; 2296 long l489 = 489; 2297 int i490 = 490; 2298 long l490 = 490; 2299 int i491 = 491; 2300 long l491 = 491; 2301 int i492 = 492; 2302 long l492 = 492; 2303 int i493 = 493; 2304 long l493 = 493; 2305 int i494 = 494; 2306 long l494 = 494; 2307 int i495 = 495; 2308 long l495 = 495; 2309 int i496 = 496; 2310 long l496 = 496; 2311 int i497 = 497; 2312 long l497 = 497; 2313 int i498 = 498; 2314 long l498 = 498; 2315 int i499 = 499; 2316 long l499 = 499; 2317 int i500 = 500; 2318 long l500 = 500; 2319 int i501 = 501; 2320 long l501 = 501; 2321 int i502 = 502; 2322 long l502 = 502; 2323 int i503 = 503; 2324 long l503 = 503; 2325 int i504 = 504; 2326 long l504 = 504; 2327 int i505 = 505; 2328 long l505 = 505; 2329 int i506 = 506; 2330 long l506 = 506; 2331 int i507 = 507; 2332 long l507 = 507; 2333 int i508 = 508; 2334 long l508 = 508; 2335 int i509 = 509; 2336 long l509 = 509; 2337 int i510 = 510; 2338 long l510 = 510; 2339 int i511 = 511; 2340 long l511 = 511; 2341 int i512 = 512; 2342 long l512 = 512; 2343 int i513 = 513; 2344 long l513 = 513; 2345 int i514 = 514; 2346 long l514 = 514; 2347 int i515 = 515; 2348 long l515 = 515; 2349 int i516 = 516; 2350 long l516 = 516; 2351 int i517 = 517; 2352 long l517 = 517; 2353 int i518 = 518; 2354 long l518 = 518; 2355 int i519 = 519; 2356 long l519 = 519; 2357 int i520 = 520; 2358 long l520 = 520; 2359 int i521 = 521; 2360 long l521 = 521; 2361 int i522 = 522; 2362 long l522 = 522; 2363 int i523 = 523; 2364 long l523 = 523; 2365 int i524 = 524; 2366 long l524 = 524; 2367 int i525 = 525; 2368 long l525 = 525; 2369 int i526 = 526; 2370 long l526 = 526; 2371 int i527 = 527; 2372 long l527 = 527; 2373 int i528 = 528; 2374 long l528 = 528; 2375 int i529 = 529; 2376 long l529 = 529; 2377 int i530 = 530; 2378 long l530 = 530; 2379 int i531 = 531; 2380 long l531 = 531; 2381 int i532 = 532; 2382 long l532 = 532; 2383 int i533 = 533; 2384 long l533 = 533; 2385 int i534 = 534; 2386 long l534 = 534; 2387 int i535 = 535; 2388 long l535 = 535; 2389 int i536 = 536; 2390 long l536 = 536; 2391 int i537 = 537; 2392 long l537 = 537; 2393 int i538 = 538; 2394 long l538 = 538; 2395 int i539 = 539; 2396 long l539 = 539; 2397 int i540 = 540; 2398 long l540 = 540; 2399 int i541 = 541; 2400 long l541 = 541; 2401 int i542 = 542; 2402 long l542 = 542; 2403 int i543 = 543; 2404 long l543 = 543; 2405 int i544 = 544; 2406 long l544 = 544; 2407 int i545 = 545; 2408 long l545 = 545; 2409 int i546 = 546; 2410 long l546 = 546; 2411 int i547 = 547; 2412 long l547 = 547; 2413 int i548 = 548; 2414 long l548 = 548; 2415 int i549 = 549; 2416 long l549 = 549; 2417 int i550 = 550; 2418 long l550 = 550; 2419 int i551 = 551; 2420 long l551 = 551; 2421 int i552 = 552; 2422 long l552 = 552; 2423 int i553 = 553; 2424 long l553 = 553; 2425 int i554 = 554; 2426 long l554 = 554; 2427 int i555 = 555; 2428 long l555 = 555; 2429 int i556 = 556; 2430 long l556 = 556; 2431 int i557 = 557; 2432 long l557 = 557; 2433 int i558 = 558; 2434 long l558 = 558; 2435 int i559 = 559; 2436 long l559 = 559; 2437 int i560 = 560; 2438 long l560 = 560; 2439 int i561 = 561; 2440 long l561 = 561; 2441 int i562 = 562; 2442 long l562 = 562; 2443 int i563 = 563; 2444 long l563 = 563; 2445 int i564 = 564; 2446 long l564 = 564; 2447 int i565 = 565; 2448 long l565 = 565; 2449 int i566 = 566; 2450 long l566 = 566; 2451 int i567 = 567; 2452 long l567 = 567; 2453 int i568 = 568; 2454 long l568 = 568; 2455 int i569 = 569; 2456 long l569 = 569; 2457 int i570 = 570; 2458 long l570 = 570; 2459 int i571 = 571; 2460 long l571 = 571; 2461 int i572 = 572; 2462 long l572 = 572; 2463 int i573 = 573; 2464 long l573 = 573; 2465 int i574 = 574; 2466 long l574 = 574; 2467 int i575 = 575; 2468 long l575 = 575; 2469 int i576 = 576; 2470 long l576 = 576; 2471 int i577 = 577; 2472 long l577 = 577; 2473 int i578 = 578; 2474 long l578 = 578; 2475 int i579 = 579; 2476 long l579 = 579; 2477 int i580 = 580; 2478 long l580 = 580; 2479 int i581 = 581; 2480 long l581 = 581; 2481 int i582 = 582; 2482 long l582 = 582; 2483 int i583 = 583; 2484 long l583 = 583; 2485 int i584 = 584; 2486 long l584 = 584; 2487 int i585 = 585; 2488 long l585 = 585; 2489 int i586 = 586; 2490 long l586 = 586; 2491 int i587 = 587; 2492 long l587 = 587; 2493 int i588 = 588; 2494 long l588 = 588; 2495 int i589 = 589; 2496 long l589 = 589; 2497 int i590 = 590; 2498 long l590 = 590; 2499 int i591 = 591; 2500 long l591 = 591; 2501 int i592 = 592; 2502 long l592 = 592; 2503 int i593 = 593; 2504 long l593 = 593; 2505 int i594 = 594; 2506 long l594 = 594; 2507 int i595 = 595; 2508 long l595 = 595; 2509 int i596 = 596; 2510 long l596 = 596; 2511 int i597 = 597; 2512 long l597 = 597; 2513 int i598 = 598; 2514 long l598 = 598; 2515 int i599 = 599; 2516 long l599 = 599; 2517 int i600 = 600; 2518 long l600 = 600; 2519 int i601 = 601; 2520 long l601 = 601; 2521 int i602 = 602; 2522 long l602 = 602; 2523 int i603 = 603; 2524 long l603 = 603; 2525 int i604 = 604; 2526 long l604 = 604; 2527 int i605 = 605; 2528 long l605 = 605; 2529 int i606 = 606; 2530 long l606 = 606; 2531 int i607 = 607; 2532 long l607 = 607; 2533 int i608 = 608; 2534 long l608 = 608; 2535 int i609 = 609; 2536 long l609 = 609; 2537 int i610 = 610; 2538 long l610 = 610; 2539 int i611 = 611; 2540 long l611 = 611; 2541 int i612 = 612; 2542 long l612 = 612; 2543 int i613 = 613; 2544 long l613 = 613; 2545 int i614 = 614; 2546 long l614 = 614; 2547 int i615 = 615; 2548 long l615 = 615; 2549 int i616 = 616; 2550 long l616 = 616; 2551 int i617 = 617; 2552 long l617 = 617; 2553 int i618 = 618; 2554 long l618 = 618; 2555 int i619 = 619; 2556 long l619 = 619; 2557 int i620 = 620; 2558 long l620 = 620; 2559 int i621 = 621; 2560 long l621 = 621; 2561 int i622 = 622; 2562 long l622 = 622; 2563 int i623 = 623; 2564 long l623 = 623; 2565 int i624 = 624; 2566 long l624 = 624; 2567 int i625 = 625; 2568 long l625 = 625; 2569 int i626 = 626; 2570 long l626 = 626; 2571 int i627 = 627; 2572 long l627 = 627; 2573 int i628 = 628; 2574 long l628 = 628; 2575 int i629 = 629; 2576 long l629 = 629; 2577 int i630 = 630; 2578 long l630 = 630; 2579 int i631 = 631; 2580 long l631 = 631; 2581 int i632 = 632; 2582 long l632 = 632; 2583 int i633 = 633; 2584 long l633 = 633; 2585 int i634 = 634; 2586 long l634 = 634; 2587 int i635 = 635; 2588 long l635 = 635; 2589 int i636 = 636; 2590 long l636 = 636; 2591 int i637 = 637; 2592 long l637 = 637; 2593 int i638 = 638; 2594 long l638 = 638; 2595 int i639 = 639; 2596 long l639 = 639; 2597 int i640 = 640; 2598 long l640 = 640; 2599 int i641 = 641; 2600 long l641 = 641; 2601 int i642 = 642; 2602 long l642 = 642; 2603 int i643 = 643; 2604 long l643 = 643; 2605 int i644 = 644; 2606 long l644 = 644; 2607 int i645 = 645; 2608 long l645 = 645; 2609 int i646 = 646; 2610 long l646 = 646; 2611 int i647 = 647; 2612 long l647 = 647; 2613 int i648 = 648; 2614 long l648 = 648; 2615 int i649 = 649; 2616 long l649 = 649; 2617 int i650 = 650; 2618 long l650 = 650; 2619 int i651 = 651; 2620 long l651 = 651; 2621 int i652 = 652; 2622 long l652 = 652; 2623 int i653 = 653; 2624 long l653 = 653; 2625 int i654 = 654; 2626 long l654 = 654; 2627 int i655 = 655; 2628 long l655 = 655; 2629 int i656 = 656; 2630 long l656 = 656; 2631 int i657 = 657; 2632 long l657 = 657; 2633 int i658 = 658; 2634 long l658 = 658; 2635 int i659 = 659; 2636 long l659 = 659; 2637 int i660 = 660; 2638 long l660 = 660; 2639 int i661 = 661; 2640 long l661 = 661; 2641 int i662 = 662; 2642 long l662 = 662; 2643 int i663 = 663; 2644 long l663 = 663; 2645 int i664 = 664; 2646 long l664 = 664; 2647 int i665 = 665; 2648 long l665 = 665; 2649 int i666 = 666; 2650 long l666 = 666; 2651 int i667 = 667; 2652 long l667 = 667; 2653 int i668 = 668; 2654 long l668 = 668; 2655 int i669 = 669; 2656 long l669 = 669; 2657 int i670 = 670; 2658 long l670 = 670; 2659 int i671 = 671; 2660 long l671 = 671; 2661 int i672 = 672; 2662 long l672 = 672; 2663 int i673 = 673; 2664 long l673 = 673; 2665 int i674 = 674; 2666 long l674 = 674; 2667 int i675 = 675; 2668 long l675 = 675; 2669 int i676 = 676; 2670 long l676 = 676; 2671 int i677 = 677; 2672 long l677 = 677; 2673 int i678 = 678; 2674 long l678 = 678; 2675 int i679 = 679; 2676 long l679 = 679; 2677 int i680 = 680; 2678 long l680 = 680; 2679 int i681 = 681; 2680 long l681 = 681; 2681 int i682 = 682; 2682 long l682 = 682; 2683 int i683 = 683; 2684 long l683 = 683; 2685 int i684 = 684; 2686 long l684 = 684; 2687 int i685 = 685; 2688 long l685 = 685; 2689 int i686 = 686; 2690 long l686 = 686; 2691 int i687 = 687; 2692 long l687 = 687; 2693 int i688 = 688; 2694 long l688 = 688; 2695 int i689 = 689; 2696 long l689 = 689; 2697 int i690 = 690; 2698 long l690 = 690; 2699 int i691 = 691; 2700 long l691 = 691; 2701 int i692 = 692; 2702 long l692 = 692; 2703 int i693 = 693; 2704 long l693 = 693; 2705 int i694 = 694; 2706 long l694 = 694; 2707 int i695 = 695; 2708 long l695 = 695; 2709 int i696 = 696; 2710 long l696 = 696; 2711 int i697 = 697; 2712 long l697 = 697; 2713 int i698 = 698; 2714 long l698 = 698; 2715 int i699 = 699; 2716 long l699 = 699; 2717 int i700 = 700; 2718 long l700 = 700; 2719 int i701 = 701; 2720 long l701 = 701; 2721 int i702 = 702; 2722 long l702 = 702; 2723 int i703 = 703; 2724 long l703 = 703; 2725 int i704 = 704; 2726 long l704 = 704; 2727 int i705 = 705; 2728 long l705 = 705; 2729 int i706 = 706; 2730 long l706 = 706; 2731 int i707 = 707; 2732 long l707 = 707; 2733 int i708 = 708; 2734 long l708 = 708; 2735 int i709 = 709; 2736 long l709 = 709; 2737 int i710 = 710; 2738 long l710 = 710; 2739 int i711 = 711; 2740 long l711 = 711; 2741 int i712 = 712; 2742 long l712 = 712; 2743 int i713 = 713; 2744 long l713 = 713; 2745 int i714 = 714; 2746 long l714 = 714; 2747 int i715 = 715; 2748 long l715 = 715; 2749 int i716 = 716; 2750 long l716 = 716; 2751 int i717 = 717; 2752 long l717 = 717; 2753 int i718 = 718; 2754 long l718 = 718; 2755 int i719 = 719; 2756 long l719 = 719; 2757 int i720 = 720; 2758 long l720 = 720; 2759 int i721 = 721; 2760 long l721 = 721; 2761 int i722 = 722; 2762 long l722 = 722; 2763 int i723 = 723; 2764 long l723 = 723; 2765 int i724 = 724; 2766 long l724 = 724; 2767 int i725 = 725; 2768 long l725 = 725; 2769 int i726 = 726; 2770 long l726 = 726; 2771 int i727 = 727; 2772 long l727 = 727; 2773 int i728 = 728; 2774 long l728 = 728; 2775 int i729 = 729; 2776 long l729 = 729; 2777 int i730 = 730; 2778 long l730 = 730; 2779 int i731 = 731; 2780 long l731 = 731; 2781 int i732 = 732; 2782 long l732 = 732; 2783 int i733 = 733; 2784 long l733 = 733; 2785 int i734 = 734; 2786 long l734 = 734; 2787 int i735 = 735; 2788 long l735 = 735; 2789 int i736 = 736; 2790 long l736 = 736; 2791 int i737 = 737; 2792 long l737 = 737; 2793 int i738 = 738; 2794 long l738 = 738; 2795 int i739 = 739; 2796 long l739 = 739; 2797 int i740 = 740; 2798 long l740 = 740; 2799 int i741 = 741; 2800 long l741 = 741; 2801 int i742 = 742; 2802 long l742 = 742; 2803 int i743 = 743; 2804 long l743 = 743; 2805 int i744 = 744; 2806 long l744 = 744; 2807 int i745 = 745; 2808 long l745 = 745; 2809 int i746 = 746; 2810 long l746 = 746; 2811 int i747 = 747; 2812 long l747 = 747; 2813 int i748 = 748; 2814 long l748 = 748; 2815 int i749 = 749; 2816 long l749 = 749; 2817 int i750 = 750; 2818 long l750 = 750; 2819 int i751 = 751; 2820 long l751 = 751; 2821 int i752 = 752; 2822 long l752 = 752; 2823 int i753 = 753; 2824 long l753 = 753; 2825 int i754 = 754; 2826 long l754 = 754; 2827 int i755 = 755; 2828 long l755 = 755; 2829 int i756 = 756; 2830 long l756 = 756; 2831 int i757 = 757; 2832 long l757 = 757; 2833 int i758 = 758; 2834 long l758 = 758; 2835 int i759 = 759; 2836 long l759 = 759; 2837 int i760 = 760; 2838 long l760 = 760; 2839 int i761 = 761; 2840 long l761 = 761; 2841 int i762 = 762; 2842 long l762 = 762; 2843 int i763 = 763; 2844 long l763 = 763; 2845 int i764 = 764; 2846 long l764 = 764; 2847 int i765 = 765; 2848 long l765 = 765; 2849 int i766 = 766; 2850 long l766 = 766; 2851 int i767 = 767; 2852 long l767 = 767; 2853 int i768 = 768; 2854 long l768 = 768; 2855 int i769 = 769; 2856 long l769 = 769; 2857 int i770 = 770; 2858 long l770 = 770; 2859 int i771 = 771; 2860 long l771 = 771; 2861 int i772 = 772; 2862 long l772 = 772; 2863 int i773 = 773; 2864 long l773 = 773; 2865 int i774 = 774; 2866 long l774 = 774; 2867 int i775 = 775; 2868 long l775 = 775; 2869 int i776 = 776; 2870 long l776 = 776; 2871 int i777 = 777; 2872 long l777 = 777; 2873 int i778 = 778; 2874 long l778 = 778; 2875 int i779 = 779; 2876 long l779 = 779; 2877 int i780 = 780; 2878 long l780 = 780; 2879 int i781 = 781; 2880 long l781 = 781; 2881 int i782 = 782; 2882 long l782 = 782; 2883 int i783 = 783; 2884 long l783 = 783; 2885 int i784 = 784; 2886 long l784 = 784; 2887 int i785 = 785; 2888 long l785 = 785; 2889 int i786 = 786; 2890 long l786 = 786; 2891 int i787 = 787; 2892 long l787 = 787; 2893 int i788 = 788; 2894 long l788 = 788; 2895 int i789 = 789; 2896 long l789 = 789; 2897 int i790 = 790; 2898 long l790 = 790; 2899 int i791 = 791; 2900 long l791 = 791; 2901 int i792 = 792; 2902 long l792 = 792; 2903 int i793 = 793; 2904 long l793 = 793; 2905 int i794 = 794; 2906 long l794 = 794; 2907 int i795 = 795; 2908 long l795 = 795; 2909 int i796 = 796; 2910 long l796 = 796; 2911 int i797 = 797; 2912 long l797 = 797; 2913 int i798 = 798; 2914 long l798 = 798; 2915 int i799 = 799; 2916 long l799 = 799; 2917 int i800 = 800; 2918 long l800 = 800; 2919 int i801 = 801; 2920 long l801 = 801; 2921 int i802 = 802; 2922 long l802 = 802; 2923 int i803 = 803; 2924 long l803 = 803; 2925 int i804 = 804; 2926 long l804 = 804; 2927 int i805 = 805; 2928 long l805 = 805; 2929 int i806 = 806; 2930 long l806 = 806; 2931 int i807 = 807; 2932 long l807 = 807; 2933 int i808 = 808; 2934 long l808 = 808; 2935 int i809 = 809; 2936 long l809 = 809; 2937 int i810 = 810; 2938 long l810 = 810; 2939 int i811 = 811; 2940 long l811 = 811; 2941 int i812 = 812; 2942 long l812 = 812; 2943 int i813 = 813; 2944 long l813 = 813; 2945 int i814 = 814; 2946 long l814 = 814; 2947 int i815 = 815; 2948 long l815 = 815; 2949 int i816 = 816; 2950 long l816 = 816; 2951 int i817 = 817; 2952 long l817 = 817; 2953 int i818 = 818; 2954 long l818 = 818; 2955 int i819 = 819; 2956 long l819 = 819; 2957 int i820 = 820; 2958 long l820 = 820; 2959 int i821 = 821; 2960 long l821 = 821; 2961 int i822 = 822; 2962 long l822 = 822; 2963 int i823 = 823; 2964 long l823 = 823; 2965 int i824 = 824; 2966 long l824 = 824; 2967 int i825 = 825; 2968 long l825 = 825; 2969 int i826 = 826; 2970 long l826 = 826; 2971 int i827 = 827; 2972 long l827 = 827; 2973 int i828 = 828; 2974 long l828 = 828; 2975 int i829 = 829; 2976 long l829 = 829; 2977 int i830 = 830; 2978 long l830 = 830; 2979 int i831 = 831; 2980 long l831 = 831; 2981 int i832 = 832; 2982 long l832 = 832; 2983 int i833 = 833; 2984 long l833 = 833; 2985 int i834 = 834; 2986 long l834 = 834; 2987 int i835 = 835; 2988 long l835 = 835; 2989 int i836 = 836; 2990 long l836 = 836; 2991 int i837 = 837; 2992 long l837 = 837; 2993 int i838 = 838; 2994 long l838 = 838; 2995 int i839 = 839; 2996 long l839 = 839; 2997 int i840 = 840; 2998 long l840 = 840; 2999 int i841 = 841; 3000 long l841 = 841; 3001 int i842 = 842; 3002 long l842 = 842; 3003 int i843 = 843; 3004 long l843 = 843; 3005 int i844 = 844; 3006 long l844 = 844; 3007 int i845 = 845; 3008 long l845 = 845; 3009 int i846 = 846; 3010 long l846 = 846; 3011 int i847 = 847; 3012 long l847 = 847; 3013 int i848 = 848; 3014 long l848 = 848; 3015 int i849 = 849; 3016 long l849 = 849; 3017 int i850 = 850; 3018 long l850 = 850; 3019 int i851 = 851; 3020 long l851 = 851; 3021 int i852 = 852; 3022 long l852 = 852; 3023 int i853 = 853; 3024 long l853 = 853; 3025 int i854 = 854; 3026 long l854 = 854; 3027 int i855 = 855; 3028 long l855 = 855; 3029 int i856 = 856; 3030 long l856 = 856; 3031 int i857 = 857; 3032 long l857 = 857; 3033 int i858 = 858; 3034 long l858 = 858; 3035 int i859 = 859; 3036 long l859 = 859; 3037 int i860 = 860; 3038 long l860 = 860; 3039 int i861 = 861; 3040 long l861 = 861; 3041 int i862 = 862; 3042 long l862 = 862; 3043 int i863 = 863; 3044 long l863 = 863; 3045 int i864 = 864; 3046 long l864 = 864; 3047 int i865 = 865; 3048 long l865 = 865; 3049 int i866 = 866; 3050 long l866 = 866; 3051 int i867 = 867; 3052 long l867 = 867; 3053 int i868 = 868; 3054 long l868 = 868; 3055 int i869 = 869; 3056 long l869 = 869; 3057 int i870 = 870; 3058 long l870 = 870; 3059 int i871 = 871; 3060 long l871 = 871; 3061 int i872 = 872; 3062 long l872 = 872; 3063 int i873 = 873; 3064 long l873 = 873; 3065 int i874 = 874; 3066 long l874 = 874; 3067 int i875 = 875; 3068 long l875 = 875; 3069 int i876 = 876; 3070 long l876 = 876; 3071 int i877 = 877; 3072 long l877 = 877; 3073 int i878 = 878; 3074 long l878 = 878; 3075 int i879 = 879; 3076 long l879 = 879; 3077 int i880 = 880; 3078 long l880 = 880; 3079 int i881 = 881; 3080 long l881 = 881; 3081 int i882 = 882; 3082 long l882 = 882; 3083 int i883 = 883; 3084 long l883 = 883; 3085 int i884 = 884; 3086 long l884 = 884; 3087 int i885 = 885; 3088 long l885 = 885; 3089 int i886 = 886; 3090 long l886 = 886; 3091 int i887 = 887; 3092 long l887 = 887; 3093 int i888 = 888; 3094 long l888 = 888; 3095 int i889 = 889; 3096 long l889 = 889; 3097 int i890 = 890; 3098 long l890 = 890; 3099 int i891 = 891; 3100 long l891 = 891; 3101 int i892 = 892; 3102 long l892 = 892; 3103 int i893 = 893; 3104 long l893 = 893; 3105 int i894 = 894; 3106 long l894 = 894; 3107 int i895 = 895; 3108 long l895 = 895; 3109 int i896 = 896; 3110 long l896 = 896; 3111 int i897 = 897; 3112 long l897 = 897; 3113 int i898 = 898; 3114 long l898 = 898; 3115 int i899 = 899; 3116 long l899 = 899; 3117 int i900 = 900; 3118 long l900 = 900; 3119 int i901 = 901; 3120 long l901 = 901; 3121 int i902 = 902; 3122 long l902 = 902; 3123 int i903 = 903; 3124 long l903 = 903; 3125 int i904 = 904; 3126 long l904 = 904; 3127 int i905 = 905; 3128 long l905 = 905; 3129 int i906 = 906; 3130 long l906 = 906; 3131 int i907 = 907; 3132 long l907 = 907; 3133 int i908 = 908; 3134 long l908 = 908; 3135 int i909 = 909; 3136 long l909 = 909; 3137 int i910 = 910; 3138 long l910 = 910; 3139 int i911 = 911; 3140 long l911 = 911; 3141 int i912 = 912; 3142 long l912 = 912; 3143 int i913 = 913; 3144 long l913 = 913; 3145 int i914 = 914; 3146 long l914 = 914; 3147 int i915 = 915; 3148 long l915 = 915; 3149 int i916 = 916; 3150 long l916 = 916; 3151 int i917 = 917; 3152 long l917 = 917; 3153 int i918 = 918; 3154 long l918 = 918; 3155 int i919 = 919; 3156 long l919 = 919; 3157 int i920 = 920; 3158 long l920 = 920; 3159 int i921 = 921; 3160 long l921 = 921; 3161 int i922 = 922; 3162 long l922 = 922; 3163 int i923 = 923; 3164 long l923 = 923; 3165 int i924 = 924; 3166 long l924 = 924; 3167 int i925 = 925; 3168 long l925 = 925; 3169 int i926 = 926; 3170 long l926 = 926; 3171 int i927 = 927; 3172 long l927 = 927; 3173 int i928 = 928; 3174 long l928 = 928; 3175 int i929 = 929; 3176 long l929 = 929; 3177 int i930 = 930; 3178 long l930 = 930; 3179 int i931 = 931; 3180 long l931 = 931; 3181 int i932 = 932; 3182 long l932 = 932; 3183 int i933 = 933; 3184 long l933 = 933; 3185 int i934 = 934; 3186 long l934 = 934; 3187 int i935 = 935; 3188 long l935 = 935; 3189 int i936 = 936; 3190 long l936 = 936; 3191 int i937 = 937; 3192 long l937 = 937; 3193 int i938 = 938; 3194 long l938 = 938; 3195 int i939 = 939; 3196 long l939 = 939; 3197 int i940 = 940; 3198 long l940 = 940; 3199 int i941 = 941; 3200 long l941 = 941; 3201 int i942 = 942; 3202 long l942 = 942; 3203 int i943 = 943; 3204 long l943 = 943; 3205 int i944 = 944; 3206 long l944 = 944; 3207 int i945 = 945; 3208 long l945 = 945; 3209 int i946 = 946; 3210 long l946 = 946; 3211 int i947 = 947; 3212 long l947 = 947; 3213 int i948 = 948; 3214 long l948 = 948; 3215 int i949 = 949; 3216 long l949 = 949; 3217 int i950 = 950; 3218 long l950 = 950; 3219 int i951 = 951; 3220 long l951 = 951; 3221 int i952 = 952; 3222 long l952 = 952; 3223 int i953 = 953; 3224 long l953 = 953; 3225 int i954 = 954; 3226 long l954 = 954; 3227 int i955 = 955; 3228 long l955 = 955; 3229 int i956 = 956; 3230 long l956 = 956; 3231 int i957 = 957; 3232 long l957 = 957; 3233 int i958 = 958; 3234 long l958 = 958; 3235 int i959 = 959; 3236 long l959 = 959; 3237 int i960 = 960; 3238 long l960 = 960; 3239 int i961 = 961; 3240 long l961 = 961; 3241 int i962 = 962; 3242 long l962 = 962; 3243 int i963 = 963; 3244 long l963 = 963; 3245 int i964 = 964; 3246 long l964 = 964; 3247 int i965 = 965; 3248 long l965 = 965; 3249 int i966 = 966; 3250 long l966 = 966; 3251 int i967 = 967; 3252 long l967 = 967; 3253 int i968 = 968; 3254 long l968 = 968; 3255 int i969 = 969; 3256 long l969 = 969; 3257 int i970 = 970; 3258 long l970 = 970; 3259 int i971 = 971; 3260 long l971 = 971; 3261 int i972 = 972; 3262 long l972 = 972; 3263 int i973 = 973; 3264 long l973 = 973; 3265 int i974 = 974; 3266 long l974 = 974; 3267 int i975 = 975; 3268 long l975 = 975; 3269 int i976 = 976; 3270 long l976 = 976; 3271 int i977 = 977; 3272 long l977 = 977; 3273 int i978 = 978; 3274 long l978 = 978; 3275 int i979 = 979; 3276 long l979 = 979; 3277 int i980 = 980; 3278 long l980 = 980; 3279 int i981 = 981; 3280 long l981 = 981; 3281 int i982 = 982; 3282 long l982 = 982; 3283 int i983 = 983; 3284 long l983 = 983; 3285 int i984 = 984; 3286 long l984 = 984; 3287 int i985 = 985; 3288 long l985 = 985; 3289 int i986 = 986; 3290 long l986 = 986; 3291 int i987 = 987; 3292 long l987 = 987; 3293 int i988 = 988; 3294 long l988 = 988; 3295 int i989 = 989; 3296 long l989 = 989; 3297 int i990 = 990; 3298 long l990 = 990; 3299 int i991 = 991; 3300 long l991 = 991; 3301 int i992 = 992; 3302 long l992 = 992; 3303 int i993 = 993; 3304 long l993 = 993; 3305 int i994 = 994; 3306 long l994 = 994; 3307 int i995 = 995; 3308 long l995 = 995; 3309 int i996 = 996; 3310 long l996 = 996; 3311 int i997 = 997; 3312 long l997 = 997; 3313 int i998 = 998; 3314 long l998 = 998; 3315 int i999 = 999; 3316 long l999 = 999; 3317 i1 += i0; 3318 l1 = l0; 3319 i2 += i1; 3320 l2 = l1; 3321 i3 += i2; 3322 l3 = l2; 3323 i4 += i3; 3324 l4 = l3; 3325 i5 += i4; 3326 l5 = l4; 3327 i6 += i5; 3328 l6 = l5; 3329 i7 += i6; 3330 l7 = l6; 3331 i8 += i7; 3332 l8 = l7; 3333 i9 += i8; 3334 l9 = l8; 3335 i10 += i9; 3336 l10 = l9; 3337 i11 += i10; 3338 l11 = l10; 3339 i12 += i11; 3340 l12 = l11; 3341 i13 += i12; 3342 l13 = l12; 3343 i14 += i13; 3344 l14 = l13; 3345 i15 += i14; 3346 l15 = l14; 3347 i16 += i15; 3348 l16 = l15; 3349 i17 += i16; 3350 l17 = l16; 3351 i18 += i17; 3352 l18 = l17; 3353 i19 += i18; 3354 l19 = l18; 3355 i20 += i19; 3356 l20 = l19; 3357 i21 += i20; 3358 l21 = l20; 3359 i22 += i21; 3360 l22 = l21; 3361 i23 += i22; 3362 l23 = l22; 3363 i24 += i23; 3364 l24 = l23; 3365 i25 += i24; 3366 l25 = l24; 3367 i26 += i25; 3368 l26 = l25; 3369 i27 += i26; 3370 l27 = l26; 3371 i28 += i27; 3372 l28 = l27; 3373 i29 += i28; 3374 l29 = l28; 3375 i30 += i29; 3376 l30 = l29; 3377 i31 += i30; 3378 l31 = l30; 3379 i32 += i31; 3380 l32 = l31; 3381 i33 += i32; 3382 l33 = l32; 3383 i34 += i33; 3384 l34 = l33; 3385 i35 += i34; 3386 l35 = l34; 3387 i36 += i35; 3388 l36 = l35; 3389 i37 += i36; 3390 l37 = l36; 3391 i38 += i37; 3392 l38 = l37; 3393 i39 += i38; 3394 l39 = l38; 3395 i40 += i39; 3396 l40 = l39; 3397 i41 += i40; 3398 l41 = l40; 3399 i42 += i41; 3400 l42 = l41; 3401 i43 += i42; 3402 l43 = l42; 3403 i44 += i43; 3404 l44 = l43; 3405 i45 += i44; 3406 l45 = l44; 3407 i46 += i45; 3408 l46 = l45; 3409 i47 += i46; 3410 l47 = l46; 3411 i48 += i47; 3412 l48 = l47; 3413 i49 += i48; 3414 l49 = l48; 3415 i50 += i49; 3416 l50 = l49; 3417 i51 += i50; 3418 l51 = l50; 3419 i52 += i51; 3420 l52 = l51; 3421 i53 += i52; 3422 l53 = l52; 3423 i54 += i53; 3424 l54 = l53; 3425 i55 += i54; 3426 l55 = l54; 3427 i56 += i55; 3428 l56 = l55; 3429 i57 += i56; 3430 l57 = l56; 3431 i58 += i57; 3432 l58 = l57; 3433 i59 += i58; 3434 l59 = l58; 3435 i60 += i59; 3436 l60 = l59; 3437 i61 += i60; 3438 l61 = l60; 3439 i62 += i61; 3440 l62 = l61; 3441 i63 += i62; 3442 l63 = l62; 3443 i64 += i63; 3444 l64 = l63; 3445 i65 += i64; 3446 l65 = l64; 3447 i66 += i65; 3448 l66 = l65; 3449 i67 += i66; 3450 l67 = l66; 3451 i68 += i67; 3452 l68 = l67; 3453 i69 += i68; 3454 l69 = l68; 3455 i70 += i69; 3456 l70 = l69; 3457 i71 += i70; 3458 l71 = l70; 3459 i72 += i71; 3460 l72 = l71; 3461 i73 += i72; 3462 l73 = l72; 3463 i74 += i73; 3464 l74 = l73; 3465 i75 += i74; 3466 l75 = l74; 3467 i76 += i75; 3468 l76 = l75; 3469 i77 += i76; 3470 l77 = l76; 3471 i78 += i77; 3472 l78 = l77; 3473 i79 += i78; 3474 l79 = l78; 3475 i80 += i79; 3476 l80 = l79; 3477 i81 += i80; 3478 l81 = l80; 3479 i82 += i81; 3480 l82 = l81; 3481 i83 += i82; 3482 l83 = l82; 3483 i84 += i83; 3484 l84 = l83; 3485 i85 += i84; 3486 l85 = l84; 3487 i86 += i85; 3488 l86 = l85; 3489 i87 += i86; 3490 l87 = l86; 3491 i88 += i87; 3492 l88 = l87; 3493 i89 += i88; 3494 l89 = l88; 3495 i90 += i89; 3496 l90 = l89; 3497 i91 += i90; 3498 l91 = l90; 3499 i92 += i91; 3500 l92 = l91; 3501 i93 += i92; 3502 l93 = l92; 3503 i94 += i93; 3504 l94 = l93; 3505 i95 += i94; 3506 l95 = l94; 3507 i96 += i95; 3508 l96 = l95; 3509 i97 += i96; 3510 l97 = l96; 3511 i98 += i97; 3512 l98 = l97; 3513 i99 += i98; 3514 l99 = l98; 3515 i100 += i99; 3516 l100 = l99; 3517 i101 += i100; 3518 l101 = l100; 3519 i102 += i101; 3520 l102 = l101; 3521 i103 += i102; 3522 l103 = l102; 3523 i104 += i103; 3524 l104 = l103; 3525 i105 += i104; 3526 l105 = l104; 3527 i106 += i105; 3528 l106 = l105; 3529 i107 += i106; 3530 l107 = l106; 3531 i108 += i107; 3532 l108 = l107; 3533 i109 += i108; 3534 l109 = l108; 3535 i110 += i109; 3536 l110 = l109; 3537 i111 += i110; 3538 l111 = l110; 3539 i112 += i111; 3540 l112 = l111; 3541 i113 += i112; 3542 l113 = l112; 3543 i114 += i113; 3544 l114 = l113; 3545 i115 += i114; 3546 l115 = l114; 3547 i116 += i115; 3548 l116 = l115; 3549 i117 += i116; 3550 l117 = l116; 3551 i118 += i117; 3552 l118 = l117; 3553 i119 += i118; 3554 l119 = l118; 3555 i120 += i119; 3556 l120 = l119; 3557 i121 += i120; 3558 l121 = l120; 3559 i122 += i121; 3560 l122 = l121; 3561 i123 += i122; 3562 l123 = l122; 3563 i124 += i123; 3564 l124 = l123; 3565 i125 += i124; 3566 l125 = l124; 3567 i126 += i125; 3568 l126 = l125; 3569 i127 += i126; 3570 l127 = l126; 3571 i128 += i127; 3572 l128 = l127; 3573 i129 += i128; 3574 l129 = l128; 3575 i130 += i129; 3576 l130 = l129; 3577 i131 += i130; 3578 l131 = l130; 3579 i132 += i131; 3580 l132 = l131; 3581 i133 += i132; 3582 l133 = l132; 3583 i134 += i133; 3584 l134 = l133; 3585 i135 += i134; 3586 l135 = l134; 3587 i136 += i135; 3588 l136 = l135; 3589 i137 += i136; 3590 l137 = l136; 3591 i138 += i137; 3592 l138 = l137; 3593 i139 += i138; 3594 l139 = l138; 3595 i140 += i139; 3596 l140 = l139; 3597 i141 += i140; 3598 l141 = l140; 3599 i142 += i141; 3600 l142 = l141; 3601 i143 += i142; 3602 l143 = l142; 3603 i144 += i143; 3604 l144 = l143; 3605 i145 += i144; 3606 l145 = l144; 3607 i146 += i145; 3608 l146 = l145; 3609 i147 += i146; 3610 l147 = l146; 3611 i148 += i147; 3612 l148 = l147; 3613 i149 += i148; 3614 l149 = l148; 3615 i150 += i149; 3616 l150 = l149; 3617 i151 += i150; 3618 l151 = l150; 3619 i152 += i151; 3620 l152 = l151; 3621 i153 += i152; 3622 l153 = l152; 3623 i154 += i153; 3624 l154 = l153; 3625 i155 += i154; 3626 l155 = l154; 3627 i156 += i155; 3628 l156 = l155; 3629 i157 += i156; 3630 l157 = l156; 3631 i158 += i157; 3632 l158 = l157; 3633 i159 += i158; 3634 l159 = l158; 3635 i160 += i159; 3636 l160 = l159; 3637 i161 += i160; 3638 l161 = l160; 3639 i162 += i161; 3640 l162 = l161; 3641 i163 += i162; 3642 l163 = l162; 3643 i164 += i163; 3644 l164 = l163; 3645 i165 += i164; 3646 l165 = l164; 3647 i166 += i165; 3648 l166 = l165; 3649 i167 += i166; 3650 l167 = l166; 3651 i168 += i167; 3652 l168 = l167; 3653 i169 += i168; 3654 l169 = l168; 3655 i170 += i169; 3656 l170 = l169; 3657 i171 += i170; 3658 l171 = l170; 3659 i172 += i171; 3660 l172 = l171; 3661 i173 += i172; 3662 l173 = l172; 3663 i174 += i173; 3664 l174 = l173; 3665 i175 += i174; 3666 l175 = l174; 3667 i176 += i175; 3668 l176 = l175; 3669 i177 += i176; 3670 l177 = l176; 3671 i178 += i177; 3672 l178 = l177; 3673 i179 += i178; 3674 l179 = l178; 3675 i180 += i179; 3676 l180 = l179; 3677 i181 += i180; 3678 l181 = l180; 3679 i182 += i181; 3680 l182 = l181; 3681 i183 += i182; 3682 l183 = l182; 3683 i184 += i183; 3684 l184 = l183; 3685 i185 += i184; 3686 l185 = l184; 3687 i186 += i185; 3688 l186 = l185; 3689 i187 += i186; 3690 l187 = l186; 3691 i188 += i187; 3692 l188 = l187; 3693 i189 += i188; 3694 l189 = l188; 3695 i190 += i189; 3696 l190 = l189; 3697 i191 += i190; 3698 l191 = l190; 3699 i192 += i191; 3700 l192 = l191; 3701 i193 += i192; 3702 l193 = l192; 3703 i194 += i193; 3704 l194 = l193; 3705 i195 += i194; 3706 l195 = l194; 3707 i196 += i195; 3708 l196 = l195; 3709 i197 += i196; 3710 l197 = l196; 3711 i198 += i197; 3712 l198 = l197; 3713 i199 += i198; 3714 l199 = l198; 3715 i200 += i199; 3716 l200 = l199; 3717 i201 += i200; 3718 l201 = l200; 3719 i202 += i201; 3720 l202 = l201; 3721 i203 += i202; 3722 l203 = l202; 3723 i204 += i203; 3724 l204 = l203; 3725 i205 += i204; 3726 l205 = l204; 3727 i206 += i205; 3728 l206 = l205; 3729 i207 += i206; 3730 l207 = l206; 3731 i208 += i207; 3732 l208 = l207; 3733 i209 += i208; 3734 l209 = l208; 3735 i210 += i209; 3736 l210 = l209; 3737 i211 += i210; 3738 l211 = l210; 3739 i212 += i211; 3740 l212 = l211; 3741 i213 += i212; 3742 l213 = l212; 3743 i214 += i213; 3744 l214 = l213; 3745 i215 += i214; 3746 l215 = l214; 3747 i216 += i215; 3748 l216 = l215; 3749 i217 += i216; 3750 l217 = l216; 3751 i218 += i217; 3752 l218 = l217; 3753 i219 += i218; 3754 l219 = l218; 3755 i220 += i219; 3756 l220 = l219; 3757 i221 += i220; 3758 l221 = l220; 3759 i222 += i221; 3760 l222 = l221; 3761 i223 += i222; 3762 l223 = l222; 3763 i224 += i223; 3764 l224 = l223; 3765 i225 += i224; 3766 l225 = l224; 3767 i226 += i225; 3768 l226 = l225; 3769 i227 += i226; 3770 l227 = l226; 3771 i228 += i227; 3772 l228 = l227; 3773 i229 += i228; 3774 l229 = l228; 3775 i230 += i229; 3776 l230 = l229; 3777 i231 += i230; 3778 l231 = l230; 3779 i232 += i231; 3780 l232 = l231; 3781 i233 += i232; 3782 l233 = l232; 3783 i234 += i233; 3784 l234 = l233; 3785 i235 += i234; 3786 l235 = l234; 3787 i236 += i235; 3788 l236 = l235; 3789 i237 += i236; 3790 l237 = l236; 3791 i238 += i237; 3792 l238 = l237; 3793 i239 += i238; 3794 l239 = l238; 3795 i240 += i239; 3796 l240 = l239; 3797 i241 += i240; 3798 l241 = l240; 3799 i242 += i241; 3800 l242 = l241; 3801 i243 += i242; 3802 l243 = l242; 3803 i244 += i243; 3804 l244 = l243; 3805 i245 += i244; 3806 l245 = l244; 3807 i246 += i245; 3808 l246 = l245; 3809 i247 += i246; 3810 l247 = l246; 3811 i248 += i247; 3812 l248 = l247; 3813 i249 += i248; 3814 l249 = l248; 3815 i250 += i249; 3816 l250 = l249; 3817 i251 += i250; 3818 l251 = l250; 3819 i252 += i251; 3820 l252 = l251; 3821 i253 += i252; 3822 l253 = l252; 3823 i254 += i253; 3824 l254 = l253; 3825 i255 += i254; 3826 l255 = l254; 3827 i256 += i255; 3828 l256 = l255; 3829 i257 += i256; 3830 l257 = l256; 3831 i258 += i257; 3832 l258 = l257; 3833 i259 += i258; 3834 l259 = l258; 3835 i260 += i259; 3836 l260 = l259; 3837 i261 += i260; 3838 l261 = l260; 3839 i262 += i261; 3840 l262 = l261; 3841 i263 += i262; 3842 l263 = l262; 3843 i264 += i263; 3844 l264 = l263; 3845 i265 += i264; 3846 l265 = l264; 3847 i266 += i265; 3848 l266 = l265; 3849 i267 += i266; 3850 l267 = l266; 3851 i268 += i267; 3852 l268 = l267; 3853 i269 += i268; 3854 l269 = l268; 3855 i270 += i269; 3856 l270 = l269; 3857 i271 += i270; 3858 l271 = l270; 3859 i272 += i271; 3860 l272 = l271; 3861 i273 += i272; 3862 l273 = l272; 3863 i274 += i273; 3864 l274 = l273; 3865 i275 += i274; 3866 l275 = l274; 3867 i276 += i275; 3868 l276 = l275; 3869 i277 += i276; 3870 l277 = l276; 3871 i278 += i277; 3872 l278 = l277; 3873 i279 += i278; 3874 l279 = l278; 3875 i280 += i279; 3876 l280 = l279; 3877 i281 += i280; 3878 l281 = l280; 3879 i282 += i281; 3880 l282 = l281; 3881 i283 += i282; 3882 l283 = l282; 3883 i284 += i283; 3884 l284 = l283; 3885 i285 += i284; 3886 l285 = l284; 3887 i286 += i285; 3888 l286 = l285; 3889 i287 += i286; 3890 l287 = l286; 3891 i288 += i287; 3892 l288 = l287; 3893 i289 += i288; 3894 l289 = l288; 3895 i290 += i289; 3896 l290 = l289; 3897 i291 += i290; 3898 l291 = l290; 3899 i292 += i291; 3900 l292 = l291; 3901 i293 += i292; 3902 l293 = l292; 3903 i294 += i293; 3904 l294 = l293; 3905 i295 += i294; 3906 l295 = l294; 3907 i296 += i295; 3908 l296 = l295; 3909 i297 += i296; 3910 l297 = l296; 3911 i298 += i297; 3912 l298 = l297; 3913 i299 += i298; 3914 l299 = l298; 3915 i300 += i299; 3916 l300 = l299; 3917 i301 += i300; 3918 l301 = l300; 3919 i302 += i301; 3920 l302 = l301; 3921 i303 += i302; 3922 l303 = l302; 3923 i304 += i303; 3924 l304 = l303; 3925 i305 += i304; 3926 l305 = l304; 3927 i306 += i305; 3928 l306 = l305; 3929 i307 += i306; 3930 l307 = l306; 3931 i308 += i307; 3932 l308 = l307; 3933 i309 += i308; 3934 l309 = l308; 3935 i310 += i309; 3936 l310 = l309; 3937 i311 += i310; 3938 l311 = l310; 3939 i312 += i311; 3940 l312 = l311; 3941 i313 += i312; 3942 l313 = l312; 3943 i314 += i313; 3944 l314 = l313; 3945 i315 += i314; 3946 l315 = l314; 3947 i316 += i315; 3948 l316 = l315; 3949 i317 += i316; 3950 l317 = l316; 3951 i318 += i317; 3952 l318 = l317; 3953 i319 += i318; 3954 l319 = l318; 3955 i320 += i319; 3956 l320 = l319; 3957 i321 += i320; 3958 l321 = l320; 3959 i322 += i321; 3960 l322 = l321; 3961 i323 += i322; 3962 l323 = l322; 3963 i324 += i323; 3964 l324 = l323; 3965 i325 += i324; 3966 l325 = l324; 3967 i326 += i325; 3968 l326 = l325; 3969 i327 += i326; 3970 l327 = l326; 3971 i328 += i327; 3972 l328 = l327; 3973 i329 += i328; 3974 l329 = l328; 3975 i330 += i329; 3976 l330 = l329; 3977 i331 += i330; 3978 l331 = l330; 3979 i332 += i331; 3980 l332 = l331; 3981 i333 += i332; 3982 l333 = l332; 3983 i334 += i333; 3984 l334 = l333; 3985 i335 += i334; 3986 l335 = l334; 3987 i336 += i335; 3988 l336 = l335; 3989 i337 += i336; 3990 l337 = l336; 3991 i338 += i337; 3992 l338 = l337; 3993 i339 += i338; 3994 l339 = l338; 3995 i340 += i339; 3996 l340 = l339; 3997 i341 += i340; 3998 l341 = l340; 3999 i342 += i341; 4000 l342 = l341; 4001 i343 += i342; 4002 l343 = l342; 4003 i344 += i343; 4004 l344 = l343; 4005 i345 += i344; 4006 l345 = l344; 4007 i346 += i345; 4008 l346 = l345; 4009 i347 += i346; 4010 l347 = l346; 4011 i348 += i347; 4012 l348 = l347; 4013 i349 += i348; 4014 l349 = l348; 4015 i350 += i349; 4016 l350 = l349; 4017 i351 += i350; 4018 l351 = l350; 4019 i352 += i351; 4020 l352 = l351; 4021 i353 += i352; 4022 l353 = l352; 4023 i354 += i353; 4024 l354 = l353; 4025 i355 += i354; 4026 l355 = l354; 4027 i356 += i355; 4028 l356 = l355; 4029 i357 += i356; 4030 l357 = l356; 4031 i358 += i357; 4032 l358 = l357; 4033 i359 += i358; 4034 l359 = l358; 4035 i360 += i359; 4036 l360 = l359; 4037 i361 += i360; 4038 l361 = l360; 4039 i362 += i361; 4040 l362 = l361; 4041 i363 += i362; 4042 l363 = l362; 4043 i364 += i363; 4044 l364 = l363; 4045 i365 += i364; 4046 l365 = l364; 4047 i366 += i365; 4048 l366 = l365; 4049 i367 += i366; 4050 l367 = l366; 4051 i368 += i367; 4052 l368 = l367; 4053 i369 += i368; 4054 l369 = l368; 4055 i370 += i369; 4056 l370 = l369; 4057 i371 += i370; 4058 l371 = l370; 4059 i372 += i371; 4060 l372 = l371; 4061 i373 += i372; 4062 l373 = l372; 4063 i374 += i373; 4064 l374 = l373; 4065 i375 += i374; 4066 l375 = l374; 4067 i376 += i375; 4068 l376 = l375; 4069 i377 += i376; 4070 l377 = l376; 4071 i378 += i377; 4072 l378 = l377; 4073 i379 += i378; 4074 l379 = l378; 4075 i380 += i379; 4076 l380 = l379; 4077 i381 += i380; 4078 l381 = l380; 4079 i382 += i381; 4080 l382 = l381; 4081 i383 += i382; 4082 l383 = l382; 4083 i384 += i383; 4084 l384 = l383; 4085 i385 += i384; 4086 l385 = l384; 4087 i386 += i385; 4088 l386 = l385; 4089 i387 += i386; 4090 l387 = l386; 4091 i388 += i387; 4092 l388 = l387; 4093 i389 += i388; 4094 l389 = l388; 4095 i390 += i389; 4096 l390 = l389; 4097 i391 += i390; 4098 l391 = l390; 4099 i392 += i391; 4100 l392 = l391; 4101 i393 += i392; 4102 l393 = l392; 4103 i394 += i393; 4104 l394 = l393; 4105 i395 += i394; 4106 l395 = l394; 4107 i396 += i395; 4108 l396 = l395; 4109 i397 += i396; 4110 l397 = l396; 4111 i398 += i397; 4112 l398 = l397; 4113 i399 += i398; 4114 l399 = l398; 4115 i400 += i399; 4116 l400 = l399; 4117 i401 += i400; 4118 l401 = l400; 4119 i402 += i401; 4120 l402 = l401; 4121 i403 += i402; 4122 l403 = l402; 4123 i404 += i403; 4124 l404 = l403; 4125 i405 += i404; 4126 l405 = l404; 4127 i406 += i405; 4128 l406 = l405; 4129 i407 += i406; 4130 l407 = l406; 4131 i408 += i407; 4132 l408 = l407; 4133 i409 += i408; 4134 l409 = l408; 4135 i410 += i409; 4136 l410 = l409; 4137 i411 += i410; 4138 l411 = l410; 4139 i412 += i411; 4140 l412 = l411; 4141 i413 += i412; 4142 l413 = l412; 4143 i414 += i413; 4144 l414 = l413; 4145 i415 += i414; 4146 l415 = l414; 4147 i416 += i415; 4148 l416 = l415; 4149 i417 += i416; 4150 l417 = l416; 4151 i418 += i417; 4152 l418 = l417; 4153 i419 += i418; 4154 l419 = l418; 4155 i420 += i419; 4156 l420 = l419; 4157 i421 += i420; 4158 l421 = l420; 4159 i422 += i421; 4160 l422 = l421; 4161 i423 += i422; 4162 l423 = l422; 4163 i424 += i423; 4164 l424 = l423; 4165 i425 += i424; 4166 l425 = l424; 4167 i426 += i425; 4168 l426 = l425; 4169 i427 += i426; 4170 l427 = l426; 4171 i428 += i427; 4172 l428 = l427; 4173 i429 += i428; 4174 l429 = l428; 4175 i430 += i429; 4176 l430 = l429; 4177 i431 += i430; 4178 l431 = l430; 4179 i432 += i431; 4180 l432 = l431; 4181 i433 += i432; 4182 l433 = l432; 4183 i434 += i433; 4184 l434 = l433; 4185 i435 += i434; 4186 l435 = l434; 4187 i436 += i435; 4188 l436 = l435; 4189 i437 += i436; 4190 l437 = l436; 4191 i438 += i437; 4192 l438 = l437; 4193 i439 += i438; 4194 l439 = l438; 4195 i440 += i439; 4196 l440 = l439; 4197 i441 += i440; 4198 l441 = l440; 4199 i442 += i441; 4200 l442 = l441; 4201 i443 += i442; 4202 l443 = l442; 4203 i444 += i443; 4204 l444 = l443; 4205 i445 += i444; 4206 l445 = l444; 4207 i446 += i445; 4208 l446 = l445; 4209 i447 += i446; 4210 l447 = l446; 4211 i448 += i447; 4212 l448 = l447; 4213 i449 += i448; 4214 l449 = l448; 4215 i450 += i449; 4216 l450 = l449; 4217 i451 += i450; 4218 l451 = l450; 4219 i452 += i451; 4220 l452 = l451; 4221 i453 += i452; 4222 l453 = l452; 4223 i454 += i453; 4224 l454 = l453; 4225 i455 += i454; 4226 l455 = l454; 4227 i456 +=