#define M m=(m<<5)+m+*w++
#define N n=*w1++ +65599*n

short mphf(key) 
char* key;
{
  register long g, h, n, loop, m, len;
  register char* w;
  register char* w1;

  w = w1 = key;
  h = n = m =0;
  loop= len = strlen(key); 
  while(loop--)
    h = h*37^(*w++ -' ');
  h %= 1048583;
  w = key; 
  loop = (len + 8 - 1)>>3; 
  switch (len & (8-1)){
    case 0:do 
           { N; M;
    case 7:  N; M;
    case 6:  N; M;
    case 5:  N; M;
    case 4:  N; M;
    case 3:  N; M;
    case 2:  N; M;
    case 1:  N; M;
           } while(--loop);
  } 
  return(compute(h,m,n));
}

long compute(h,m,n)
register long h,m,n;
{register long g;
switch( abs(h%6880)){
case 0 :g =769; break;
case 1 :g =140; break;
case 2 :g =3; break;
case 3 :g =66; break;
case 4 :g =0; break;
case 5 :g =-1; break;
case 6 :g =5; break;
case 7 :g =5431; break;
case 8 :g =142; break;
case 9 :g =323; break;
case 10 :g =0; break;
case 11 :g =43; break;
case 12 :g =123; break;
case 13 :g =72; break;
case 14 :g =2380; break;
case 15 :g =1997; break;
case 16 :g =1451; break;
case 17 :g =962; break;
case 18 :g =686; break;
case 19 :g =633; break;
case 20 :g =41; break;
case 21 :g =13; break;
case 22 :g =1161; break;
case 23 :g =201; break;
case 24 :g =11; break;
case 25 :g =565; break;
case 26 :g =4623; break;
case 27 :g =180; break;
case 28 :g =5; break;
case 29 :g =2496; break;
case 30 :g =312; break;
case 31 :g =2595; break;
case 32 :g =5323; break;
case 33 :g =595; break;
case 34 :g =0; break;
case 35 :g =139; break;
case 36 :g =686; break;
case 37 :g =60; break;
case 38 :g =53; break;
case 39 :g =869; break;
case 40 :g =4228; break;
case 41 :g =0; break;
case 42 :g =1085; break;
case 43 :g =2042; break;
case 44 :g =871; break;
case 45 :g =0; break;
case 46 :g =201; break;
case 47 :g =54; break;
case 48 :g =711; break;
case 49 :g =151; break;
case 50 :g =4024; break;
case 51 :g =2476; break;
case 52 :g =2476; break;
case 53 :g =73; break;
case 54 :g =254; break;
case 55 :g =667; break;
case 56 :g =186; break;
case 57 :g =4044; break;
case 58 :g =1219; break;
case 59 :g =390; break;
case 60 :g =0; break;
case 61 :g =0; break;
case 62 :g =0; break;
case 63 :g =231; break;
case 64 :g =0; break;
case 65 :g =4257; break;
case 66 :g =314; break;
case 67 :g =618; break;
case 68 :g =272; break;
case 69 :g =463; break;
case 70 :g =47; break;
case 71 :g =1365; break;
case 72 :g =884; break;
case 73 :g =11; break;
case 74 :g =0; break;
case 75 :g =30; break;
case 76 :g =0; break;
case 77 :g =2427; break;
case 78 :g =0; break;
case 79 :g =0; break;
case 80 :g =0; break;
case 81 :g =756; break;
case 82 :g =178; break;
case 83 :g =384; break;
case 84 :g =0; break;
case 85 :g =547; break;
case 86 :g =246; break;
case 87 :g =3771; break;
case 88 :g =160; break;
case 89 :g =13; break;
case 90 :g =2124; break;
case 91 :g =313; break;
case 92 :g =99; break;
case 93 :g =542; break;
case 94 :g =167; break;
case 95 :g =6783; break;
case 96 :g =4838; break;
case 97 :g =1389; break;
case 98 :g =1332; break;
case 99 :g =150; break;
case 100 :g =310; break;
case 101 :g =807; break;
case 102 :g =701; break;
case 103 :g =680; break;
case 104 :g =691; break;
case 105 :g =783; break;
case 106 :g =151; break;
case 107 :g =1632; break;
case 108 :g =0; break;
case 109 :g =254; break;
case 110 :g =90; break;
case 111 :g =5980; break;
case 112 :g =5884; break;
case 113 :g =1790; break;
case 114 :g =269; break;
case 115 :g =497; break;
case 116 :g =2151; break;
case 117 :g =579; break;
case 118 :g =1097; break;
case 119 :g =86; break;
case 120 :g =147; break;
case 121 :g =3229; break;
case 122 :g =835; break;
case 123 :g =1017; break;
case 124 :g =344; break;
case 125 :g =72; break;
case 126 :g =0; break;
case 127 :g =1838; break;
case 128 :g =1536; break;
case 129 :g =1446; break;
case 130 :g =1506; break;
case 131 :g =187; break;
case 132 :g =1223; break;
case 133 :g =110; break;
case 134 :g =37; break;
case 135 :g =204; break;
case 136 :g =3851; break;
case 137 :g =670; break;
case 138 :g =329; break;
case 139 :g =1064; break;
case 140 :g =1139; break;
case 141 :g =124; break;
case 142 :g =13; break;
case 143 :g =183; break;
case 144 :g =0; break;
case 145 :g =0; break;
case 146 :g =3789; break;
case 147 :g =0; break;
case 148 :g =1753; break;
case 149 :g =1721; break;
case 150 :g =0; break;
case 151 :g =10826; break;
case 152 :g =279; break;
case 153 :g =127; break;
case 154 :g =179; break;
case 155 :g =53; break;
case 156 :g =133; break;
case 157 :g =169; break;
case 158 :g =0; break;
case 159 :g =1810; break;
case 160 :g =1486; break;
case 161 :g =0; break;
case 162 :g =29; break;
case 163 :g =230; break;
case 164 :g =10552; break;
case 165 :g =324; break;
case 166 :g =130; break;
case 167 :g =76; break;
case 168 :g =3583; break;
case 169 :g =371; break;
case 170 :g =145; break;
case 171 :g =1840; break;
case 172 :g =413; break;
case 173 :g =2507; break;
case 174 :g =22; break;
case 175 :g =29; break;
case 176 :g =1243; break;
case 177 :g =121; break;
case 178 :g =188; break;
case 179 :g =1245; break;
case 180 :g =5045; break;
case 181 :g =470; break;
case 182 :g =934; break;
case 183 :g =4182; break;
case 184 :g =486; break;
case 185 :g =2061; break;
case 186 :g =19; break;
case 187 :g =1062; break;
case 188 :g =235; break;
case 189 :g =125; break;
case 190 :g =991; break;
case 191 :g =10760; break;
case 192 :g =1242; break;
case 193 :g =0; break;
case 194 :g =552; break;
case 195 :g =180; break;
case 196 :g =127; break;
case 197 :g =1445; break;
case 198 :g =31; break;
case 199 :g =5144; break;
case 200 :g =895; break;
case 201 :g =1927; break;
case 202 :g =87; break;
case 203 :g =0; break;
case 204 :g =2134; break;
case 205 :g =1511; break;
case 206 :g =43; break;
case 207 :g =801; break;
case 208 :g =1106; break;
case 209 :g =96; break;
case 210 :g =0; break;
case 211 :g =392; break;
case 212 :g =1260; break;
case 213 :g =634; break;
case 214 :g =0; break;
case 215 :g =188; break;
case 216 :g =1212; break;
case 217 :g =2105; break;
case 218 :g =-1; break;
case 219 :g =151; break;
case 220 :g =5630; break;
case 221 :g =733; break;
case 222 :g =0; break;
case 223 :g =-1; break;
case 224 :g =252; break;
case 225 :g =1234; break;
case 226 :g =427; break;
case 227 :g =11; break;
case 228 :g =67; break;
case 229 :g =162; break;
case 230 :g =32; break;
case 231 :g =104; break;
case 232 :g =187; break;
case 233 :g =-1; break;
case 234 :g =3342; break;
case 235 :g =96; break;
case 236 :g =0; break;
case 237 :g =396; break;
case 238 :g =292; break;
case 239 :g =1738; break;
case 240 :g =1451; break;
case 241 :g =758; break;
case 242 :g =243; break;
case 243 :g =2420; break;
case 244 :g =271; break;
case 245 :g =4053; break;
case 246 :g =17; break;
case 247 :g =5528; break;
case 248 :g =0; break;
case 249 :g =3016; break;
case 250 :g =134; break;
case 251 :g =101; break;
case 252 :g =23; break;
case 253 :g =115; break;
case 254 :g =0; break;
case 255 :g =17; break;
case 256 :g =29; break;
case 257 :g =117; break;
case 258 :g =-1; break;
case 259 :g =796; break;
case 260 :g =134; break;
case 261 :g =480; break;
case 262 :g =123; break;
case 263 :g =164; break;
case 264 :g =749; break;
case 265 :g =312; break;
case 266 :g =-1; break;
case 267 :g =3468; break;
case 268 :g =2087; break;
case 269 :g =2105; break;
case 270 :g =1177; break;
case 271 :g =4398; break;
case 272 :g =426; break;
case 273 :g =283; break;
case 274 :g =1477; break;
case 275 :g =2944; break;
case 276 :g =221; break;
case 277 :g =1104; break;
case 278 :g =0; break;
case 279 :g =64; break;
case 280 :g =0; break;
case 281 :g =834; break;
case 282 :g =0; break;
case 283 :g =721; break;
case 284 :g =335; break;
case 285 :g =520; break;
case 286 :g =3145; break;
case 287 :g =727; break;
case 288 :g =598; break;
case 289 :g =4561; break;
case 290 :g =1504; break;
case 291 :g =99; break;
case 292 :g =59; break;
case 293 :g =232; break;
case 294 :g =2062; break;
case 295 :g =2623; break;
case 296 :g =2094; break;
case 297 :g =485; break;
case 298 :g =945; break;
case 299 :g =242; break;
case 300 :g =5535; break;
case 301 :g =975; break;
case 302 :g =81; break;
case 303 :g =298; break;
case 304 :g =0; break;
case 305 :g =1685; break;
case 306 :g =2305; break;
case 307 :g =617; break;
case 308 :g =632; break;
case 309 :g =1375; break;
case 310 :g =715; break;
case 311 :g =679; break;
case 312 :g =689; break;
case 313 :g =493; break;
case 314 :g =1037; break;
case 315 :g =2252; break;
case 316 :g =43; break;
case 317 :g =527; break;
case 318 :g =843; break;
case 319 :g =188; break;
case 320 :g =0; break;
case 321 :g =67; break;
case 322 :g =1338; break;
case 323 :g =1481; break;
case 324 :g =891; break;
case 325 :g =232; break;
case 326 :g =4958; break;
case 327 :g =591; break;
case 328 :g =-1; break;
case 329 :g =0; break;
case 330 :g =59; break;
case 331 :g =292; break;
case 332 :g =2443; break;
case 333 :g =167; break;
case 334 :g =42; break;
case 335 :g =444; break;
case 336 :g =4553; break;
case 337 :g =1102; break;
case 338 :g =213; break;
case 339 :g =47; break;
case 340 :g =152; break;
case 341 :g =141; break;
case 342 :g =1355; break;
case 343 :g =105; break;
case 344 :g =1400; break;
case 345 :g =231; break;
case 346 :g =5260; break;
case 347 :g =542; break;
case 348 :g =595; break;
case 349 :g =515; break;
case 350 :g =61; break;
case 351 :g =836; break;
case 352 :g =0; break;
case 353 :g =1486; break;
case 354 :g =1931; break;
case 355 :g =0; break;
case 356 :g =15808; break;
case 357 :g =0; break;
case 358 :g =-1; break;
case 359 :g =0; break;
case 360 :g =76; break;
case 361 :g =0; break;
case 362 :g =392; break;
case 363 :g =60; break;
case 364 :g =0; break;
case 365 :g =126; break;
case 366 :g =689; break;
case 367 :g =8269; break;
case 368 :g =428; break;
case 369 :g =7221; break;
case 370 :g =71; break;
case 371 :g =124; break;
case 372 :g =0; break;
case 373 :g =675; break;
case 374 :g =133; break;
case 375 :g =1034; break;
case 376 :g =333; break;
case 377 :g =6403; break;
case 378 :g =46; break;
case 379 :g =459; break;
case 380 :g =1163; break;
case 381 :g =616; break;
case 382 :g =230; break;
case 383 :g =13; break;
case 384 :g =0; break;
case 385 :g =48; break;
case 386 :g =644; break;
case 387 :g =112; break;
case 388 :g =12018; break;
case 389 :g =53; break;
case 390 :g =590; break;
case 391 :g =0; break;
case 392 :g =1122; break;
case 393 :g =833; break;
case 394 :g =567; break;
case 395 :g =211; break;
case 396 :g =253; break;
case 397 :g =0; break;
case 398 :g =5; break;
case 399 :g =507; break;
case 400 :g =2922; break;
case 401 :g =331; break;
case 402 :g =279; break;
case 403 :g =137; break;
case 404 :g =191; break;
case 405 :g =0; break;
case 406 :g =264; break;
case 407 :g =2422; break;
case 408 :g =0; break;
case 409 :g =-1; break;
case 410 :g =53; break;
case 411 :g =900; break;
case 412 :g =41; break;
case 413 :g =831; break;
case 414 :g =1; break;
case 415 :g =11; break;
case 416 :g =2464; break;
case 417 :g =0; break;
case 418 :g =4617; break;
case 419 :g =890; break;
case 420 :g =729; break;
case 421 :g =577; break;
case 422 :g =0; break;
case 423 :g =1216; break;
case 424 :g =31; break;
case 425 :g =672; break;
case 426 :g =498; break;
case 427 :g =0; break;
case 428 :g =76; break;
case 429 :g =102; break;
case 430 :g =684; break;
case 431 :g =0; break;
case 432 :g =10446; break;
case 433 :g =1152; break;
case 434 :g =989; break;
case 435 :g =345; break;
case 436 :g =0; break;
case 437 :g =3746; break;
case 438 :g =382; break;
case 439 :g =1738; break;
case 440 :g =108; break;
case 441 :g =728; break;
case 442 :g =0; break;
case 443 :g =29; break;
case 444 :g =2201; break;
case 445 :g =4684; break;
case 446 :g =404; break;
case 447 :g =1037; break;
case 448 :g =107; break;
case 449 :g =104; break;
case 450 :g =147; break;
case 451 :g =175; break;
case 452 :g =0; break;
case 453 :g =1269; break;
case 454 :g =1298; break;
case 455 :g =72; break;
case 456 :g =2992; break;
case 457 :g =8090; break;
case 458 :g =1372; break;
case 459 :g =588; break;
case 460 :g =0; break;
case 461 :g =23; break;
case 462 :g =194; break;
case 463 :g =0; break;
case 464 :g =0; break;
case 465 :g =108; break;
case 466 :g =37; break;
case 467 :g =3160; break;
case 468 :g =181; break;
case 469 :g =0; break;
case 470 :g =1362; break;
case 471 :g =1382; break;
case 472 :g =250; break;
case 473 :g =181; break;
case 474 :g =211; break;
case 475 :g =60; break;
case 476 :g =43; break;
case 477 :g =2313; break;
case 478 :g =257; break;
case 479 :g =1082; break;
case 480 :g =-1; break;
case 481 :g =89; break;
case 482 :g =4596; break;
case 483 :g =209; break;
case 484 :g =111; break;
case 485 :g =726; break;
case 486 :g =560; break;
case 487 :g =987; break;
case 488 :g =0; break;
case 489 :g =106; break;
case 490 :g =0; break;
case 491 :g =152; break;
case 492 :g =5785; break;
case 493 :g =59; break;
case 494 :g =899; break;
case 495 :g =1004; break;
case 496 :g =0; break;
case 497 :g =1351; break;
case 498 :g =5351; break;
case 499 :g =170; break;
case 500 :g =188; break;
case 501 :g =72; break;
case 502 :g =0; break;
case 503 :g =385; break;
case 504 :g =1918; break;
case 505 :g =642; break;
case 506 :g =1407; break;
case 507 :g =149; break;
case 508 :g =58; break;
case 509 :g =974; break;
case 510 :g =0; break;
case 511 :g =474; break;
case 512 :g =69; break;
case 513 :g =246; break;
case 514 :g =486; break;
case 515 :g =0; break;
case 516 :g =398; break;
case 517 :g =1340; break;
case 518 :g =4392; break;
case 519 :g =153; break;
case 520 :g =13; break;
case 521 :g =372; break;
case 522 :g =272; break;
case 523 :g =558; break;
case 524 :g =224; break;
case 525 :g =134; break;
case 526 :g =270; break;
case 527 :g =1002; break;
case 528 :g =1154; break;
case 529 :g =1285; break;
case 530 :g =3; break;
case 531 :g =929; break;
case 532 :g =1045; break;
case 533 :g =0; break;
case 534 :g =17; break;
case 535 :g =4245; break;
case 536 :g =9720; break;
case 537 :g =599; break;
case 538 :g =59; break;
case 539 :g =1624; break;
case 540 :g =67; break;
case 541 :g =1597; break;
case 542 :g =1233; break;
case 543 :g =639; break;
case 544 :g =0; break;
case 545 :g =23; break;
case 546 :g =2494; break;
case 547 :g =17; break;
case 548 :g =715; break;
case 549 :g =587; break;
case 550 :g =580; break;
case 551 :g =163; break;
case 552 :g =131; break;
case 553 :g =723; break;
case 554 :g =112; break;
case 555 :g =910; break;
case 556 :g =770; break;
case 557 :g =29; break;
case 558 :g =29; break;
case 559 :g =53; break;
case 560 :g =251; break;
case 561 :g =0; break;
case 562 :g =744; break;
case 563 :g =69; break;
case 564 :g =212; break;
case 565 :g =22; break;
case 566 :g =233; break;
case 567 :g =161; break;
case 568 :g =115; break;
case 569 :g =1176; break;
case 570 :g =314; break;
case 571 :g =12134; break;
case 572 :g =1215; break;
case 573 :g =47; break;
case 574 :g =0; break;
case 575 :g =503; break;
case 576 :g =2673; break;
case 577 :g =0; break;
case 578 :g =531; break;
case 579 :g =1039; break;
case 580 :g =301; break;
case 581 :g =0; break;
case 582 :g =6283; break;
case 583 :g =450; break;
case 584 :g =72; break;
case 585 :g =1001; break;
case 586 :g =53; break;
case 587 :g =8536; break;
case 588 :g =1290; break;
case 589 :g =160; break;
case 590 :g =149; break;
case 591 :g =241; break;
case 592 :g =222; break;
case 593 :g =228; break;
case 594 :g =3871; break;
case 595 :g =418; break;
case 596 :g =2911; break;
case 597 :g =814; break;
case 598 :g =434; break;
case 599 :g =52; break;
case 600 :g =222; break;
case 601 :g =0; break;
case 602 :g =2462; break;
case 603 :g =151; break;
case 604 :g =1760; break;
case 605 :g =546; break;
case 606 :g =130; break;
case 607 :g =3414; break;
case 608 :g =0; break;
case 609 :g =806; break;
case 610 :g =17; break;
case 611 :g =0; break;
case 612 :g =1469; break;
case 613 :g =169; break;
case 614 :g =2986; break;
case 615 :g =514; break;
case 616 :g =23; break;
case 617 :g =23; break;
case 618 :g =195; break;
case 619 :g =1882; break;
case 620 :g =811; break;
case 621 :g =471; break;
case 622 :g =449; break;
case 623 :g =132; break;
case 624 :g =250; break;
case 625 :g =0; break;
case 626 :g =1828; break;
case 627 :g =1402; break;
case 628 :g =2742; break;
case 629 :g =174; break;
case 630 :g =384; break;
case 631 :g =565; break;
case 632 :g =108; break;
case 633 :g =1205; break;
case 634 :g =199; break;
case 635 :g =23; break;
case 636 :g =0; break;
case 637 :g =7368; break;
case 638 :g =59; break;
case 639 :g =0; break;
case 640 :g =0; break;
case 641 :g =467; break;
case 642 :g =0; break;
case 643 :g =0; break;
case 644 :g =432; break;
case 645 :g =230; break;
case 646 :g =0; break;
case 647 :g =868; break;
case 648 :g =816; break;
case 649 :g =634; break;
case 650 :g =102; break;
case 651 :g =0; break;
case 652 :g =281; break;
case 653 :g =6721; break;
case 654 :g =730; break;
case 655 :g =646; break;
case 656 :g =1645; break;
case 657 :g =1104; break;
case 658 :g =0; break;
case 659 :g =269; break;
case 660 :g =41; break;
case 661 :g =752; break;
case 662 :g =112; break;
case 663 :g =860; break;
case 664 :g =4218; break;
case 665 :g =2849; break;
case 666 :g =76; break;
case 667 :g =92; break;
case 668 :g =318; break;
case 669 :g =0; break;
case 670 :g =1917; break;
case 671 :g =2008; break;
case 672 :g =236; break;
case 673 :g =1402; break;
case 674 :g =71; break;
case 675 :g =627; break;
case 676 :g =193; break;
case 677 :g =0; break;
case 678 :g =661; break;
case 679 :g =946; break;
case 680 :g =2368; break;
case 681 :g =78; break;
case 682 :g =1688; break;
case 683 :g =0; break;
case 684 :g =436; break;
case 685 :g =0; break;
case 686 :g =0; break;
case 687 :g =611; break;
case 688 :g =3027; break;
case 689 :g =95; break;
case 690 :g =490; break;
case 691 :g =4515; break;
case 692 :g =8517; break;
case 693 :g =754; break;
case 694 :g =10119; break;
case 695 :g =0; break;
case 696 :g =1252; break;
case 697 :g =37; break;
case 698 :g =3439; break;
case 699 :g =0; break;
case 700 :g =466; break;
case 701 :g =42; break;
case 702 :g =97; break;
case 703 :g =381; break;
case 704 :g =841; break;
case 705 :g =482; break;
case 706 :g =200; break;
case 707 :g =0; break;
case 708 :g =0; break;
case 709 :g =314; break;
case 710 :g =437; break;
case 711 :g =0; break;
case 712 :g =2046; break;
case 713 :g =380; break;
case 714 :g =43; break;
case 715 :g =89; break;
case 716 :g =19; break;
case 717 :g =313; break;
case 718 :g =3801; break;
case 719 :g =5849; break;
case 720 :g =228; break;
case 721 :g =164; break;
case 722 :g =127; break;
case 723 :g =4112; break;
case 724 :g =1242; break;
case 725 :g =2372; break;
case 726 :g =470; break;
case 727 :g =3915; break;
case 728 :g =2675; break;
case 729 :g =656; break;
case 730 :g =136; break;
case 731 :g =5120; break;
case 732 :g =29; break;
case 733 :g =1140; break;
case 734 :g =153; break;
case 735 :g =481; break;
case 736 :g =0; break;
case 737 :g =31; break;
case 738 :g =665; break;
case 739 :g =309; break;
case 740 :g =0; break;
case 741 :g =797; break;
case 742 :g =873; break;
case 743 :g =2375; break;
case 744 :g =102; break;
case 745 :g =1664; break;
case 746 :g =547; break;
case 747 :g =0; break;
case 748 :g =0; break;
case 749 :g =58; break;
case 750 :g =1234; break;
case 751 :g =0; break;
case 752 :g =1263; break;
case 753 :g =2212; break;
case 754 :g =2054; break;
case 755 :g =5024; break;
case 756 :g =2409; break;
case 757 :g =583; break;
case 758 :g =359; break;
case 759 :g =119; break;
case 760 :g =509; break;
case 761 :g =585; break;
case 762 :g =105; break;
case 763 :g =1526; break;
case 764 :g =2258; break;
case 765 :g =1577; break;
case 766 :g =73; break;
case 767 :g =111; break;
case 768 :g =795; break;
case 769 :g =2704; break;
case 770 :g =91; break;
case 771 :g =0; break;
case 772 :g =260; break;
case 773 :g =147; break;
case 774 :g =2527; break;
case 775 :g =7318; break;
case 776 :g =80; break;
case 777 :g =189; break;
case 778 :g =1271; break;
case 779 :g =1148; break;
case 780 :g =1417; break;
case 781 :g =487; break;
case 782 :g =6521; break;
case 783 :g =2475; break;
case 784 :g =328; break;
case 785 :g =38; break;
case 786 :g =0; break;
case 787 :g =434; break;
case 788 :g =6872; break;
case 789 :g =-1; break;
case 790 :g =205; break;
case 791 :g =7309; break;
case 792 :g =2732; break;
case 793 :g =-1; break;
case 794 :g =1260; break;
case 795 :g =206; break;
case 796 :g =206; break;
case 797 :g =19; break;
case 798 :g =3157; break;
case 799 :g =102; break;
case 800 :g =678; break;
case 801 :g =569; break;
case 802 :g =90; break;
case 803 :g =0; break;
case 804 :g =717; break;
case 805 :g =596; break;
case 806 :g =480; break;
case 807 :g =0; break;
case 808 :g =1231; break;
case 809 :g =5094; break;
case 810 :g =168; break;
case 811 :g =1358; break;
case 812 :g =114; break;
case 813 :g =3588; break;
case 814 :g =73; break;
case 815 :g =1343; break;
case 816 :g =1022; break;
case 817 :g =176; break;
case 818 :g =120; break;
case 819 :g =1614; break;
case 820 :g =419; break;
case 821 :g =0; break;
case 822 :g =13; break;
case 823 :g =73; break;
case 824 :g =766; break;
case 825 :g =2001; break;
case 826 :g =747; break;
case 827 :g =1002; break;
case 828 :g =722; break;
case 829 :g =655; break;
case 830 :g =1698; break;
case 831 :g =3516; break;
case 832 :g =0; break;
case 833 :g =1763; break;
case 834 :g =0; break;
case 835 :g =41; break;
case 836 :g =0; break;
case 837 :g =62; break;
case 838 :g =1137; break;
case 839 :g =117; break;
case 840 :g =230; break;
case 841 :g =489; break;
case 842 :g =0; break;
case 843 :g =0; break;
case 844 :g =5720; break;
case 845 :g =0; break;
case 846 :g =1234; break;
case 847 :g =856; break;
case 848 :g =0; break;
case 849 :g =3; break;
case 850 :g =748; break;
case 851 :g =29; break;
case 852 :g =2714; break;
case 853 :g =34; break;
case 854 :g =483; break;
case 855 :g =547; break;
case 856 :g =1435; break;
case 857 :g =1870; break;
case 858 :g =2679; break;
case 859 :g =240; break;
case 860 :g =474; break;
case 861 :g =111; break;
case 862 :g =198; break;
case 863 :g =1240; break;
case 864 :g =566; break;
case 865 :g =1495; break;
case 866 :g =108; break;
case 867 :g =865; break;
case 868 :g =578; break;
case 869 :g =0; break;
case 870 :g =1290; break;
case 871 :g =84; break;
case 872 :g =-1; break;
case 873 :g =93; break;
case 874 :g =403; break;
case 875 :g =2076; break;
case 876 :g =330; break;
case 877 :g =-1; break;
case 878 :g =59; break;
case 879 :g =1611; break;
case 880 :g =199; break;
case 881 :g =66; break;
case 882 :g =316; break;
case 883 :g =245; break;
case 884 :g =2501; break;
case 885 :g =1171; break;
case 886 :g =363; break;
case 887 :g =512; break;
case 888 :g =544; break;
case 889 :g =117; break;
case 890 :g =56; break;
case 891 :g =310; break;
case 892 :g =132; break;
case 893 :g =1726; break;
case 894 :g =3266; break;
case 895 :g =-1; break;
case 896 :g =216; break;
case 897 :g =3904; break;
case 898 :g =0; break;
case 899 :g =3066; break;
case 900 :g =220; break;
case 901 :g =0; break;
case 902 :g =888; break;
case 903 :g =133; break;
case 904 :g =2616; break;
case 905 :g =288; break;
case 906 :g =4425; break;
case 907 :g =40; break;
case 908 :g =1102; break;
case 909 :g =812; break;
case 910 :g =3329; break;
case 911 :g =508; break;
case 912 :g =578; break;
case 913 :g =112; break;
case 914 :g =1136; break;
case 915 :g =0; break;
case 916 :g =638; break;
case 917 :g =782; break;
case 918 :g =1416; break;
case 919 :g =140; break;
case 920 :g =98; break;
case 921 :g =1280; break;
case 922 :g =71; break;
case 923 :g =0; break;
case 924 :g =4700; break;
case 925 :g =3196; break;
case 926 :g =340; break;
case 927 :g =0; break;
case 928 :g =933; break;
case 929 :g =240; break;
case 930 :g =2065; break;
case 931 :g =1462; break;
case 932 :g =0; break;
case 933 :g =133; break;
case 934 :g =0; break;
case 935 :g =55; break;
case 936 :g =34; break;
case 937 :g =269; break;
case 938 :g =3311; break;
case 939 :g =2880; break;
case 940 :g =131; break;
case 941 :g =1942; break;
case 942 :g =1834; break;
case 943 :g =50; break;
case 944 :g =222; break;
case 945 :g =64; break;
case 946 :g =442; break;
case 947 :g =117; break;
case 948 :g =2095; break;
case 949 :g =344; break;
case 950 :g =0; break;
case 951 :g =116; break;
case 952 :g =-1; break;
case 953 :g =111; break;
case 954 :g =205; break;
case 955 :g =922; break;
case 956 :g =616; break;
case 957 :g =2326; break;
case 958 :g =2247; break;
case 959 :g =1745; break;
case 960 :g =1790; break;
case 961 :g =4547; break;
case 962 :g =3058; break;
case 963 :g =41; break;
case 964 :g =60; break;
case 965 :g =280; break;
case 966 :g =7101; break;
case 967 :g =3672; break;
case 968 :g =0; break;
case 969 :g =3; break;
case 970 :g =59; break;
case 971 :g =0; break;
case 972 :g =4422; break;
case 973 :g =325; break;
case 974 :g =0; break;
case 975 :g =29; break;
case 976 :g =0; break;
case 977 :g =672; break;
case 978 :g =237; break;
case 979 :g =810; break;
case 980 :g =59; break;
case 981 :g =962; break;
case 982 :g =1058; break;
case 983 :g =3503; break;
case 984 :g =2309; break;
case 985 :g =470; break;
case 986 :g =951; break;
case 987 :g =2403; break;
case 988 :g =63; break;
case 989 :g =198; break;
case 990 :g =7830; break;
case 991 :g =3279; break;
case 992 :g =664; break;
case 993 :g =122; break;
case 994 :g =0; break;
case 995 :g =300; break;
case 996 :g =1581; break;
case 997 :g =192; break;
case 998 :g =2847; break;
case 999 :g =9930; break;
case 1000 :g =736; break;
case 1001 :g =5; break;
case 1002 :g =0; break;
case 1003 :g =5674; break;
case 1004 :g =461; break;
case 1005 :g =299; break;
case 1006 :g =0; break;
case 1007 :g =343; break;
case 1008 :g =291; break;
case 1009 :g =30; break;
case 1010 :g =275; break;
case 1011 :g =236; break;
case 1012 :g =1834; break;
case 1013 :g =0; break;
case 1014 :g =114; break;
case 1015 :g =1642; break;
case 1016 :g =1120; break;
case 1017 :g =202; break;
case 1018 :g =77; break;
case 1019 :g =34; break;
case 1020 :g =-1; break;
case 1021 :g =41; break;
case 1022 :g =1400; break;
case 1023 :g =0; break;
case 1024 :g =480; break;
case 1025 :g =4022; break;
case 1026 :g =605; break;
case 1027 :g =270; break;
case 1028 :g =0; break;
case 1029 :g =1134; break;
case 1030 :g =56; break;
case 1031 :g =1174; break;
case 1032 :g =516; break;
case 1033 :g =420; break;
case 1034 :g =7871; break;
case 1035 :g =3; break;
case 1036 :g =869; break;
case 1037 :g =360; break;
case 1038 :g =1039; break;
case 1039 :g =415; break;
case 1040 :g =43; break;
case 1041 :g =9091; break;
case 1042 :g =1396; break;
case 1043 :g =188; break;
case 1044 :g =704; break;
case 1045 :g =984; break;
case 1046 :g =149; break;
case 1047 :g =314; break;
case 1048 :g =0; break;
case 1049 :g =712; break;
case 1050 :g =4497; break;
case 1051 :g =61; break;
case 1052 :g =0; break;
case 1053 :g =4280; break;
case 1054 :g =923; break;
case 1055 :g =0; break;
case 1056 :g =0; break;
case 1057 :g =231; break;
case 1058 :g =23; break;
case 1059 :g =6066; break;
case 1060 :g =521; break;
case 1061 :g =558; break;
case 1062 :g =489; break;
case 1063 :g =56; break;
case 1064 :g =0; break;
case 1065 :g =183; break;
case 1066 :g =0; break;
case 1067 :g =47; break;
case 1068 :g =988; break;
case 1069 :g =520; break;
case 1070 :g =154; break;
case 1071 :g =108; break;
case 1072 :g =597; break;
case 1073 :g =364; break;
case 1074 :g =61; break;
case 1075 :g =4251; break;
case 1076 :g =4406; break;
case 1077 :g =0; break;
case 1078 :g =961; break;
case 1079 :g =0; break;
case 1080 :g =644; break;
case 1081 :g =1575; break;
case 1082 :g =47; break;
case 1083 :g =15099; break;
case 1084 :g =14; break;
case 1085 :g =58; break;
case 1086 :g =487; break;
case 1087 :g =37; break;
case 1088 :g =156; break;
case 1089 :g =0; break;
case 1090 :g =2635; break;
case 1091 :g =23; break;
case 1092 :g =138; break;
case 1093 :g =135; break;
case 1094 :g =1945; break;
case 1095 :g =664; break;
case 1096 :g =1809; break;
case 1097 :g =5; break;
case 1098 :g =1458; break;
case 1099 :g =2196; break;
case 1100 :g =177; break;
case 1101 :g =1498; break;
case 1102 :g =494; break;
case 1103 :g =0; break;
case 1104 :g =0; break;
case 1105 :g =-1; break;
case 1106 :g =2703; break;
case 1107 :g =692; break;
case 1108 :g =3648; break;
case 1109 :g =0; break;
case 1110 :g =6370; break;
case 1111 :g =672; break;
case 1112 :g =1235; break;
case 1113 :g =2875; break;
case 1114 :g =0; break;
case 1115 :g =866; break;
case 1116 :g =0; break;
case 1117 :g =0; break;
case 1118 :g =102; break;
case 1119 :g =1518; break;
case 1120 :g =64; break;
case 1121 :g =4709; break;
case 1122 :g =3440; break;
case 1123 :g =278; break;
case 1124 :g =6552; break;
case 1125 :g =2297; break;
case 1126 :g =144; break;
case 1127 :g =73; break;
case 1128 :g =4000; break;
case 1129 :g =2548; break;
case 1130 :g =1220; break;
case 1131 :g =746; break;
case 1132 :g =990; break;
case 1133 :g =1867; break;
case 1134 :g =292; break;
case 1135 :g =11; break;
case 1136 :g =747; break;
case 1137 :g =254; break;
case 1138 :g =5488; break;
case 1139 :g =1843; break;
case 1140 :g =0; break;
case 1141 :g =2105; break;
case 1142 :g =17; break;
case 1143 :g =910; break;
case 1144 :g =1359; break;
case 1145 :g =17; break;
case 1146 :g =0; break;
case 1147 :g =141; break;
case 1148 :g =80; break;
case 1149 :g =3351; break;
case 1150 :g =693; break;
case 1151 :g =103; break;
case 1152 :g =56; break;
case 1153 :g =520; break;
case 1154 :g =60; break;
case 1155 :g =96; break;
case 1156 :g =4936; break;
case 1157 :g =1851; break;
case 1158 :g =145; break;
case 1159 :g =43; break;
case 1160 :g =0; break;
case 1161 :g =1055; break;
case 1162 :g =4492; break;
case 1163 :g =254; break;
case 1164 :g =180; break;
case 1165 :g =740; break;
case 1166 :g =146; break;
case 1167 :g =0; break;
case 1168 :g =390; break;
case 1169 :g =255; break;
case 1170 :g =-1; break;
case 1171 :g =3020; break;
case 1172 :g =1313; break;
case 1173 :g =8628; break;
case 1174 :g =4320; break;
case 1175 :g =111; break;
case 1176 :g =5252; break;
case 1177 :g =568; break;
case 1178 :g =542; break;
case 1179 :g =0; break;
case 1180 :g =287; break;
case 1181 :g =586; break;
case 1182 :g =2324; break;
case 1183 :g =2517; break;
case 1184 :g =150; break;
case 1185 :g =239; break;
case 1186 :g =0; break;
case 1187 :g =59; break;
case 1188 :g =43; break;
case 1189 :g =0; break;
case 1190 :g =2618; break;
case 1191 :g =3580; break;
case 1192 :g =280; break;
case 1193 :g =52; break;
case 1194 :g =73; break;
case 1195 :g =-1; break;
case 1196 :g =73; break;
case 1197 :g =508; break;
case 1198 :g =10647; break;
case 1199 :g =821; break;
case 1200 :g =-1; break;
case 1201 :g =-1; break;
case 1202 :g =4868; break;
case 1203 :g =3216; break;
case 1204 :g =-1; break;
case 1205 :g =128; break;
case 1206 :g =284; break;
case 1207 :g =1765; break;
case 1208 :g =2037; break;
case 1209 :g =-1; break;
case 1210 :g =4159; break;
case 1211 :g =1406; break;
case 1212 :g =1297; break;
case 1213 :g =846; break;
case 1214 :g =41; break;
case 1215 :g =643; break;
case 1216 :g =125; break;
case 1217 :g =412; break;
case 1218 :g =633; break;
case 1219 :g =406; break;
case 1220 :g =234; break;
case 1221 :g =36; break;
case 1222 :g =110; break;
case 1223 :g =763; break;
case 1224 :g =213; break;
case 1225 :g =2021; break;
case 1226 :g =-1; break;
case 1227 :g =5164; break;
case 1228 :g =3741; break;
case 1229 :g =5033; break;
case 1230 :g =2860; break;
case 1231 :g =8942; break;
case 1232 :g =44; break;
case 1233 :g =1708; break;
case 1234 :g =0; break;
case 1235 :g =797; break;
case 1236 :g =71; break;
case 1237 :g =1116; break;
case 1238 :g =0; break;
case 1239 :g =0; break;
case 1240 :g =4101; break;
case 1241 :g =355; break;
case 1242 :g =108; break;
case 1243 :g =2001; break;
case 1244 :g =77; break;
case 1245 :g =547; break;
case 1246 :g =1008; break;
case 1247 :g =14751; break;
case 1248 :g =333; break;
case 1249 :g =561; break;
case 1250 :g =1018; break;
case 1251 :g =325; break;
case 1252 :g =174; break;
case 1253 :g =53; break;
case 1254 :g =10198; break;
case 1255 :g =736; break;
case 1256 :g =1308; break;
case 1257 :g =10; break;
case 1258 :g =0; break;
case 1259 :g =165; break;
case 1260 :g =845; break;
case 1261 :g =1798; break;
case 1262 :g =84; break;
case 1263 :g =254; break;
case 1264 :g =961; break;
case 1265 :g =3966; break;
case 1266 :g =133; break;
case 1267 :g =961; break;
case 1268 :g =5557; break;
case 1269 :g =136; break;
case 1270 :g =2871; break;
case 1271 :g =0; break;
case 1272 :g =1384; break;
case 1273 :g =801; break;
case 1274 :g =720; break;
case 1275 :g =14; break;
case 1276 :g =338; break;
case 1277 :g =162; break;
case 1278 :g =600; break;
case 1279 :g =279; break;
case 1280 :g =838; break;
case 1281 :g =590; break;
case 1282 :g =3622; break;
case 1283 :g =1194; break;
case 1284 :g =113; break;
case 1285 :g =0; break;
case 1286 :g =0; break;
case 1287 :g =789; break;
case 1288 :g =0; break;
case 1289 :g =6850; break;
case 1290 :g =247; break;
case 1291 :g =1098; break;
case 1292 :g =1070; break;
case 1293 :g =60; break;
case 1294 :g =4636; break;
case 1295 :g =1006; break;
case 1296 :g =851; break;
case 1297 :g =0; break;
case 1298 :g =316; break;
case 1299 :g =1279; break;
case 1300 :g =275; break;
case 1301 :g =29; break;
case 1302 :g =3300; break;
case 1303 :g =1382; break;
case 1304 :g =1134; break;
case 1305 :g =37; break;
case 1306 :g =-1; break;
case 1307 :g =17; break;
case 1308 :g =28; break;
case 1309 :g =0; break;
case 1310 :g =262; break;
case 1311 :g =300; break;
case 1312 :g =13; break;
case 1313 :g =202; break;
case 1314 :g =1819; break;
case 1315 :g =19; break;
case 1316 :g =979; break;
case 1317 :g =0; break;
case 1318 :g =1882; break;
case 1319 :g =1504; break;
case 1320 :g =2687; break;
case 1321 :g =516; break;
case 1322 :g =291; break;
case 1323 :g =1652; break;
case 1324 :g =2108; break;
case 1325 :g =205; break;
case 1326 :g =73; break;
case 1327 :g =616; break;
case 1328 :g =50; break;
case 1329 :g =2698; break;
case 1330 :g =485; break;
case 1331 :g =937; break;
case 1332 :g =1969; break;
case 1333 :g =129; break;
case 1334 :g =32; break;
case 1335 :g =2468; break;
case 1336 :g =2109; break;
case 1337 :g =62; break;
case 1338 :g =1473; break;
case 1339 :g =0; break;
case 1340 :g =0; break;
case 1341 :g =0; break;
case 1342 :g =2244; break;
case 1343 :g =0; break;
case 1344 :g =0; break;
case 1345 :g =2119; break;
case 1346 :g =710; break;
case 1347 :g =794; break;
case 1348 :g =93; break;
case 1349 :g =3077; break;
case 1350 :g =2024; break;
case 1351 :g =3583; break;
case 1352 :g =252; break;
case 1353 :g =207; break;
case 1354 :g =8718; break;
case 1355 :g =301; break;
case 1356 :g =162; break;
case 1357 :g =68; break;
case 1358 :g =516; break;
case 1359 :g =359; break;
case 1360 :g =397; break;
case 1361 :g =0; break;
case 1362 :g =1099; break;
case 1363 :g =3; break;
case 1364 :g =827; break;
case 1365 :g =0; break;
case 1366 :g =173; break;
case 1367 :g =129; break;
case 1368 :g =6801; break;
case 1369 :g =0; break;
case 1370 :g =1720; break;
case 1371 :g =3353; break;
case 1372 :g =2246; break;
case 1373 :g =46; break;
case 1374 :g =67; break;
case 1375 :g =1927; break;
case 1376 :g =265; break;
case 1377 :g =1195; break;
case 1378 :g =2919; break;
case 1379 :g =2396; break;
case 1380 :g =357; break;
case 1381 :g =665; break;
case 1382 :g =615; break;
case 1383 :g =198; break;
case 1384 :g =563; break;
case 1385 :g =167; break;
case 1386 :g =2114; break;
case 1387 :g =0; break;
case 1388 :g =1604; break;
case 1389 :g =2289; break;
case 1390 :g =0; break;
case 1391 :g =942; break;
case 1392 :g =2999; break;
case 1393 :g =172; break;
case 1394 :g =2499; break;
case 1395 :g =734; break;
case 1396 :g =0; break;
case 1397 :g =520; break;
case 1398 :g =1218; break;
case 1399 :g =1657; break;
case 1400 :g =19; break;
case 1401 :g =4669; break;
case 1402 :g =1996; break;
case 1403 :g =342; break;
case 1404 :g =90; break;
case 1405 :g =163; break;
case 1406 :g =4466; break;
case 1407 :g =59; break;
case 1408 :g =64; break;
case 1409 :g =2625; break;
case 1410 :g =1666; break;
case 1411 :g =370; break;
case 1412 :g =295; break;
case 1413 :g =497; break;
case 1414 :g =23; break;
case 1415 :g =53; break;
case 1416 :g =410; break;
case 1417 :g =0; break;
case 1418 :g =2478; break;
case 1419 :g =37; break;
case 1420 :g =797; break;
case 1421 :g =28; break;
case 1422 :g =0; break;
case 1423 :g =-1; break;
case 1424 :g =1542; break;
case 1425 :g =1168; break;
case 1426 :g =97; break;
case 1427 :g =149; break;
case 1428 :g =3020; break;
case 1429 :g =210; break;
case 1430 :g =5; break;
case 1431 :g =1407; break;
case 1432 :g =741; break;
case 1433 :g =800; break;
case 1434 :g =223; break;
case 1435 :g =937; break;
case 1436 :g =4521; break;
case 1437 :g =0; break;
case 1438 :g =1392; break;
case 1439 :g =2697; break;
case 1440 :g =3080; break;
case 1441 :g =224; break;
case 1442 :g =863; break;
case 1443 :g =778; break;
case 1444 :g =6999; break;
case 1445 :g =912; break;
case 1446 :g =5708; break;
case 1447 :g =232; break;
case 1448 :g =100; break;
case 1449 :g =2722; break;
case 1450 :g =-1; break;
case 1451 :g =163; break;
case 1452 :g =0; break;
case 1453 :g =266; break;
case 1454 :g =0; break;
case 1455 :g =4960; break;
case 1456 :g =1448; break;
case 1457 :g =82; break;
case 1458 :g =205; break;
case 1459 :g =1145; break;
case 1460 :g =0; break;
case 1461 :g =119; break;
case 1462 :g =762; break;
case 1463 :g =29; break;
case 1464 :g =1736; break;
case 1465 :g =94; break;
case 1466 :g =49; break;
case 1467 :g =5; break;
case 1468 :g =568; break;
case 1469 :g =-1; break;
case 1470 :g =158; break;
case 1471 :g =735; break;
case 1472 :g =217; break;
case 1473 :g =607; break;
case 1474 :g =5990; break;
case 1475 :g =560; break;
case 1476 :g =182; break;
case 1477 :g =0; break;
case 1478 :g =29; break;
case 1479 :g =1349; break;
case 1480 :g =965; break;
case 1481 :g =717; break;
case 1482 :g =949; break;
case 1483 :g =0; break;
case 1484 :g =20; break;
case 1485 :g =323; break;
case 1486 :g =798; break;
case 1487 :g =-1; break;
case 1488 :g =0; break;
case 1489 :g =461; break;
case 1490 :g =990; break;
case 1491 :g =0; break;
case 1492 :g =0; break;
case 1493 :g =569; break;
case 1494 :g =111; break;
case 1495 :g =2362; break;
case 1496 :g =332; break;
case 1497 :g =534; break;
case 1498 :g =226; break;
case 1499 :g =273; break;
case 1500 :g =68; break;
case 1501 :g =1442; break;
case 1502 :g =784; break;
case 1503 :g =936; break;
case 1504 :g =476; break;
case 1505 :g =0; break;
case 1506 :g =212; break;
case 1507 :g =22; break;
case 1508 :g =27; break;
case 1509 :g =66; break;
case 1510 :g =9582; break;
case 1511 :g =354; break;
case 1512 :g =0; break;
case 1513 :g =0; break;
case 1514 :g =324; break;
case 1515 :g =997; break;
case 1516 :g =532; break;
case 1517 :g =651; break;
case 1518 :g =199; break;
case 1519 :g =354; break;
case 1520 :g =2143; break;
case 1521 :g =3386; break;
case 1522 :g =134; break;
case 1523 :g =13395; break;
case 1524 :g =115; break;
case 1525 :g =1629; break;
case 1526 :g =719; break;
case 1527 :g =723; break;
case 1528 :g =1803; break;
case 1529 :g =0; break;
case 1530 :g =14474; break;
case 1531 :g =1972; break;
case 1532 :g =1183; break;
case 1533 :g =-1; break;
case 1534 :g =885; break;
case 1535 :g =110; break;
case 1536 :g =914; break;
case 1537 :g =573; break;
case 1538 :g =139; break;
case 1539 :g =1749; break;
case 1540 :g =7056; break;
case 1541 :g =158; break;
case 1542 :g =5; break;
case 1543 :g =1705; break;
case 1544 :g =0; break;
case 1545 :g =128; break;
case 1546 :g =3116; break;
case 1547 :g =1033; break;
case 1548 :g =1997; break;
case 1549 :g =318; break;
case 1550 :g =11519; break;
case 1551 :g =360; break;
case 1552 :g =37; break;
case 1553 :g =0; break;
case 1554 :g =83; break;
case 1555 :g =2158; break;
case 1556 :g =3177; break;
case 1557 :g =314; break;
case 1558 :g =366; break;
case 1559 :g =5991; break;
case 1560 :g =2605; break;
case 1561 :g =731; break;
case 1562 :g =283; break;
case 1563 :g =1818; break;
case 1564 :g =288; break;
case 1565 :g =907; break;
case 1566 :g =38; break;
case 1567 :g =3179; break;
case 1568 :g =1557; break;
case 1569 :g =190; break;
case 1570 :g =752; break;
case 1571 :g =533; break;
case 1572 :g =-1; break;
case 1573 :g =2094; break;
case 1574 :g =236; break;
case 1575 :g =1614; break;
case 1576 :g =0; break;
case 1577 :g =416; break;
case 1578 :g =438; break;
case 1579 :g =19; break;
case 1580 :g =914; break;
case 1581 :g =1016; break;
case 1582 :g =187; break;
case 1583 :g =1433; break;
case 1584 :g =1928; break;
case 1585 :g =1086; break;
case 1586 :g =1405; break;
case 1587 :g =0; break;
case 1588 :g =0; break;
case 1589 :g =1757; break;
case 1590 :g =137; break;
case 1591 :g =178; break;
case 1592 :g =2612; break;
case 1593 :g =1465; break;
case 1594 :g =2269; break;
case 1595 :g =54; break;
case 1596 :g =4605; break;
case 1597 :g =1096; break;
case 1598 :g =121; break;
case 1599 :g =72; break;
case 1600 :g =1988; break;
case 1601 :g =273; break;
case 1602 :g =3172; break;
case 1603 :g =2182; break;
case 1604 :g =8061; break;
case 1605 :g =180; break;
case 1606 :g =5461; break;
case 1607 :g =61; break;
case 1608 :g =6618; break;
case 1609 :g =984; break;
case 1610 :g =1523; break;
case 1611 :g =232; break;
case 1612 :g =2691; break;
case 1613 :g =3; break;
case 1614 :g =1262; break;
case 1615 :g =1824; break;
case 1616 :g =130; break;
case 1617 :g =4751; break;
case 1618 :g =1717; break;
case 1619 :g =-1; break;
case 1620 :g =203; break;
case 1621 :g =132; break;
case 1622 :g =19; break;
case 1623 :g =0; break;
case 1624 :g =8485; break;
case 1625 :g =860; break;
case 1626 :g =782; break;
case 1627 :g =2553; break;
case 1628 :g =-1; break;
case 1629 :g =356; break;
case 1630 :g =2085; break;
case 1631 :g =721; break;
case 1632 :g =0; break;
case 1633 :g =78; break;
case 1634 :g =1475; break;
case 1635 :g =570; break;
case 1636 :g =588; break;
case 1637 :g =2697; break;
case 1638 :g =692; break;
case 1639 :g =966; break;
case 1640 :g =4917; break;
case 1641 :g =2101; break;
case 1642 :g =1718; break;
case 1643 :g =1135; break;
case 1644 :g =3090; break;
case 1645 :g =422; break;
case 1646 :g =67; break;
case 1647 :g =594; break;
case 1648 :g =3206; break;
case 1649 :g =563; break;
case 1650 :g =220; break;
case 1651 :g =160; break;
case 1652 :g =1150; break;
case 1653 :g =2454; break;
case 1654 :g =893; break;
case 1655 :g =9213; break;
case 1656 :g =177; break;
case 1657 :g =244; break;
case 1658 :g =168; break;
case 1659 :g =447; break;
case 1660 :g =819; break;
case 1661 :g =6736; break;
case 1662 :g =606; break;
case 1663 :g =78; break;
case 1664 :g =0; break;
case 1665 :g =715; break;
case 1666 :g =0; break;
case 1667 :g =630; break;
case 1668 :g =2613; break;
case 1669 :g =0; break;
case 1670 :g =348; break;
case 1671 :g =259; break;
case 1672 :g =17; break;
case 1673 :g =-1; break;
case 1674 :g =1678; break;
case 1675 :g =165; break;
case 1676 :g =0; break;
case 1677 :g =1429; break;
case 1678 :g =0; break;
case 1679 :g =8768; break;
case 1680 :g =4388; break;
case 1681 :g =781; break;
case 1682 :g =2384; break;
case 1683 :g =257; break;
case 1684 :g =115; break;
case 1685 :g =986; break;
case 1686 :g =0; break;
case 1687 :g =11414; break;
case 1688 :g =1112; break;
case 1689 :g =2359; break;
case 1690 :g =442; break;
case 1691 :g =328; break;
case 1692 :g =13; break;
case 1693 :g =0; break;
case 1694 :g =1308; break;
case 1695 :g =67; break;
case 1696 :g =1231; break;
case 1697 :g =5382; break;
case 1698 :g =-1; break;
case 1699 :g =831; break;
case 1700 :g =0; break;
case 1701 :g =3297; break;
case 1702 :g =1847; break;
case 1703 :g =247; break;
case 1704 :g =132; break;
case 1705 :g =421; break;
case 1706 :g =0; break;
case 1707 :g =120; break;
case 1708 :g =4045; break;
case 1709 :g =2774; break;
case 1710 :g =6894; break;
case 1711 :g =74; break;
case 1712 :g =2669; break;
case 1713 :g =95; break;
case 1714 :g =334; break;
case 1715 :g =669; break;
case 1716 :g =126; break;
case 1717 :g =0; break;
case 1718 :g =647; break;
case 1719 :g =1083; break;
case 1720 :g =112; break;
case 1721 :g =543; break;
case 1722 :g =1276; break;
case 1723 :g =42; break;
case 1724 :g =10393; break;
case 1725 :g =472; break;
case 1726 :g =2597; break;
case 1727 :g =11777; break;
case 1728 :g =229; break;
case 1729 :g =633; break;
case 1730 :g =2358; break;
case 1731 :g =109; break;
case 1732 :g =1815; break;
case 1733 :g =5354; break;
case 1734 :g =1881; break;
case 1735 :g =0; break;
case 1736 :g =2079; break;
case 1737 :g =1866; break;
case 1738 :g =4979; break;
case 1739 :g =0; break;
case 1740 :g =804; break;
case 1741 :g =246; break;
case 1742 :g =42; break;
case 1743 :g =5272; break;
case 1744 :g =3920; break;
case 1745 :g =73; break;
case 1746 :g =733; break;
case 1747 :g =31; break;
case 1748 :g =3700; break;
case 1749 :g =1623; break;
case 1750 :g =59; break;
case 1751 :g =1048; break;
case 1752 :g =1775; break;
case 1753 :g =396; break;
case 1754 :g =261; break;
case 1755 :g =89; break;
case 1756 :g =4148; break;
case 1757 :g =5; break;
case 1758 :g =694; break;
case 1759 :g =1066; break;
case 1760 :g =0; break;
case 1761 :g =8310; break;
case 1762 :g =103; break;
case 1763 :g =89; break;
case 1764 :g =67; break;
case 1765 :g =3586; break;
case 1766 :g =1521; break;
case 1767 :g =236; break;
case 1768 :g =72; break;
case 1769 :g =666; break;
case 1770 :g =0; break;
case 1771 :g =-1; break;
case 1772 :g =1395; break;
case 1773 :g =264; break;
case 1774 :g =106; break;
case 1775 :g =-1; break;
case 1776 :g =1823; break;
case 1777 :g =546; break;
case 1778 :g =6660; break;
case 1779 :g =277; break;
case 1780 :g =7889; break;
case 1781 :g =-1; break;
case 1782 :g =1162; break;
case 1783 :g =171; break;
case 1784 :g =1; break;
case 1785 :g =1941; break;
case 1786 :g =6994; break;
case 1787 :g =0; break;
case 1788 :g =704; break;
case 1789 :g =0; break;
case 1790 :g =154; break;
case 1791 :g =95; break;
case 1792 :g =197; break;
case 1793 :g =78; break;
case 1794 :g =451; break;
case 1795 :g =2119; break;
case 1796 :g =256; break;
case 1797 :g =149; break;
case 1798 :g =3812; break;
case 1799 :g =58; break;
case 1800 :g =454; break;
case 1801 :g =1013; break;
case 1802 :g =64; break;
case 1803 :g =1428; break;
case 1804 :g =216; break;
case 1805 :g =61; break;
case 1806 :g =556; break;
case 1807 :g =17; break;
case 1808 :g =0; break;
case 1809 :g =-1; break;
case 1810 :g =4375; break;
case 1811 :g =235; break;
case 1812 :g =334; break;
case 1813 :g =1673; break;
case 1814 :g =635; break;
case 1815 :g =-1; break;
case 1816 :g =13; break;
case 1817 :g =366; break;
case 1818 :g =4409; break;
case 1819 :g =397; break;
case 1820 :g =0; break;
case 1821 :g =0; break;
case 1822 :g =1020; break;
case 1823 :g =431; break;
case 1824 :g =8364; break;
case 1825 :g =3157; break;
case 1826 :g =925; break;
case 1827 :g =60; break;
case 1828 :g =441; break;
case 1829 :g =0; break;
case 1830 :g =559; break;
case 1831 :g =-1; break;
case 1832 :g =300; break;
case 1833 :g =1688; break;
case 1834 :g =3922; break;
case 1835 :g =1352; break;
case 1836 :g =237; break;
case 1837 :g =132; break;
case 1838 :g =1823; break;
case 1839 :g =1820; break;
case 1840 :g =626; break;
case 1841 :g =724; break;
case 1842 :g =2001; break;
case 1843 :g =2668; break;
case 1844 :g =1822; break;
case 1845 :g =45; break;
case 1846 :g =0; break;
case 1847 :g =6036; break;
case 1848 :g =132; break;
case 1849 :g =2266; break;
case 1850 :g =1890; break;
case 1851 :g =2610; break;
case 1852 :g =3892; break;
case 1853 :g =2529; break;
case 1854 :g =2565; break;
case 1855 :g =116; break;
case 1856 :g =4913; break;
case 1857 :g =3370; break;
case 1858 :g =-1; break;
case 1859 :g =2738; break;
case 1860 :g =1990; break;
case 1861 :g =163; break;
case 1862 :g =3697; break;
case 1863 :g =93; break;
case 1864 :g =58; break;
case 1865 :g =361; break;
case 1866 :g =104; break;
case 1867 :g =6751; break;
case 1868 :g =396; break;
case 1869 :g =0; break;
case 1870 :g =1030; break;
case 1871 :g =19; break;
case 1872 :g =7443; break;
case 1873 :g =110; break;
case 1874 :g =352; break;
case 1875 :g =-1; break;
case 1876 :g =0; break;
case 1877 :g =60; break;
case 1878 :g =0; break;
case 1879 :g =1208; break;
case 1880 :g =1198; break;
case 1881 :g =1485; break;
case 1882 :g =2869; break;
case 1883 :g =1965; break;
case 1884 :g =1929; break;
case 1885 :g =11772; break;
case 1886 :g =5442; break;
case 1887 :g =198; break;
case 1888 :g =798; break;
case 1889 :g =2220; break;
case 1890 :g =777; break;
case 1891 :g =1152; break;
case 1892 :g =0; break;
case 1893 :g =6754; break;
case 1894 :g =2645; break;
case 1895 :g =0; break;
case 1896 :g =0; break;
case 1897 :g =0; break;
case 1898 :g =4197; break;
case 1899 :g =383; break;
case 1900 :g =0; break;
case 1901 :g =92; break;
case 1902 :g =0; break;
case 1903 :g =517; break;
case 1904 :g =2239; break;
case 1905 :g =36; break;
case 1906 :g =8374; break;
case 1907 :g =1024; break;
case 1908 :g =2512; break;
case 1909 :g =2245; break;
case 1910 :g =2531; break;
case 1911 :g =1285; break;
case 1912 :g =0; break;
case 1913 :g =401; break;
case 1914 :g =0; break;
case 1915 :g =0; break;
case 1916 :g =460; break;
case 1917 :g =0; break;
case 1918 :g =1001; break;
case 1919 :g =500; break;
case 1920 :g =0; break;
case 1921 :g =1587; break;
case 1922 :g =19; break;
case 1923 :g =4381; break;
case 1924 :g =1701; break;
case 1925 :g =656; break;
case 1926 :g =1466; break;
case 1927 :g =658; break;
case 1928 :g =2532; break;
case 1929 :g =13; break;
case 1930 :g =186; break;
case 1931 :g =67; break;
case 1932 :g =166; break;
case 1933 :g =2157; break;
case 1934 :g =1622; break;
case 1935 :g =1898; break;
case 1936 :g =1166; break;
case 1937 :g =3769; break;
case 1938 :g =4252; break;
case 1939 :g =53; break;
case 1940 :g =9704; break;
case 1941 :g =827; break;
case 1942 :g =0; break;
case 1943 :g =706; break;
case 1944 :g =123; break;
case 1945 :g =0; break;
case 1946 :g =0; break;
case 1947 :g =1532; break;
case 1948 :g =3644; break;
case 1949 :g =1509; break;
case 1950 :g =78; break;
case 1951 :g =2923; break;
case 1952 :g =475; break;
case 1953 :g =230; break;
case 1954 :g =903; break;
case 1955 :g =86; break;
case 1956 :g =1600; break;
case 1957 :g =3079; break;
case 1958 :g =602; break;
case 1959 :g =309; break;
case 1960 :g =1314; break;
case 1961 :g =3710; break;
case 1962 :g =2636; break;
case 1963 :g =833; break;
case 1964 :g =744; break;
case 1965 :g =17522; break;
case 1966 :g =1411; break;
case 1967 :g =0; break;
case 1968 :g =144; break;
case 1969 :g =106; break;
case 1970 :g =185; break;
case 1971 :g =0; break;
case 1972 :g =47; break;
case 1973 :g =1272; break;
case 1974 :g =279; break;
case 1975 :g =10927; break;
case 1976 :g =0; break;
case 1977 :g =915; break;
case 1978 :g =45; break;
case 1979 :g =149; break;
case 1980 :g =847; break;
case 1981 :g =507; break;
case 1982 :g =1970; break;
case 1983 :g =242; break;
case 1984 :g =908; break;
case 1985 :g =270; break;
case 1986 :g =0; break;
case 1987 :g =7971; break;
case 1988 :g =1163; break;
case 1989 :g =50; break;
case 1990 :g =0; break;
case 1991 :g =2148; break;
case 1992 :g =386; break;
case 1993 :g =5112; break;
case 1994 :g =16542; break;
case 1995 :g =955; break;
case 1996 :g =3548; break;
case 1997 :g =6411; break;
case 1998 :g =2043; break;
case 1999 :g =594; break;
case 2000 :g =145; break;
case 2001 :g =343; break;
case 2002 :g =203; break;
case 2003 :g =886; break;
case 2004 :g =375; break;
case 2005 :g =0; break;
case 2006 :g =59; break;
case 2007 :g =0; break;
case 2008 :g =2318; break;
case 2009 :g =1217; break;
case 2010 :g =67; break;
case 2011 :g =388; break;
case 2012 :g =247; break;
case 2013 :g =1721; break;
case 2014 :g =1525; break;
case 2015 :g =837; break;
case 2016 :g =-1; break;
case 2017 :g =7303; break;
case 2018 :g =56; break;
case 2019 :g =55; break;
case 2020 :g =71; break;
case 2021 :g =1161; break;
case 2022 :g =41; break;
case 2023 :g =0; break;
case 2024 :g =4629; break;
case 2025 :g =2623; break;
case 2026 :g =0; break;
case 2027 :g =7366; break;
case 2028 :g =395; break;
case 2029 :g =7530; break;
case 2030 :g =1696; break;
case 2031 :g =369; break;
case 2032 :g =314; break;
case 2033 :g =1457; break;
case 2034 :g =0; break;
case 2035 :g =1329; break;
case 2036 :g =151; break;
case 2037 :g =1986; break;
case 2038 :g =1921; break;
case 2039 :g =170; break;
case 2040 :g =12668; break;
case 2041 :g =3210; break;
case 2042 :g =10852; break;
case 2043 :g =8741; break;
case 2044 :g =574; break;
case 2045 :g =523; break;
case 2046 :g =1203; break;
case 2047 :g =0; break;
case 2048 :g =2081; break;
case 2049 :g =52; break;
case 2050 :g =1101; break;
case 2051 :g =0; break;
case 2052 :g =294; break;
case 2053 :g =2447; break;
case 2054 :g =988; break;
case 2055 :g =6012; break;
case 2056 :g =140; break;
case 2057 :g =0; break;
case 2058 :g =0; break;
case 2059 :g =631; break;
case 2060 :g =-1; break;
case 2061 :g =3854; break;
case 2062 :g =5369; break;
case 2063 :g =962; break;
case 2064 :g =15293; break;
case 2065 :g =-1; break;
case 2066 :g =277; break;
case 2067 :g =1027; break;
case 2068 :g =33; break;
case 2069 :g =2647; break;
case 2070 :g =458; break;
case 2071 :g =8706; break;
case 2072 :g =2034; break;
case 2073 :g =677; break;
case 2074 :g =996; break;
case 2075 :g =98; break;
case 2076 :g =170; break;
case 2077 :g =6100; break;
case 2078 :g =2972; break;
case 2079 :g =624; break;
case 2080 :g =1125; break;
case 2081 :g =-1; break;
case 2082 :g =1557; break;
case 2083 :g =718; break;
case 2084 :g =1; break;
case 2085 :g =3994; break;
case 2086 :g =0; break;
case 2087 :g =285; break;
case 2088 :g =5553; break;
case 2089 :g =50; break;
case 2090 :g =246; break;
case 2091 :g =564; break;
case 2092 :g =0; break;
case 2093 :g =272; break;
case 2094 :g =3415; break;
case 2095 :g =757; break;
case 2096 :g =1389; break;
case 2097 :g =1195; break;
case 2098 :g =222; break;
case 2099 :g =300; break;
case 2100 :g =327; break;
case 2101 :g =4740; break;
case 2102 :g =1584; break;
case 2103 :g =-1; break;
case 2104 :g =37; break;
case 2105 :g =214; break;
case 2106 :g =176; break;
case 2107 :g =822; break;
case 2108 :g =3446; break;
case 2109 :g =2659; break;
case 2110 :g =1609; break;
case 2111 :g =289; break;
case 2112 :g =1947; break;
case 2113 :g =-1; break;
case 2114 :g =2504; break;
case 2115 :g =0; break;
case 2116 :g =0; break;
case 2117 :g =487; break;
case 2118 :g =5; break;
case 2119 :g =3572; break;
case 2120 :g =5480; break;
case 2121 :g =4069; break;
case 2122 :g =212; break;
case 2123 :g =3532; break;
case 2124 :g =372; break;
case 2125 :g =609; break;
case 2126 :g =694; break;
case 2127 :g =4019; break;
case 2128 :g =1154; break;
case 2129 :g =4246; break;
case 2130 :g =873; break;
case 2131 :g =72; break;
case 2132 :g =8; break;
case 2133 :g =1816; break;
case 2134 :g =942; break;
case 2135 :g =3297; break;
case 2136 :g =1038; break;
case 2137 :g =1313; break;
case 2138 :g =177; break;
case 2139 :g =153; break;
case 2140 :g =4481; break;
case 2141 :g =898; break;
case 2142 :g =1251; break;
case 2143 :g =2523; break;
case 2144 :g =475; break;
case 2145 :g =0; break;
case 2146 :g =704; break;
case 2147 :g =43; break;
case 2148 :g =1492; break;
case 2149 :g =393; break;
case 2150 :g =84; break;
case 2151 :g =894; break;
case 2152 :g =726; break;
case 2153 :g =1356; break;
case 2154 :g =151; break;
case 2155 :g =6754; break;
case 2156 :g =2255; break;
case 2157 :g =4412; break;
case 2158 :g =275; break;
case 2159 :g =209; break;
case 2160 :g =749; break;
case 2161 :g =0; break;
case 2162 :g =1350; break;
case 2163 :g =1909; break;
case 2164 :g =5983; break;
case 2165 :g =746; break;
case 2166 :g =988; break;
case 2167 :g =7299; break;
case 2168 :g =0; break;
case 2169 :g =364; break;
case 2170 :g =375; break;
case 2171 :g =1455; break;
case 2172 :g =1303; break;
case 2173 :g =1764; break;
case 2174 :g =852; break;
case 2175 :g =114; break;
case 2176 :g =1756; break;
case 2177 :g =3030; break;
case 2178 :g =2672; break;
case 2179 :g =0; break;
case 2180 :g =89; break;
case 2181 :g =254; break;
case 2182 :g =3155; break;
case 2183 :g =0; break;
case 2184 :g =11059; break;
case 2185 :g =1834; break;
case 2186 :g =446; break;
case 2187 :g =628; break;
case 2188 :g =5; break;
case 2189 :g =12502; break;
case 2190 :g =135; break;
case 2191 :g =2200; break;
case 2192 :g =618; break;
case 2193 :g =1713; break;
case 2194 :g =117; break;
case 2195 :g =2909; break;
case 2196 :g =0; break;
case 2197 :g =0; break;
case 2198 :g =284; break;
case 2199 :g =115; break;
case 2200 :g =333; break;
case 2201 :g =0; break;
case 2202 :g =109; break;
case 2203 :g =173; break;
case 2204 :g =386; break;
case 2205 :g =11989; break;
case 2206 :g =1827; break;
case 2207 :g =10378; break;
case 2208 :g =7594; break;
case 2209 :g =2658; break;
case 2210 :g =11; break;
case 2211 :g =3003; break;
case 2212 :g =2259; break;
case 2213 :g =654; break;
case 2214 :g =500; break;
case 2215 :g =354; break;
case 2216 :g =0; break;
case 2217 :g =2296; break;
case 2218 :g =71; break;
case 2219 :g =44; break;
case 2220 :g =3752; break;
case 2221 :g =0; break;
case 2222 :g =705; break;
case 2223 :g =2467; break;
case 2224 :g =0; break;
case 2225 :g =1977; break;
case 2226 :g =1551; break;
case 2227 :g =474; break;
case 2228 :g =0; break;
case 2229 :g =7641; break;
case 2230 :g =1289; break;
case 2231 :g =0; break;
case 2232 :g =882; break;
case 2233 :g =257; break;
case 2234 :g =4989; break;
case 2235 :g =526; break;
case 2236 :g =133; break;
case 2237 :g =104; break;
case 2238 :g =1448; break;
case 2239 :g =5; break;
case 2240 :g =74; break;
case 2241 :g =1402; break;
case 2242 :g =4567; break;
case 2243 :g =717; break;
case 2244 :g =1491; break;
case 2245 :g =113; break;
case 2246 :g =168; break;
case 2247 :g =4601; break;
case 2248 :g =1947; break;
case 2249 :g =920; break;
case 2250 :g =484; break;
case 2251 :g =0; break;
case 2252 :g =0; break;
case 2253 :g =1427; break;
case 2254 :g =1033; break;
case 2255 :g =825; break;
case 2256 :g =442; break;
case 2257 :g =7172; break;
case 2258 :g =4970; break;
case 2259 :g =3683; break;
case 2260 :g =228; break;
case 2261 :g =713; break;
case 2262 :g =1047; break;
case 2263 :g =1; break;
case 2264 :g =595; break;
case 2265 :g =162; break;
case 2266 :g =7463; break;
case 2267 :g =96; break;
case 2268 :g =37; break;
case 2269 :g =1130; break;
case 2270 :g =47; break;
case 2271 :g =0; break;
case 2272 :g =96; break;
case 2273 :g =702; break;
case 2274 :g =3318; break;
case 2275 :g =591; break;
case 2276 :g =42; break;
case 2277 :g =1637; break;
case 2278 :g =4550; break;
case 2279 :g =1647; break;
case 2280 :g =4892; break;
case 2281 :g =1782; break;
case 2282 :g =448; break;
case 2283 :g =4236; break;
case 2284 :g =21837; break;
case 2285 :g =191; break;
case 2286 :g =951; break;
case 2287 :g =5701; break;
case 2288 :g =10648; break;
case 2289 :g =1732; break;
case 2290 :g =1788; break;
case 2291 :g =2928; break;
case 2292 :g =381; break;
case 2293 :g =699; break;
case 2294 :g =75; break;
case 2295 :g =1686; break;
case 2296 :g =43; break;
case 2297 :g =59; break;
case 2298 :g =103; break;
case 2299 :g =4550; break;
case 2300 :g =0; break;
case 2301 :g =169; break;
case 2302 :g =1382; break;
case 2303 :g =19278; break;
case 2304 :g =76; break;
case 2305 :g =1221; break;
case 2306 :g =11; break;
case 2307 :g =103; break;
case 2308 :g =0; break;
case 2309 :g =480; break;
case 2310 :g =1947; break;
case 2311 :g =877; break;
case 2312 :g =13; break;
case 2313 :g =2397; break;
case 2314 :g =3; break;
case 2315 :g =0; break;
case 2316 :g =4429; break;
case 2317 :g =3468; break;
case 2318 :g =6104; break;
case 2319 :g =384; break;
case 2320 :g =86; break;
case 2321 :g =2878; break;
case 2322 :g =296; break;
case 2323 :g =3965; break;
case 2324 :g =23; break;
case 2325 :g =370; break;
case 2326 :g =487; break;
case 2327 :g =0; break;
case 2328 :g =2113; break;
case 2329 :g =1357; break;
case 2330 :g =538; break;
case 2331 :g =0; break;
case 2332 :g =73; break;
case 2333 :g =310; break;
case 2334 :g =-1; break;
case 2335 :g =4149; break;
case 2336 :g =343; break;
case 2337 :g =4868; break;
case 2338 :g =1574; break;
case 2339 :g =3684; break;
case 2340 :g =37; break;
case 2341 :g =0; break;
case 2342 :g =398; break;
case 2343 :g =12346; break;
case 2344 :g =442; break;
case 2345 :g =301; break;
case 2346 :g =406; break;
case 2347 :g =10110; break;
case 2348 :g =0; break;
case 2349 :g =0; break;
case 2350 :g =459; break;
case 2351 :g =602; break;
case 2352 :g =0; break;
case 2353 :g =59; break;
case 2354 :g =159; break;
case 2355 :g =715; break;
case 2356 :g =957; break;
case 2357 :g =4980; break;
case 2358 :g =308; break;
case 2359 :g =3304; break;
case 2360 :g =6513; break;
case 2361 :g =316; break;
case 2362 :g =270; break;
case 2363 :g =346; break;
case 2364 :g =1386; break;
case 2365 :g =636; break;
case 2366 :g =771; break;
case 2367 :g =848; break;
case 2368 :g =4281; break;
case 2369 :g =856; break;
case 2370 :g =203; break;
case 2371 :g =595; break;
case 2372 :g =534; break;
case 2373 :g =1009; break;
case 2374 :g =1645; break;
case 2375 :g =13193; break;
case 2376 :g =-1; break;
case 2377 :g =3; break;
case 2378 :g =31; break;
case 2379 :g =5; break;
case 2380 :g =6302; break;
case 2381 :g =2213; break;
case 2382 :g =222; break;
case 2383 :g =739; break;
case 2384 :g =0; break;
case 2385 :g =5027; break;
case 2386 :g =1221; break;
case 2387 :g =41; break;
case 2388 :g =822; break;
case 2389 :g =2574; break;
case 2390 :g =463; break;
case 2391 :g =-1; break;
case 2392 :g =143; break;
case 2393 :g =1516; break;
case 2394 :g =2964; break;
case 2395 :g =249; break;
case 2396 :g =72; break;
case 2397 :g =849; break;
case 2398 :g =4158; break;
case 2399 :g =909; break;
case 2400 :g =2909; break;
case 2401 :g =2230; break;
case 2402 :g =712; break;
case 2403 :g =2935; break;
case 2404 :g =4; break;
case 2405 :g =325; break;
case 2406 :g =0; break;
case 2407 :g =462; break;
case 2408 :g =0; break;
case 2409 :g =4218; break;
case 2410 :g =2782; break;
case 2411 :g =12415; break;
case 2412 :g =0; break;
case 2413 :g =4790; break;
case 2414 :g =5219; break;
case 2415 :g =0; break;
case 2416 :g =222; break;
case 2417 :g =685; break;
case 2418 :g =89; break;
case 2419 :g =10275; break;
case 2420 :g =369; break;
case 2421 :g =0; break;
case 2422 :g =0; break;
case 2423 :g =0; break;
case 2424 :g =335; break;
case 2425 :g =2231; break;
case 2426 :g =0; break;
case 2427 :g =0; break;
case 2428 :g =3760; break;
case 2429 :g =5134; break;
case 2430 :g =23; break;
case 2431 :g =70; break;
case 2432 :g =89; break;
case 2433 :g =53; break;
case 2434 :g =0; break;
case 2435 :g =0; break;
case 2436 :g =1388; break;
case 2437 :g =884; break;
case 2438 :g =1; break;
case 2439 :g =984; break;
case 2440 :g =283; break;
case 2441 :g =666; break;
case 2442 :g =1757; break;
case 2443 :g =633; break;
case 2444 :g =2404; break;
case 2445 :g =0; break;
case 2446 :g =258; break;
case 2447 :g =2939; break;
case 2448 :g =296; break;
case 2449 :g =114; break;
case 2450 :g =470; break;
case 2451 :g =954; break;
case 2452 :g =842; break;
case 2453 :g =1022; break;
case 2454 :g =9517; break;
case 2455 :g =31; break;
case 2456 :g =1661; break;
case 2457 :g =114; break;
case 2458 :g =282; break;
case 2459 :g =0; break;
case 2460 :g =-1; break;
case 2461 :g =99; break;
case 2462 :g =2704; break;
case 2463 :g =237; break;
case 2464 :g =58; break;
case 2465 :g =0; break;
case 2466 :g =508; break;
case 2467 :g =597; break;
case 2468 :g =1485; break;
case 2469 :g =1888; break;
case 2470 :g =1792; break;
case 2471 :g =71; break;
case 2472 :g =1742; break;
case 2473 :g =1465; break;
case 2474 :g =2708; break;
case 2475 :g =0; break;
case 2476 :g =50; break;
case 2477 :g =0; break;
case 2478 :g =3825; break;
case 2479 :g =3152; break;
case 2480 :g =486; break;
case 2481 :g =59; break;
case 2482 :g =0; break;
case 2483 :g =0; break;
case 2484 :g =4004; break;
case 2485 :g =379; break;
case 2486 :g =1333; break;
case 2487 :g =173; break;
case 2488 :g =8175; break;
case 2489 :g =1521; break;
case 2490 :g =837; break;
case 2491 :g =289; break;
case 2492 :g =0; break;
case 2493 :g =0; break;
case 2494 :g =0; break;
case 2495 :g =687; break;
case 2496 :g =885; break;
case 2497 :g =649; break;
case 2498 :g =1094; break;
case 2499 :g =6060; break;
case 2500 :g =715; break;
case 2501 :g =144; break;
case 2502 :g =812; break;
case 2503 :g =1480; break;
case 2504 :g =2065; break;
case 2505 :g =1144; break;
case 2506 :g =392; break;
case 2507 :g =2443; break;
case 2508 :g =3256; break;
case 2509 :g =110; break;
case 2510 :g =249; break;
case 2511 :g =8157; break;
case 2512 :g =1340; break;
case 2513 :g =1660; break;
case 2514 :g =17686; break;
case 2515 :g =222; break;
case 2516 :g =15602; break;
case 2517 :g =471; break;
case 2518 :g =833; break;
case 2519 :g =206; break;
case 2520 :g =209; break;
case 2521 :g =8605; break;
case 2522 :g =5027; break;
case 2523 :g =13; break;
case 2524 :g =1990; break;
case 2525 :g =722; break;
case 2526 :g =282; break;
case 2527 :g =9622; break;
case 2528 :g =2253; break;
case 2529 :g =3571; break;
case 2530 :g =6715; break;
case 2531 :g =5944; break;
case 2532 :g =82; break;
case 2533 :g =1466; break;
case 2534 :g =1; break;
case 2535 :g =11413; break;
case 2536 :g =9464; break;
case 2537 :g =907; break;
case 2538 :g =679; break;
case 2539 :g =178; break;
case 2540 :g =2005; break;
case 2541 :g =4758; break;
case 2542 :g =217; break;
case 2543 :g =0; break;
case 2544 :g =288; break;
case 2545 :g =487; break;
case 2546 :g =2743; break;
case 2547 :g =1599; break;
case 2548 :g =116; break;
case 2549 :g =2289; break;
case 2550 :g =7082; break;
case 2551 :g =1760; break;
case 2552 :g =531; break;
case 2553 :g =100; break;
case 2554 :g =1684; break;
case 2555 :g =0; break;
case 2556 :g =1886; break;
case 2557 :g =376; break;
case 2558 :g =7057; break;
case 2559 :g =138; break;
case 2560 :g =2559; break;
case 2561 :g =47; break;
case 2562 :g =474; break;
case 2563 :g =2146; break;
case 2564 :g =243; break;
case 2565 :g =0; break;
case 2566 :g =4010; break;
case 2567 :g =13916; break;
case 2568 :g =1028; break;
case 2569 :g =138; break;
case 2570 :g =645; break;
case 2571 :g =6896; break;
case 2572 :g =286; break;
case 2573 :g =61; break;
case 2574 :g =29; break;
case 2575 :g =122; break;
case 2576 :g =747; break;
case 2577 :g =281; break;
case 2578 :g =374; break;
case 2579 :g =3014; break;
case 2580 :g =0; break;
case 2581 :g =-1; break;
case 2582 :g =11142; break;
case 2583 :g =11818; break;
case 2584 :g =635; break;
case 2585 :g =-1; break;
case 2586 :g =7782; break;
case 2587 :g =1084; break;
case 2588 :g =841; break;
case 2589 :g =8921; break;
case 2590 :g =183; break;
case 2591 :g =830; break;
case 2592 :g =229; break;
case 2593 :g =0; break;
case 2594 :g =2353; break;
case 2595 :g =4030; break;
case 2596 :g =620; break;
case 2597 :g =670; break;
case 2598 :g =0; break;
case 2599 :g =3847; break;
case 2600 :g =8421; break;
case 2601 :g =0; break;
case 2602 :g =0; break;
case 2603 :g =1373; break;
case 2604 :g =1; break;
case 2605 :g =17; break;
case 2606 :g =0; break;
case 2607 :g =759; break;
case 2608 :g =4901; break;
case 2609 :g =8998; break;
case 2610 :g =7375; break;
case 2611 :g =29; break;
case 2612 :g =1036; break;
case 2613 :g =0; break;
case 2614 :g =2183; break;
case 2615 :g =41; break;
case 2616 :g =818; break;
case 2617 :g =272; break;
case 2618 :g =194; break;
case 2619 :g =4698; break;
case 2620 :g =128; break;
case 2621 :g =23; break;
case 2622 :g =0; break;
case 2623 :g =54; break;
case 2624 :g =0; break;
case 2625 :g =399; break;
case 2626 :g =47; break;
case 2627 :g =573; break;
case 2628 :g =1078; break;
case 2629 :g =337; break;
case 2630 :g =205; break;
case 2631 :g =427; break;
case 2632 :g =6153; break;
case 2633 :g =250; break;
case 2634 :g =1060; break;
case 2635 :g =167; break;
case 2636 :g =20; break;
case 2637 :g =2354; break;
case 2638 :g =387; break;
case 2639 :g =-1; break;
case 2640 :g =927; break;
case 2641 :g =2239; break;
case 2642 :g =749; break;
case 2643 :g =0; break;
case 2644 :g =823; break;
case 2645 :g =3528; break;
case 2646 :g =2576; break;
case 2647 :g =252; break;
case 2648 :g =400; break;
case 2649 :g =286; break;
case 2650 :g =481; break;
case 2651 :g =191; break;
case 2652 :g =1909; break;
case 2653 :g =0; break;
case 2654 :g =238; break;
case 2655 :g =0; break;
case 2656 :g =568; break;
case 2657 :g =6265; break;
case 2658 :g =13; break;
case 2659 :g =0; break;
case 2660 :g =53; break;
case 2661 :g =1769; break;
case 2662 :g =1590; break;
case 2663 :g =4089; break;
case 2664 :g =1223; break;
case 2665 :g =1095; break;
case 2666 :g =1037; break;
case 2667 :g =2446; break;
case 2668 :g =3078; break;
case 2669 :g =3563; break;
case 2670 :g =53; break;
case 2671 :g =65; break;
case 2672 :g =11223; break;
case 2673 :g =134; break;
case 2674 :g =73; break;
case 2675 :g =3158; break;
case 2676 :g =6290; break;
case 2677 :g =1708; break;
case 2678 :g =2267; break;
case 2679 :g =3816; break;
case 2680 :g =2248; break;
case 2681 :g =362; break;
case 2682 :g =1310; break;
case 2683 :g =0; break;
case 2684 :g =929; break;
case 2685 :g =102; break;
case 2686 :g =488; break;
case 2687 :g =175; break;
case 2688 :g =930; break;
case 2689 :g =1754; break;
case 2690 :g =3; break;
case 2691 :g =570; break;
case 2692 :g =24; break;
case 2693 :g =1169; break;
case 2694 :g =0; break;
case 2695 :g =341; break;
case 2696 :g =3494; break;
case 2697 :g =102; break;
case 2698 :g =3189; break;
case 2699 :g =2260; break;
case 2700 :g =642; break;
case 2701 :g =31; break;
case 2702 :g =124; break;
case 2703 :g =0; break;
case 2704 :g =421; break;
case 2705 :g =1; break;
case 2706 :g =83; break;
case 2707 :g =59; break;
case 2708 :g =6562; break;
case 2709 :g =53; break;
case 2710 :g =3287; break;
case 2711 :g =13576; break;
case 2712 :g =7780; break;
case 2713 :g =5584; break;
case 2714 :g =802; break;
case 2715 :g =1420; break;
case 2716 :g =-1; break;
case 2717 :g =2047; break;
case 2718 :g =127; break;
case 2719 :g =5366; break;
case 2720 :g =1434; break;
case 2721 :g =121; break;
case 2722 :g =332; break;
case 2723 :g =2953; break;
case 2724 :g =164; break;
case 2725 :g =1603; break;
case 2726 :g =1547; break;
case 2727 :g =728; break;
case 2728 :g =302; break;
case 2729 :g =169; break;
case 2730 :g =1317; break;
case 2731 :g =964; break;
case 2732 :g =281; break;
case 2733 :g =23; break;
case 2734 :g =991; break;
case 2735 :g =3; break;
case 2736 :g =1738; break;
case 2737 :g =909; break;
case 2738 :g =153; break;
case 2739 :g =8759; break;
case 2740 :g =13; break;
case 2741 :g =4762; break;
case 2742 :g =382; break;
case 2743 :g =0; break;
case 2744 :g =4041; break;
case 2745 :g =-1; break;
case 2746 :g =0; break;
case 2747 :g =0; break;
case 2748 :g =1098; break;
case 2749 :g =1721; break;
case 2750 :g =10628; break;
case 2751 :g =727; break;
case 2752 :g =4806; break;
case 2753 :g =51; break;
case 2754 :g =130; break;
case 2755 :g =4826; break;
case 2756 :g =82; break;
case 2757 :g =9988; break;
case 2758 :g =3608; break;
case 2759 :g =379; break;
case 2760 :g =87; break;
case 2761 :g =204; break;
case 2762 :g =1536; break;
case 2763 :g =314; break;
case 2764 :g =218; break;
case 2765 :g =4849; break;
case 2766 :g =387; break;
case 2767 :g =1425; break;
case 2768 :g =10524; break;
case 2769 :g =2519; break;
case 2770 :g =53; break;
case 2771 :g =3; break;
case 2772 :g =305; break;
case 2773 :g =969; break;
case 2774 :g =1917; break;
case 2775 :g =4898; break;
case 2776 :g =1352; break;
case 2777 :g =0; break;
case 2778 :g =73; break;
case 2779 :g =117; break;
case 2780 :g =1038; break;
case 2781 :g =0; break;
case 2782 :g =17; break;
case 2783 :g =1885; break;
case 2784 :g =364; break;
case 2785 :g =14; break;
case 2786 :g =106; break;
case 2787 :g =2166; break;
case 2788 :g =9337; break;
case 2789 :g =23; break;
case 2790 :g =1341; break;
case 2791 :g =64; break;
case 2792 :g =563; break;
case 2793 :g =666; break;
case 2794 :g =7558; break;
case 2795 :g =1264; break;
case 2796 :g =5931; break;
case 2797 :g =443; break;
case 2798 :g =318; break;
case 2799 :g =1814; break;
case 2800 :g =908; break;
case 2801 :g =0; break;
case 2802 :g =67; break;
case 2803 :g =2096; break;
case 2804 :g =453; break;
case 2805 :g =0; break;
case 2806 :g =317; break;
case 2807 :g =84; break;
case 2808 :g =1311; break;
case 2809 :g =6361; break;
case 2810 :g =1100; break;
case 2811 :g =100; break;
case 2812 :g =432; break;
case 2813 :g =160; break;
case 2814 :g =1335; break;
case 2815 :g =1953; break;
case 2816 :g =47; break;
case 2817 :g =0; break;
case 2818 :g =645; break;
case 2819 :g =372; break;
case 2820 :g =5340; break;
case 2821 :g =1332; break;
case 2822 :g =811; break;
case 2823 :g =42; break;
case 2824 :g =1013; break;
case 2825 :g =2408; break;
case 2826 :g =132; break;
case 2827 :g =0; break;
case 2828 :g =1404; break;
case 2829 :g =3; break;
case 2830 :g =1248; break;
case 2831 :g =2414; break;
case 2832 :g =153; break;
case 2833 :g =29; break;
case 2834 :g =219; break;
case 2835 :g =470; break;
case 2836 :g =6102; break;
case 2837 :g =0; break;
case 2838 :g =7666; break;
case 2839 :g =432; break;
case 2840 :g =321; break;
case 2841 :g =6201; break;
case 2842 :g =465; break;
case 2843 :g =2878; break;
case 2844 :g =19; break;
case 2845 :g =3978; break;
case 2846 :g =2189; break;
case 2847 :g =19; break;
case 2848 :g =0; break;
case 2849 :g =9985; break;
case 2850 :g =211; break;
case 2851 :g =758; break;
case 2852 :g =0; break;
case 2853 :g =1527; break;
case 2854 :g =0; break;
case 2855 :g =1; break;
case 2856 :g =25; break;
case 2857 :g =12762; break;
case 2858 :g =2793; break;
case 2859 :g =83; break;
case 2860 :g =1826; break;
case 2861 :g =0; break;
case 2862 :g =633; break;
case 2863 :g =13384; break;
case 2864 :g =1769; break;
case 2865 :g =2957; break;
case 2866 :g =228; break;
case 2867 :g =1942; break;
case 2868 :g =2517; break;
case 2869 :g =147; break;
case 2870 :g =2830; break;
case 2871 :g =929; break;
case 2872 :g =0; break;
case 2873 :g =125; break;
case 2874 :g =0; break;
case 2875 :g =0; break;
case 2876 :g =696; break;
case 2877 :g =240; break;
case 2878 :g =2322; break;
case 2879 :g =2357; break;
case 2880 :g =2507; break;
case 2881 :g =26026; break;
case 2882 :g =2915; break;
case 2883 :g =0; break;
case 2884 :g =149; break;
case 2885 :g =1608; break;
case 2886 :g =251; break;
case 2887 :g =12672; break;
case 2888 :g =29; break;
case 2889 :g =180; break;
case 2890 :g =4649; break;
case 2891 :g =0; break;
case 2892 :g =938; break;
case 2893 :g =53; break;
case 2894 :g =3913; break;
case 2895 :g =3915; break;
case 2896 :g =4438; break;
case 2897 :g =0; break;
case 2898 :g =-1; break;
case 2899 :g =1765; break;
case 2900 :g =3498; break;
case 2901 :g =2758; break;
case 2902 :g =5921; break;
case 2903 :g =400; break;
case 2904 :g =1951; break;
case 2905 :g =679; break;
case 2906 :g =1046; break;
case 2907 :g =1886; break;
case 2908 :g =114; break;
case 2909 :g =0; break;
case 2910 :g =19; break;
case 2911 :g =13; break;
case 2912 :g =276; break;
case 2913 :g =22038; break;
case 2914 :g =1427; break;
case 2915 :g =427; break;
case 2916 :g =901; break;
case 2917 :g =138; break;
case 2918 :g =1913; break;
case 2919 :g =2577; break;
case 2920 :g =89; break;
case 2921 :g =0; break;
case 2922 :g =916; break;
case 2923 :g =1694; break;
case 2924 :g =-1; break;
case 2925 :g =763; break;
case 2926 :g =1228; break;
case 2927 :g =19; break;
case 2928 :g =0; break;
case 2929 :g =363; break;
case 2930 :g =5054; break;
case 2931 :g =0; break;
case 2932 :g =1645; break;
case 2933 :g =23; break;
case 2934 :g =-1; break;
case 2935 :g =10459; break;
case 2936 :g =288; break;
case 2937 :g =0; break;
case 2938 :g =2699; break;
case 2939 :g =0; break;
case 2940 :g =222; break;
case 2941 :g =2873; break;
case 2942 :g =47; break;
case 2943 :g =170; break;
case 2944 :g =2245; break;
case 2945 :g =290; break;
case 2946 :g =6727; break;
case 2947 :g =2237; break;
case 2948 :g =805; break;
case 2949 :g =5014; break;
case 2950 :g =1388; break;
case 2951 :g =205; break;
case 2952 :g =535; break;
case 2953 :g =1089; break;
case 2954 :g =1683; break;
case 2955 :g =2114; break;
case 2956 :g =90; break;
case 2957 :g =257; break;
case 2958 :g =1220; break;
case 2959 :g =479; break;
case 2960 :g =4208; break;
case 2961 :g =1495; break;
case 2962 :g =1722; break;
case 2963 :g =9161; break;
case 2964 :g =183; break;
case 2965 :g =0; break;
case 2966 :g =0; break;
case 2967 :g =1159; break;
case 2968 :g =1160; break;
case 2969 :g =1893; break;
case 2970 :g =722; break;
case 2971 :g =4062; break;
case 2972 :g =459; break;
case 2973 :g =3688; break;
case 2974 :g =8224; break;
case 2975 :g =401; break;
case 2976 :g =377; break;
case 2977 :g =3285; break;
case 2978 :g =1884; break;
case 2979 :g =176; break;
case 2980 :g =62; break;
case 2981 :g =281; break;
case 2982 :g =1090; break;
case 2983 :g =3419; break;
case 2984 :g =332; break;
case 2985 :g =73; break;
case 2986 :g =1880; break;
case 2987 :g =0; break;
case 2988 :g =3449; break;
case 2989 :g =0; break;
case 2990 :g =2107; break;
case 2991 :g =1965; break;
case 2992 :g =3941; break;
case 2993 :g =287; break;
case 2994 :g =59; break;
case 2995 :g =4775; break;
case 2996 :g =717; break;
case 2997 :g =1356; break;
case 2998 :g =380; break;
case 2999 :g =2036; break;
case 3000 :g =41; break;
case 3001 :g =1559; break;
case 3002 :g =1525; break;
case 3003 :g =5073; break;
case 3004 :g =2405; break;
case 3005 :g =786; break;
case 3006 :g =6621; break;
case 3007 :g =0; break;
case 3008 :g =31; break;
case 3009 :g =120; break;
case 3010 :g =2799; break;
case 3011 :g =514; break;
case 3012 :g =373; break;
case 3013 :g =1772; break;
case 3014 :g =0; break;
case 3015 :g =1; break;
case 3016 :g =0; break;
case 3017 :g =1097; break;
case 3018 :g =0; break;
case 3019 :g =6320; break;
case 3020 :g =2847; break;
case 3021 :g =1299; break;
case 3022 :g =639; break;
case 3023 :g =9680; break;
case 3024 :g =-1; break;
case 3025 :g =0; break;
case 3026 :g =3462; break;
case 3027 :g =6762; break;
case 3028 :g =4254; break;
case 3029 :g =120; break;
case 3030 :g =0; break;
case 3031 :g =1225; break;
case 3032 :g =2446; break;
case 3033 :g =0; break;
case 3034 :g =6608; break;
case 3035 :g =1126; break;
case 3036 :g =90; break;
case 3037 :g =2315; break;
case 3038 :g =7188; break;
case 3039 :g =679; break;
case 3040 :g =11; break;
case 3041 :g =201; break;
case 3042 :g =0; break;
case 3043 :g =401; break;
case 3044 :g =2417; break;
case 3045 :g =995; break;
case 3046 :g =2648; break;
case 3047 :g =243; break;
case 3048 :g =8633; break;
case 3049 :g =10368; break;
case 3050 :g =17; break;
case 3051 :g =416; break;
case 3052 :g =2835; break;
case 3053 :g =110; break;
case 3054 :g =2843; break;
case 3055 :g =1197; break;
case 3056 :g =2822; break;
case 3057 :g =1716; break;
case 3058 :g =14425; break;
case 3059 :g =0; break;
case 3060 :g =377; break;
case 3061 :g =260; break;
case 3062 :g =1874; break;
case 3063 :g =0; break;
case 3064 :g =15965; break;
case 3065 :g =7633; break;
case 3066 :g =6213; break;
case 3067 :g =17; break;
case 3068 :g =665; break;
case 3069 :g =79; break;
case 3070 :g =118; break;
case 3071 :g =22; break;
case 3072 :g =77; break;
case 3073 :g =127; break;
case 3074 :g =192; break;
case 3075 :g =507; break;
case 3076 :g =287; break;
case 3077 :g =1160; break;
case 3078 :g =3037; break;
case 3079 :g =204; break;
case 3080 :g =145; break;
case 3081 :g =2646; break;
case 3082 :g =2233; break;
case 3083 :g =259; break;
case 3084 :g =3321; break;
case 3085 :g =3757; break;
case 3086 :g =195; break;
case 3087 :g =53; break;
case 3088 :g =1270; break;
case 3089 :g =1628; break;
case 3090 :g =598; break;
case 3091 :g =35; break;
case 3092 :g =170; break;
case 3093 :g =355; break;
case 3094 :g =41; break;
case 3095 :g =1477; break;
case 3096 :g =6921; break;
case 3097 :g =9627; break;
case 3098 :g =0; break;
case 3099 :g =0; break;
case 3100 :g =176; break;
case 3101 :g =2036; break;
case 3102 :g =6063; break;
case 3103 :g =3827; break;
case 3104 :g =10863; break;
case 3105 :g =1055; break;
case 3106 :g =576; break;
case 3107 :g =5911; break;
case 3108 :g =708; break;
case 3109 :g =0; break;
case 3110 :g =7964; break;
case 3111 :g =19; break;
case 3112 :g =663; break;
case 3113 :g =0; break;
case 3114 :g =0; break;
case 3115 :g =127; break;
case 3116 :g =4342; break;
case 3117 :g =4872; break;
case 3118 :g =4836; break;
case 3119 :g =1335; break;
case 3120 :g =344; break;
case 3121 :g =3261; break;
case 3122 :g =1695; break;
case 3123 :g =5022; break;
case 3124 :g =6757; break;
case 3125 :g =7905; break;
case 3126 :g =282; break;
case 3127 :g =566; break;
case 3128 :g =1315; break;
case 3129 :g =225; break;
case 3130 :g =3988; break;
case 3131 :g =4548; break;
case 3132 :g =8220; break;
case 3133 :g =9969; break;
case 3134 :g =3507; break;
case 3135 :g =2345; break;
case 3136 :g =3370; break;
case 3137 :g =3172; break;
case 3138 :g =63; break;
case 3139 :g =1834; break;
case 3140 :g =-1; break;
case 3141 :g =7154; break;
case 3142 :g =339; break;
case 3143 :g =581; break;
case 3144 :g =193; break;
case 3145 :g =640; break;
case 3146 :g =2132; break;
case 3147 :g =3458; break;
case 3148 :g =1231; break;
case 3149 :g =1884; break;
case 3150 :g =313; break;
case 3151 :g =293; break;
case 3152 :g =2720; break;
case 3153 :g =773; break;
case 3154 :g =32; break;
case 3155 :g =1770; break;
case 3156 :g =10324; break;
case 3157 :g =1952; break;
case 3158 :g =4546; break;
case 3159 :g =1266; break;
case 3160 :g =5938; break;
case 3161 :g =0; break;
case 3162 :g =567; break;
case 3163 :g =281; break;
case 3164 :g =140; break;
case 3165 :g =1434; break;
case 3166 :g =1409; break;
case 3167 :g =2598; break;
case 3168 :g =36888; break;
case 3169 :g =0; break;
case 3170 :g =0; break;
case 3171 :g =0; break;
case 3172 :g =2037; break;
case 3173 :g =664; break;
case 3174 :g =1511; break;
case 3175 :g =4737; break;
case 3176 :g =37; break;
case 3177 :g =502; break;
case 3178 :g =271; break;
case 3179 :g =1120; break;
case 3180 :g =13273; break;
case 3181 :g =4572; break;
case 3182 :g =12960; break;
case 3183 :g =91; break;
case 3184 :g =852; break;
case 3185 :g =421; break;
case 3186 :g =240; break;
case 3187 :g =603; break;
case 3188 :g =3133; break;
case 3189 :g =72; break;
case 3190 :g =70; break;
case 3191 :g =0; break;
case 3192 :g =199; break;
case 3193 :g =3931; break;
case 3194 :g =923; break;
case 3195 :g =-1; break;
case 3196 :g =54; break;
case 3197 :g =277; break;
case 3198 :g =4108; break;
case 3199 :g =2512; break;
case 3200 :g =2579; break;
case 3201 :g =411; break;
case 3202 :g =2596; break;
case 3203 :g =65; break;
case 3204 :g =11502; break;
case 3205 :g =31; break;
case 3206 :g =889; break;
case 3207 :g =730; break;
case 3208 :g =23; break;
case 3209 :g =0; break;
case 3210 :g =3114; break;
case 3211 :g =444; break;
case 3212 :g =657; break;
case 3213 :g =1656; break;
case 3214 :g =507; break;
case 3215 :g =59; break;
case 3216 :g =2724; break;
case 3217 :g =1404; break;
case 3218 :g =3; break;
case 3219 :g =248; break;
case 3220 :g =1611; break;
case 3221 :g =10527; break;
case 3222 :g =851; break;
case 3223 :g =3138; break;
case 3224 :g =323; break;
case 3225 :g =1458; break;
case 3226 :g =176; break;
case 3227 :g =1790; break;
case 3228 :g =3072; break;
case 3229 :g =151; break;
case 3230 :g =511; break;
case 3231 :g =2545; break;
case 3232 :g =0; break;
case 3233 :g =0; break;
case 3234 :g =420; break;
case 3235 :g =184; break;
case 3236 :g =1036; break;
case 3237 :g =103; break;
case 3238 :g =2733; break;
case 3239 :g =0; break;
case 3240 :g =4093; break;
case 3241 :g =13556; break;
case 3242 :g =4601; break;
case 3243 :g =3842; break;
case 3244 :g =72; break;
case 3245 :g =0; break;
case 3246 :g =4688; break;
case 3247 :g =163; break;
case 3248 :g =407; break;
case 3249 :g =1225; break;
case 3250 :g =19984; break;
case 3251 :g =2468; break;
case 3252 :g =878; break;
case 3253 :g =1919; break;
case 3254 :g =439; break;
case 3255 :g =43; break;
case 3256 :g =-1; break;
case 3257 :g =265; break;
case 3258 :g =5690; break;
case 3259 :g =7466; break;
case 3260 :g =119; break;
case 3261 :g =357; break;
case 3262 :g =5093; break;
case 3263 :g =6959; break;
case 3264 :g =0; break;
case 3265 :g =666; break;
case 3266 :g =0; break;
case 3267 :g =6324; break;
case 3268 :g =-1; break;
case 3269 :g =1790; break;
case 3270 :g =6080; break;
case 3271 :g =507; break;
case 3272 :g =3579; break;
case 3273 :g =419; break;
case 3274 :g =356; break;
case 3275 :g =669; break;
case 3276 :g =526; break;
case 3277 :g =938; break;
case 3278 :g =4772; break;
case 3279 :g =36; break;
case 3280 :g =295; break;
case 3281 :g =138; break;
case 3282 :g =0; break;
case 3283 :g =5052; break;
case 3284 :g =142; break;
case 3285 :g =1901; break;
case 3286 :g =233; break;
case 3287 :g =410; break;
case 3288 :g =280; break;
case 3289 :g =1504; break;
case 3290 :g =2580; break;
case 3291 :g =-1; break;
case 3292 :g =419; break;
case 3293 :g =2700; break;
case 3294 :g =16344; break;
case 3295 :g =-1; break;
case 3296 :g =2845; break;
case 3297 :g =296; break;
case 3298 :g =657; break;
case 3299 :g =8873; break;
case 3300 :g =4354; break;
case 3301 :g =8996; break;
case 3302 :g =1284; break;
case 3303 :g =7305; break;
case 3304 :g =4658; break;
case 3305 :g =1655; break;
case 3306 :g =2307; break;
case 3307 :g =1572; break;
case 3308 :g =1334; break;
case 3309 :g =0; break;
case 3310 :g =1555; break;
case 3311 :g =764; break;
case 3312 :g =701; break;
case 3313 :g =264; break;
case 3314 :g =63; break;
case 3315 :g =1774; break;
case 3316 :g =807; break;
case 3317 :g =10941; break;
case 3318 :g =11; break;
case 3319 :g =67; break;
case 3320 :g =385; break;
case 3321 :g =825; break;
case 3322 :g =0; break;
case 3323 :g =348; break;
case 3324 :g =1405; break;
case 3325 :g =-1; break;
case 3326 :g =474; break;
case 3327 :g =85; break;
case 3328 :g =11945; break;
case 3329 :g =139; break;
case 3330 :g =176; break;
case 3331 :g =4009; break;
case 3332 :g =5368; break;
case 3333 :g =90; break;
case 3334 :g =5463; break;
case 3335 :g =3986; break;
case 3336 :g =1902; break;
case 3337 :g =2172; break;
case 3338 :g =84; break;
case 3339 :g =5755; break;
case 3340 :g =-1; break;
case 3341 :g =409; break;
case 3342 :g =1885; break;
case 3343 :g =382; break;
case 3344 :g =18450; break;
case 3345 :g =4598; break;
case 3346 :g =1529; break;
case 3347 :g =1152; break;
case 3348 :g =2404; break;
case 3349 :g =700; break;
case 3350 :g =31; break;
case 3351 :g =2146; break;
case 3352 :g =1679; break;
case 3353 :g =1069; break;
case 3354 :g =2067; break;
case 3355 :g =12179; break;
case 3356 :g =3772; break;
case 3357 :g =5135; break;
case 3358 :g =-1; break;
case 3359 :g =1625; break;
case 3360 :g =3590; break;
case 3361 :g =5239; break;
case 3362 :g =0; break;
case 3363 :g =0; break;
case 3364 :g =3040; break;
case 3365 :g =27241; break;
case 3366 :g =0; break;
case 3367 :g =1205; break;
case 3368 :g =1208; break;
case 3369 :g =1; break;
case 3370 :g =452; break;
case 3371 :g =291; break;
case 3372 :g =449; break;
case 3373 :g =672; break;
case 3374 :g =0; break;
case 3375 :g =1493; break;
case 3376 :g =1004; break;
case 3377 :g =1378; break;
case 3378 :g =234; break;
case 3379 :g =9679; break;
case 3380 :g =1430; break;
case 3381 :g =797; break;
case 3382 :g =120; break;
case 3383 :g =3362; break;
case 3384 :g =9487; break;
case 3385 :g =4019; break;
case 3386 :g =1263; break;
case 3387 :g =1; break;
case 3388 :g =4546; break;
case 3389 :g =1173; break;
case 3390 :g =5; break;
case 3391 :g =147; break;
case 3392 :g =23; break;
case 3393 :g =1366; break;
case 3394 :g =867; break;
case 3395 :g =1561; break;
case 3396 :g =1162; break;
case 3397 :g =641; break;
case 3398 :g =3765; break;
case 3399 :g =10601; break;
case 3400 :g =187; break;
case 3401 :g =3458; break;
case 3402 :g =127; break;
case 3403 :g =20057; break;
case 3404 :g =108; break;
case 3405 :g =0; break;
case 3406 :g =130; break;
case 3407 :g =1039; break;
case 3408 :g =6623; break;
case 3409 :g =2903; break;
case 3410 :g =1179; break;
case 3411 :g =61; break;
case 3412 :g =180; break;
case 3413 :g =163; break;
case 3414 :g =68; break;
case 3415 :g =1131; break;
case 3416 :g =1742; break;
case 3417 :g =191; break;
case 3418 :g =249; break;
case 3419 :g =4072; break;
case 3420 :g =51; break;
case 3421 :g =11921; break;
case 3422 :g =14725; break;
case 3423 :g =9775; break;
case 3424 :g =611; break;
case 3425 :g =1315; break;
case 3426 :g =67; break;
case 3427 :g =2554; break;
case 3428 :g =1172; break;
case 3429 :g =910; break;
case 3430 :g =166; break;
case 3431 :g =1504; break;
case 3432 :g =1034; break;
case 3433 :g =17776; break;
case 3434 :g =131; break;
case 3435 :g =3375; break;
case 3436 :g =1196; break;
case 3437 :g =1346; break;
case 3438 :g =0; break;
case 3439 :g =5701; break;
case 3440 :g =47; break;
case 3441 :g =3411; break;
case 3442 :g =362; break;
case 3443 :g =1780; break;
case 3444 :g =726; break;
case 3445 :g =37325; break;
case 3446 :g =60; break;
case 3447 :g =2892; break;
case 3448 :g =1197; break;
case 3449 :g =3446; break;
case 3450 :g =5835; break;
case 3451 :g =424; break;
case 3452 :g =417; break;
case 3453 :g =3949; break;
case 3454 :g =444; break;
case 3455 :g =18228; break;
case 3456 :g =1407; break;
case 3457 :g =0; break;
case 3458 :g =555; break;
case 3459 :g =2273; break;
case 3460 :g =607; break;
case 3461 :g =1468; break;
case 3462 :g =4385; break;
case 3463 :g =3; break;
case 3464 :g =1402; break;
case 3465 :g =18128; break;
case 3466 :g =159; break;
case 3467 :g =4913; break;
case 3468 :g =2784; break;
case 3469 :g =660; break;
case 3470 :g =6638; break;
case 3471 :g =100; break;
case 3472 :g =2671; break;
case 3473 :g =543; break;
case 3474 :g =9780; break;
case 3475 :g =0; break;
case 3476 :g =0; break;
case 3477 :g =2341; break;
case 3478 :g =544; break;
case 3479 :g =636; break;
case 3480 :g =11; break;
case 3481 :g =333; break;
case 3482 :g =55; break;
case 3483 :g =724; break;
case 3484 :g =4685; break;
case 3485 :g =0; break;
case 3486 :g =245; break;
case 3487 :g =1172; break;
case 3488 :g =5870; break;
case 3489 :g =11; break;
case 3490 :g =41; break;
case 3491 :g =968; break;
case 3492 :g =2352; break;
case 3493 :g =2345; break;
case 3494 :g =115; break;
case 3495 :g =3739; break;
case 3496 :g =138; break;
case 3497 :g =2252; break;
case 3498 :g =5449; break;
case 3499 :g =7591; break;
case 3500 :g =305; break;
case 3501 :g =1353; break;
case 3502 :g =21534; break;
case 3503 :g =1137; break;
case 3504 :g =258; break;
case 3505 :g =6745; break;
case 3506 :g =1818; break;
case 3507 :g =6591; break;
case 3508 :g =4733; break;
case 3509 :g =8554; break;
case 3510 :g =6990; break;
case 3511 :g =5238; break;
case 3512 :g =1383; break;
case 3513 :g =1196; break;
case 3514 :g =2239; break;
case 3515 :g =6516; break;
case 3516 :g =2420; break;
case 3517 :g =553; break;
case 3518 :g =12314; break;
case 3519 :g =3471; break;
case 3520 :g =2802; break;
case 3521 :g =14083; break;
case 3522 :g =240; break;
case 3523 :g =5928; break;
case 3524 :g =299; break;
case 3525 :g =134; break;
case 3526 :g =3640; break;
case 3527 :g =517; break;
case 3528 :g =3676; break;
case 3529 :g =2337; break;
case 3530 :g =3236; break;
case 3531 :g =5644; break;
case 3532 :g =47; break;
case 3533 :g =3242; break;
case 3534 :g =0; break;
case 3535 :g =1759; break;
case 3536 :g =748; break;
case 3537 :g =-1; break;
case 3538 :g =664; break;
case 3539 :g =17189; break;
case 3540 :g =163; break;
case 3541 :g =0; break;
case 3542 :g =349; break;
case 3543 :g =1082; break;
case 3544 :g =2141; break;
case 3545 :g =4026; break;
case 3546 :g =4034; break;
case 3547 :g =2227; break;
case 3548 :g =2330; break;
case 3549 :g =1096; break;
case 3550 :g =6270; break;
case 3551 :g =106; break;
case 3552 :g =802; break;
case 3553 :g =296; break;
case 3554 :g =440; break;
case 3555 :g =1104; break;
case 3556 :g =1358; break;
case 3557 :g =956; break;
case 3558 :g =2386; break;
case 3559 :g =923; break;
case 3560 :g =1805; break;
case 3561 :g =2381; break;
case 3562 :g =646; break;
case 3563 :g =93; break;
case 3564 :g =729; break;
case 3565 :g =-1; break;
case 3566 :g =87; break;
case 3567 :g =255; break;
case 3568 :g =701; break;
case 3569 :g =346; break;
case 3570 :g =311; break;
case 3571 :g =256; break;
case 3572 :g =1154; break;
case 3573 :g =966; break;
case 3574 :g =2060; break;
case 3575 :g =1384; break;
case 3576 :g =112; break;
case 3577 :g =127; break;
case 3578 :g =220; break;
case 3579 :g =3452; break;
case 3580 :g =698; break;
case 3581 :g =4148; break;
case 3582 :g =4767; break;
case 3583 :g =4111; break;
case 3584 :g =1618; break;
case 3585 :g =5765; break;
case 3586 :g =6984; break;
case 3587 :g =10603; break;
case 3588 :g =430; break;
case 3589 :g =2952; break;
case 3590 :g =284; break;
case 3591 :g =0; break;
case 3592 :g =2933; break;
case 3593 :g =650; break;
case 3594 :g =142; break;
case 3595 :g =4411; break;
case 3596 :g =269; break;
case 3597 :g =2676; break;
case 3598 :g =90; break;
case 3599 :g =20; break;
case 3600 :g =156; break;
case 3601 :g =-1; break;
case 3602 :g =1047; break;
case 3603 :g =1194; break;
case 3604 :g =2605; break;
case 3605 :g =0; break;
case 3606 :g =347; break;
case 3607 :g =1100; break;
case 3608 :g =1308; break;
case 3609 :g =10800; break;
case 3610 :g =194; break;
case 3611 :g =142; break;
case 3612 :g =13393; break;
case 3613 :g =7672; break;
case 3614 :g =4566; break;
case 3615 :g =77; break;
case 3616 :g =211; break;
case 3617 :g =11466; break;
case 3618 :g =499; break;
case 3619 :g =5; break;
case 3620 :g =11988; break;
case 3621 :g =480; break;
case 3622 :g =911; break;
case 3623 :g =847; break;
case 3624 :g =3441; break;
case 3625 :g =403; break;
case 3626 :g =214; break;
case 3627 :g =713; break;
case 3628 :g =1; break;
case 3629 :g =2002; break;
case 3630 :g =4427; break;
case 3631 :g =260; break;
case 3632 :g =5711; break;
case 3633 :g =1192; break;
case 3634 :g =170; break;
case 3635 :g =0; break;
case 3636 :g =4725; break;
case 3637 :g =1392; break;
case 3638 :g =8545; break;
case 3639 :g =6378; break;
case 3640 :g =1164; break;
case 3641 :g =12459; break;
case 3642 :g =287; break;
case 3643 :g =6; break;
case 3644 :g =2300; break;
case 3645 :g =1270; break;
case 3646 :g =2731; break;
case 3647 :g =0; break;
case 3648 :g =1749; break;
case 3649 :g =0; break;
case 3650 :g =6897; break;
case 3651 :g =784; break;
case 3652 :g =66; break;
case 3653 :g =16279; break;
case 3654 :g =2306; break;
case 3655 :g =2379; break;
case 3656 :g =19848; break;
case 3657 :g =1498; break;
case 3658 :g =2549; break;
case 3659 :g =301; break;
case 3660 :g =6919; break;
case 3661 :g =1390; break;
case 3662 :g =3140; break;
case 3663 :g =1550; break;
case 3664 :g =16871; break;
case 3665 :g =1079; break;
case 3666 :g =111; break;
case 3667 :g =6112; break;
case 3668 :g =-1; break;
case 3669 :g =4179; break;
case 3670 :g =1639; break;
case 3671 :g =299; break;
case 3672 :g =623; break;
case 3673 :g =650; break;
case 3674 :g =31; break;
case 3675 :g =492; break;
case 3676 :g =6398; break;
case 3677 :g =429; break;
case 3678 :g =11174; break;
case 3679 :g =4255; break;
case 3680 :g =71; break;
case 3681 :g =10500; break;
case 3682 :g =242; break;
case 3683 :g =4087; break;
case 3684 :g =4010; break;
case 3685 :g =53; break;
case 3686 :g =0; break;
case 3687 :g =644; break;
case 3688 :g =0; break;
case 3689 :g =2912; break;
case 3690 :g =15000; break;
case 3691 :g =1471; break;
case 3692 :g =19; break;
case 3693 :g =6341; break;
case 3694 :g =595; break;
case 3695 :g =10467; break;
case 3696 :g =1809; break;
case 3697 :g =842; break;
case 3698 :g =7348; break;
case 3699 :g =141; break;
case 3700 :g =6996; break;
case 3701 :g =8510; break;
case 3702 :g =1326; break;
case 3703 :g =1010; break;
case 3704 :g =531; break;
case 3705 :g =551; break;
case 3706 :g =5176; break;
case 3707 :g =1975; break;
case 3708 :g =2949; break;
case 3709 :g =3936; break;
case 3710 :g =13106; break;
case 3711 :g =236; break;
case 3712 :g =6920; break;
case 3713 :g =2013; break;
case 3714 :g =1759; break;
case 3715 :g =3562; break;
case 3716 :g =15724; break;
case 3717 :g =5055; break;
case 3718 :g =90; break;
case 3719 :g =0; break;
case 3720 :g =10877; break;
case 3721 :g =0; break;
case 3722 :g =2828; break;
case 3723 :g =23601; break;
case 3724 :g =84; break;
case 3725 :g =2180; break;
case 3726 :g =168; break;
case 3727 :g =1918; break;
case 3728 :g =-1; break;
case 3729 :g =3212; break;
case 3730 :g =450; break;
case 3731 :g =3375; break;
case 3732 :g =23; break;
case 3733 :g =351; break;
case 3734 :g =2328; break;
case 3735 :g =1878; break;
case 3736 :g =0; break;
case 3737 :g =1508; break;
case 3738 :g =-1; break;
case 3739 :g =1957; break;
case 3740 :g =16604; break;
case 3741 :g =3420; break;
case 3742 :g =955; break;
case 3743 :g =9370; break;
case 3744 :g =889; break;
case 3745 :g =349; break;
case 3746 :g =90; break;
case 3747 :g =2204; break;
case 3748 :g =2076; break;
case 3749 :g =490; break;
case 3750 :g =9461; break;
case 3751 :g =6806; break;
case 3752 :g =418; break;
case 3753 :g =3845; break;
case 3754 :g =809; break;
case 3755 :g =1044; break;
case 3756 :g =23; break;
case 3757 :g =175; break;
case 3758 :g =2541; break;
case 3759 :g =1389; break;
case 3760 :g =8633; break;
case 3761 :g =251; break;
case 3762 :g =9564; break;
case 3763 :g =15350; break;
case 3764 :g =8553; break;
case 3765 :g =-1; break;
case 3766 :g =1761; break;
case 3767 :g =2360; break;
case 3768 :g =2075; break;
case 3769 :g =5607; break;
case 3770 :g =616; break;
case 3771 :g =772; break;
case 3772 :g =0; break;
case 3773 :g =656; break;
case 3774 :g =379; break;
case 3775 :g =0; break;
case 3776 :g =7448; break;
case 3777 :g =7720; break;
case 3778 :g =359; break;
case 3779 :g =0; break;
case 3780 :g =342; break;
case 3781 :g =158; break;
case 3782 :g =61; break;
case 3783 :g =1007; break;
case 3784 :g =721; break;
case 3785 :g =5358; break;
case 3786 :g =-1; break;
case 3787 :g =10496; break;
case 3788 :g =781; break;
case 3789 :g =1596; break;
case 3790 :g =1606; break;
case 3791 :g =134; break;
case 3792 :g =2515; break;
case 3793 :g =992; break;
case 3794 :g =2319; break;
case 3795 :g =1180; break;
case 3796 :g =755; break;
case 3797 :g =3556; break;
case 3798 :g =6359; break;
case 3799 :g =3235; break;
case 3800 :g =169; break;
case 3801 :g =623; break;
case 3802 :g =4354; break;
case 3803 :g =1305; break;
case 3804 :g =328; break;
case 3805 :g =2623; break;
case 3806 :g =0; break;
case 3807 :g =7336; break;
case 3808 :g =-1; break;
case 3809 :g =93; break;
case 3810 :g =592; break;
case 3811 :g =902; break;
case 3812 :g =9322; break;
case 3813 :g =1877; break;
case 3814 :g =11466; break;
case 3815 :g =0; break;
case 3816 :g =1474; break;
case 3817 :g =2447; break;
case 3818 :g =0; break;
case 3819 :g =27355; break;
case 3820 :g =1431; break;
case 3821 :g =1709; break;
case 3822 :g =7997; break;
case 3823 :g =-1; break;
case 3824 :g =70; break;
case 3825 :g =1025; break;
case 3826 :g =3898; break;
case 3827 :g =25529; break;
case 3828 :g =59; break;
case 3829 :g =2229; break;
case 3830 :g =0; break;
case 3831 :g =105; break;
case 3832 :g =4043; break;
case 3833 :g =7445; break;
case 3834 :g =680; break;
case 3835 :g =22916; break;
case 3836 :g =41; break;
case 3837 :g =29; break;
case 3838 :g =-1; break;
case 3839 :g =1495; break;
case 3840 :g =12165; break;
case 3841 :g =1828; break;
case 3842 :g =6637; break;
case 3843 :g =2522; break;
case 3844 :g =-1; break;
case 3845 :g =974; break;
case 3846 :g =332; break;
case 3847 :g =4528; break;
case 3848 :g =1926; break;
case 3849 :g =122; break;
case 3850 :g =853; break;
case 3851 :g =131; break;
case 3852 :g =1091; break;
case 3853 :g =216; break;
case 3854 :g =4298; break;
case 3855 :g =8307; break;
case 3856 :g =15926; break;
case 3857 :g =6563; break;
case 3858 :g =0; break;
case 3859 :g =0; break;
case 3860 :g =2371; break;
case 3861 :g =427; break;
case 3862 :g =67; break;
case 3863 :g =1793; break;
case 3864 :g =2743; break;
case 3865 :g =24; break;
case 3866 :g =1167; break;
case 3867 :g =3070; break;
case 3868 :g =3; break;
case 3869 :g =426; break;
case 3870 :g =566; break;
case 3871 :g =10422; break;
case 3872 :g =3012; break;
case 3873 :g =4434; break;
case 3874 :g =5160; break;
case 3875 :g =5417; break;
case 3876 :g =2934; break;
case 3877 :g =104; break;
case 3878 :g =373; break;
case 3879 :g =3118; break;
case 3880 :g =5188; break;
case 3881 :g =9269; break;
case 3882 :g =0; break;
case 3883 :g =0; break;
case 3884 :g =3109; break;
case 3885 :g =1525; break;
case 3886 :g =59; break;
case 3887 :g =800; break;
case 3888 :g =8141; break;
case 3889 :g =2436; break;
case 3890 :g =-1; break;
case 3891 :g =89; break;
case 3892 :g =8849; break;
case 3893 :g =13658; break;
case 3894 :g =504; break;
case 3895 :g =3595; break;
case 3896 :g =685; break;
case 3897 :g =699; break;
case 3898 :g =243; break;
case 3899 :g =1096; break;
case 3900 :g =1565; break;
case 3901 :g =6746; break;
case 3902 :g =1431; break;
case 3903 :g =143; break;
case 3904 :g =3495; break;
case 3905 :g =2340; break;
case 3906 :g =5691; break;
case 3907 :g =3893; break;
case 3908 :g =648; break;
case 3909 :g =24047; break;
case 3910 :g =17; break;
case 3911 :g =8420; break;
case 3912 :g =123; break;
case 3913 :g =1168; break;
case 3914 :g =0; break;
case 3915 :g =13; break;
case 3916 :g =145; break;
case 3917 :g =641; break;
case 3918 :g =3258; break;
case 3919 :g =10061; break;
case 3920 :g =20398; break;
case 3921 :g =4791; break;
case 3922 :g =765; break;
case 3923 :g =831; break;
case 3924 :g =681; break;
case 3925 :g =850; break;
case 3926 :g =597; break;
case 3927 :g =2130; break;
case 3928 :g =1945; break;
case 3929 :g =279; break;
case 3930 :g =5; break;
case 3931 :g =1368; break;
case 3932 :g =6635; break;
case 3933 :g =196; break;
case 3934 :g =0; break;
case 3935 :g =110; break;
case 3936 :g =289; break;
case 3937 :g =-1; break;
case 3938 :g =256; break;
case 3939 :g =1291; break;
case 3940 :g =1903; break;
case 3941 :g =2493; break;
case 3942 :g =105; break;
case 3943 :g =2964; break;
case 3944 :g =1557; break;
case 3945 :g =7707; break;
case 3946 :g =70; break;
case 3947 :g =1073; break;
case 3948 :g =12636; break;
case 3949 :g =385; break;
case 3950 :g =4529; break;
case 3951 :g =10741; break;
case 3952 :g =6941; break;
case 3953 :g =0; break;
case 3954 :g =3385; break;
case 3955 :g =135; break;
case 3956 :g =5; break;
case 3957 :g =350; break;
case 3958 :g =0; break;
case 3959 :g =0; break;
case 3960 :g =14484; break;
case 3961 :g =24458; break;
case 3962 :g =6018; break;
case 3963 :g =2029; break;
case 3964 :g =-1; break;
case 3965 :g =-1; break;
case 3966 :g =11; break;
case 3967 :g =17; break;
case 3968 :g =1514; break;
case 3969 :g =17309; break;
case 3970 :g =421; break;
case 3971 :g =4485; break;
case 3972 :g =197; break;
case 3973 :g =0; break;
case 3974 :g =0; break;
case 3975 :g =1276; break;
case 3976 :g =3392; break;
case 3977 :g =10577; break;
case 3978 :g =662; break;
case 3979 :g =74; break;
case 3980 :g =92; break;
case 3981 :g =478; break;
case 3982 :g =1015; break;
case 3983 :g =1649; break;
case 3984 :g =102; break;
case 3985 :g =1315; break;
case 3986 :g =2250; break;
case 3987 :g =765; break;
case 3988 :g =2736; break;
case 3989 :g =3689; break;
case 3990 :g =2363; break;
case 3991 :g =518; break;
case 3992 :g =4400; break;
case 3993 :g =-1; break;
case 3994 :g =1171; break;
case 3995 :g =1128; break;
case 3996 :g =47; break;
case 3997 :g =296; break;
case 3998 :g =73; break;
case 3999 :g =0; break;
case 4000 :g =379; break;
case 4001 :g =160; break;
case 4002 :g =0; break;
case 4003 :g =0; break;
case 4004 :g =394; break;
case 4005 :g =339; break;
case 4006 :g =1591; break;
case 4007 :g =7870; break;
case 4008 :g =14130; break;
case 4009 :g =5295; break;
case 4010 :g =93; break;
case 4011 :g =16689; break;
case 4012 :g =2789; break;
case 4013 :g =1682; break;
case 4014 :g =5101; break;
case 4015 :g =59; break;
case 4016 :g =4596; break;
case 4017 :g =200; break;
case 4018 :g =2093; break;
case 4019 :g =14041; break;
case 4020 :g =785; break;
case 4021 :g =400; break;
case 4022 :g =320; break;
case 4023 :g =333; break;
case 4024 :g =20355; break;
case 4025 :g =138; break;
case 4026 :g =3599; break;
case 4027 :g =1364; break;
case 4028 :g =47; break;
case 4029 :g =6550; break;
case 4030 :g =0; break;
case 4031 :g =0; break;
case 4032 :g =31; break;
case 4033 :g =215; break;
case 4034 :g =280; break;
case 4035 :g =5053; break;
case 4036 :g =180; break;
case 4037 :g =705; break;
case 4038 :g =634; break;
case 4039 :g =4562; break;
case 4040 :g =424; break;
case 4041 :g =332; break;
case 4042 :g =101; break;
case 4043 :g =216; break;
case 4044 :g =1237; break;
case 4045 :g =4639; break;
case 4046 :g =1; break;
case 4047 :g =753; break;
case 4048 :g =108; break;
case 4049 :g =698; break;
case 4050 :g =303; break;
case 4051 :g =5; break;
case 4052 :g =5897; break;
case 4053 :g =28197; break;
case 4054 :g =4896; break;
case 4055 :g =3046; break;
case 4056 :g =22128; break;
case 4057 :g =9709; break;
case 4058 :g =3921; break;
case 4059 :g =236; break;
case 4060 :g =1680; break;
case 4061 :g =19; break;
case 4062 :g =108; break;
case 4063 :g =324; break;
case 4064 :g =8140; break;
case 4065 :g =310; break;
case 4066 :g =499; break;
case 4067 :g =0; break;
case 4068 :g =1826; break;
case 4069 :g =307; break;
case 4070 :g =116; break;
case 4071 :g =-1; break;
case 4072 :g =0; break;
case 4073 :g =456; break;
case 4074 :g =0; break;
case 4075 :g =272; break;
case 4076 :g =7409; break;
case 4077 :g =654; break;
case 4078 :g =1929; break;
case 4079 :g =67; break;
case 4080 :g =231; break;
case 4081 :g =6000; break;
case 4082 :g =-1; break;
case 4083 :g =8679; break;
case 4084 :g =0; break;
case 4085 :g =1147; break;
case 4086 :g =11246; break;
case 4087 :g =7979; break;
case 4088 :g =902; break;
case 4089 :g =2103; break;
case 4090 :g =9232; break;
case 4091 :g =804; break;
case 4092 :g =2849; break;
case 4093 :g =3760; break;
case 4094 :g =-1; break;
case 4095 :g =1607; break;
case 4096 :g =110; break;
case 4097 :g =2288; break;
case 4098 :g =31; break;
case 4099 :g =66; break;
case 4100 :g =2106; break;
case 4101 :g =4417; break;
case 4102 :g =9997; break;
case 4103 :g =2213; break;
case 4104 :g =1759; break;
case 4105 :g =5105; break;
case 4106 :g =236; break;
case 4107 :g =158; break;
case 4108 :g =410; break;
case 4109 :g =10296; break;
case 4110 :g =9972; break;
case 4111 :g =3318; break;
case 4112 :g =8737; break;
case 4113 :g =308; break;
case 4114 :g =5708; break;
case 4115 :g =14349; break;
case 4116 :g =41; break;
case 4117 :g =6386; break;
case 4118 :g =87; break;
case 4119 :g =112; break;
case 4120 :g =180; break;
case 4121 :g =1821; break;
case 4122 :g =3040; break;
case 4123 :g =245; break;
case 4124 :g =5041; break;
case 4125 :g =99; break;
case 4126 :g =90; break;
case 4127 :g =1477; break;
case 4128 :g =248; break;
case 4129 :g =18951; break;
case 4130 :g =1984; break;
case 4131 :g =0; break;
case 4132 :g =943; break;
case 4133 :g =1079; break;
case 4134 :g =393; break;
case 4135 :g =1094; break;
case 4136 :g =4403; break;
case 4137 :g =0; break;
case 4138 :g =5917; break;
case 4139 :g =0; break;
case 4140 :g =704; break;
case 4141 :g =1470; break;
case 4142 :g =4901; break;
case 4143 :g =0; break;
case 4144 :g =11631; break;
case 4145 :g =61; break;
case 4146 :g =1659; break;
case 4147 :g =150; break;
case 4148 :g =-1; break;
case 4149 :g =4421; break;
case 4150 :g =748; break;
case 4151 :g =1625; break;
case 4152 :g =1367; break;
case 4153 :g =2505; break;
case 4154 :g =145; break;
case 4155 :g =10889; break;
case 4156 :g =5309; break;
case 4157 :g =3763; break;
case 4158 :g =215; break;
case 4159 :g =10648; break;
case 4160 :g =4051; break;
case 4161 :g =646; break;
case 4162 :g =0; break;
case 4163 :g =976; break;
case 4164 :g =125; break;
case 4165 :g =53; break;
case 4166 :g =5588; break;
case 4167 :g =477; break;
case 4168 :g =46; break;
case 4169 :g =14418; break;
case 4170 :g =781; break;
case 4171 :g =2314; break;
case 4172 :g =716; break;
case 4173 :g =2832; break;
case 4174 :g =19623; break;
case 4175 :g =468; break;
case 4176 :g =12147; break;
case 4177 :g =5683; break;
case 4178 :g =636; break;
case 4179 :g =907; break;
case 4180 :g =7807; break;
case 4181 :g =-1; break;
case 4182 :g =218; break;
case 4183 :g =0; break;
case 4184 :g =15103; break;
case 4185 :g =649; break;
case 4186 :g =738; break;
case 4187 :g =66; break;
case 4188 :g =537; break;
case 4189 :g =4960; break;
case 4190 :g =280; break;
case 4191 :g =5; break;
case 4192 :g =1282; break;
case 4193 :g =778; break;
case 4194 :g =10350; break;
case 4195 :g =0; break;
case 4196 :g =2567; break;
case 4197 :g =3364; break;
case 4198 :g =4302; break;
case 4199 :g =115; break;
case 4200 :g =-1; break;
case 4201 :g =567; break;
case 4202 :g =3793; break;
case 4203 :g =-1; break;
case 4204 :g =2133; break;
case 4205 :g =3555; break;
case 4206 :g =839; break;
case 4207 :g =5807; break;
case 4208 :g =5767; break;
case 4209 :g =4798; break;
case 4210 :g =0; break;
case 4211 :g =130; break;
case 4212 :g =26908; break;
case 4213 :g =0; break;
case 4214 :g =5125; break;
case 4215 :g =58; break;
case 4216 :g =5566; break;
case 4217 :g =224; break;
case 4218 :g =303; break;
case 4219 :g =7765; break;
case 4220 :g =3489; break;
case 4221 :g =2546; break;
case 4222 :g =12324; break;
case 4223 :g =2326; break;
case 4224 :g =47; break;
case 4225 :g =346; break;
case 4226 :g =4006; break;
case 4227 :g =6736; break;
case 4228 :g =6255; break;
case 4229 :g =1968; break;
case 4230 :g =257; break;
case 4231 :g =4900; break;
case 4232 :g =2195; break;
case 4233 :g =444; break;
case 4234 :g =16336; break;
case 4235 :g =273; break;
case 4236 :g =4498; break;
case 4237 :g =5667; break;
case 4238 :g =0; break;
case 4239 :g =5377; break;
case 4240 :g =744; break;
case 4241 :g =43; break;
case 4242 :g =2289; break;
case 4243 :g =2392; break;
case 4244 :g =2843; break;
case 4245 :g =245; break;
case 4246 :g =22704; break;
case 4247 :g =22005; break;
case 4248 :g =255; break;
case 4249 :g =4764; break;
case 4250 :g =800; break;
case 4251 :g =16288; break;
case 4252 :g =3049; break;
case 4253 :g =232; break;
case 4254 :g =4196; break;
case 4255 :g =8154; break;
case 4256 :g =0; break;
case 4257 :g =56; break;
case 4258 :g =540; break;
case 4259 :g =0; break;
case 4260 :g =14254; break;
case 4261 :g =10045; break;
case 4262 :g =673; break;
case 4263 :g =5368; break;
case 4264 :g =150; break;
case 4265 :g =14260; break;
case 4266 :g =617; break;
case 4267 :g =1608; break;
case 4268 :g =5090; break;
case 4269 :g =0; break;
case 4270 :g =0; break;
case 4271 :g =4996; break;
case 4272 :g =-1; break;
case 4273 :g =5877; break;
case 4274 :g =7470; break;
case 4275 :g =3505; break;
case 4276 :g =603; break;
case 4277 :g =-1; break;
case 4278 :g =23849; break;
case 4279 :g =6721; break;
case 4280 :g =5411; break;
case 4281 :g =148; break;
case 4282 :g =9029; break;
case 4283 :g =12356; break;
case 4284 :g =579; break;
case 4285 :g =0; break;
case 4286 :g =234; break;
case 4287 :g =2820; break;
case 4288 :g =5914; break;
case 4289 :g =154; break;
case 4290 :g =608; break;
case 4291 :g =7308; break;
case 4292 :g =174; break;
case 4293 :g =244; break;
case 4294 :g =705; break;
case 4295 :g =1604; break;
case 4296 :g =166; break;
case 4297 :g =15818; break;
case 4298 :g =13; break;
case 4299 :g =1768; break;
case 4300 :g =1363; break;
case 4301 :g =167; break;
case 4302 :g =3128; break;
case 4303 :g =4660; break;
case 4304 :g =355; break;
case 4305 :g =2251; break;
case 4306 :g =-1; break;
case 4307 :g =11307; break;
case 4308 :g =1928; break;
case 4309 :g =0; break;
case 4310 :g =1137; break;
case 4311 :g =192; break;
case 4312 :g =0; break;
case 4313 :g =442; break;
case 4314 :g =8047; break;
case 4315 :g =53; break;
case 4316 :g =693; break;
case 4317 :g =0; break;
case 4318 :g =19; break;
case 4319 :g =3799; break;
case 4320 :g =914; break;
case 4321 :g =46460; break;
case 4322 :g =17843; break;
case 4323 :g =129; break;
case 4324 :g =0; break;
case 4325 :g =443; break;
case 4326 :g =266; break;
case 4327 :g =3354; break;
case 4328 :g =3613; break;
case 4329 :g =243; break;
case 4330 :g =428; break;
case 4331 :g =2084; break;
case 4332 :g =0; break;
case 4333 :g =3347; break;
case 4334 :g =48; break;
case 4335 :g =7850; break;
case 4336 :g =5691; break;
case 4337 :g =557; break;
case 4338 :g =709; break;
case 4339 :g =101; break;
case 4340 :g =1892; break;
case 4341 :g =174; break;
case 4342 :g =883; break;
case 4343 :g =11321; break;
case 4344 :g =414; break;
case 4345 :g =381; break;
case 4346 :g =4209; break;
case 4347 :g =720; break;
case 4348 :g =943; break;
case 4349 :g =12208; break;
case 4350 :g =427; break;
case 4351 :g =1053; break;
case 4352 :g =84; break;
case 4353 :g =733; break;
case 4354 :g =2793; break;
case 4355 :g =2017; break;
case 4356 :g =10997; break;
case 4357 :g =77; break;
case 4358 :g =8856; break;
case 4359 :g =9441; break;
case 4360 :g =11146; break;
case 4361 :g =5590; break;
case 4362 :g =92; break;
case 4363 :g =2181; break;
case 4364 :g =7276; break;
case 4365 :g =41; break;
case 4366 :g =1617; break;
case 4367 :g =526; break;
case 4368 :g =171; break;
case 4369 :g =336; break;
case 4370 :g =12058; break;
case 4371 :g =112; break;
case 4372 :g =114; break;
case 4373 :g =6134; break;
case 4374 :g =423; break;
case 4375 :g =7858; break;
case 4376 :g =0; break;
case 4377 :g =593; break;
case 4378 :g =11725; break;
case 4379 :g =6636; break;
case 4380 :g =-1; break;
case 4381 :g =12920; break;
case 4382 :g =5646; break;
case 4383 :g =-1; break;
case 4384 :g =17055; break;
case 4385 :g =713; break;
case 4386 :g =20610; break;
case 4387 :g =443; break;
case 4388 :g =7103; break;
case 4389 :g =4705; break;
case 4390 :g =0; break;
case 4391 :g =1706; break;
case 4392 :g =1472; break;
case 4393 :g =3400; break;
case 4394 :g =390; break;
case 4395 :g =0; break;
case 4396 :g =10039; break;
case 4397 :g =36; break;
case 4398 :g =1766; break;
case 4399 :g =1897; break;
case 4400 :g =215; break;
case 4401 :g =1098; break;
case 4402 :g =500; break;
case 4403 :g =67; break;
case 4404 :g =884; break;
case 4405 :g =20072; break;
case 4406 :g =278; break;
case 4407 :g =-1; break;
case 4408 :g =568; break;
case 4409 :g =0; break;
case 4410 :g =2864; break;
case 4411 :g =1684; break;
case 4412 :g =6519; break;
case 4413 :g =677; break;
case 4414 :g =1548; break;
case 4415 :g =929; break;
case 4416 :g =72; break;
case 4417 :g =5208; break;
case 4418 :g =1051; break;
case 4419 :g =477; break;
case 4420 :g =2750; break;
case 4421 :g =2014; break;
case 4422 :g =2745; break;
case 4423 :g =1438; break;
case 4424 :g =4620; break;
case 4425 :g =75; break;
case 4426 :g =6217; break;
case 4427 :g =439; break;
case 4428 :g =1231; break;
case 4429 :g =10898; break;
case 4430 :g =8228; break;
case 4431 :g =8250; break;
case 4432 :g =2186; break;
case 4433 :g =29; break;
case 4434 :g =3013; break;
case 4435 :g =-1; break;
case 4436 :g =0; break;
case 4437 :g =11811; break;
case 4438 :g =10594; break;
case 4439 :g =0; break;
case 4440 :g =269; break;
case 4441 :g =843; break;
case 4442 :g =11207; break;
case 4443 :g =-1; break;
case 4444 :g =10204; break;
case 4445 :g =1322; break;
case 4446 :g =4442; break;
case 4447 :g =263; break;
case 4448 :g =0; break;
case 4449 :g =-1; break;
case 4450 :g =43236; break;
case 4451 :g =-1; break;
case 4452 :g =2226; break;
case 4453 :g =6134; break;
case 4454 :g =1981; break;
case 4455 :g =-1; break;
case 4456 :g =281; break;
case 4457 :g =93; break;
case 4458 :g =3342; break;
case 4459 :g =9603; break;
case 4460 :g =0; break;
case 4461 :g =88; break;
case 4462 :g =0; break;
case 4463 :g =0; break;
case 4464 :g =2766; break;
case 4465 :g =3970; break;
case 4466 :g =63; break;
case 4467 :g =7554; break;
case 4468 :g =9479; break;
case 4469 :g =1478; break;
case 4470 :g =6577; break;
case 4471 :g =414; break;
case 4472 :g =-1; break;
case 4473 :g =3813; break;
case 4474 :g =6047; break;
case 4475 :g =217; break;
case 4476 :g =1376; break;
case 4477 :g =0; break;
case 4478 :g =397; break;
case 4479 :g =8466; break;
case 4480 :g =8219; break;
case 4481 :g =1928; break;
case 4482 :g =4385; break;
case 4483 :g =674; break;
case 4484 :g =3109; break;
case 4485 :g =3250; break;
case 4486 :g =6525; break;
case 4487 :g =2567; break;
case 4488 :g =18504; break;
case 4489 :g =747; break;
case 4490 :g =3283; break;
case 4491 :g =67; break;
case 4492 :g =94; break;
case 4493 :g =17310; break;
case 4494 :g =137; break;
case 4495 :g =109; break;
case 4496 :g =1165; break;
case 4497 :g =2107; break;
case 4498 :g =54; break;
case 4499 :g =13535; break;
case 4500 :g =0; break;
case 4501 :g =6355; break;
case 4502 :g =5176; break;
case 4503 :g =163; break;
case 4504 :g =2747; break;
case 4505 :g =224; break;
case 4506 :g =17415; break;
case 4507 :g =4974; break;
case 4508 :g =1252; break;
case 4509 :g =10222; break;
case 4510 :g =2112; break;
case 4511 :g =17646; break;
case 4512 :g =1246; break;
case 4513 :g =5788; break;
case 4514 :g =50493; break;
case 4515 :g =3441; break;
case 4516 :g =5910; break;
case 4517 :g =2027; break;
case 4518 :g =1034; break;
case 4519 :g =8486; break;
case 4520 :g =2074; break;
case 4521 :g =342; break;
case 4522 :g =270; break;
case 4523 :g =4452; break;
case 4524 :g =2007; break;
case 4525 :g =1896; break;
case 4526 :g =13358; break;
case 4527 :g =-1; break;
case 4528 :g =2598; break;
case 4529 :g =180; break;
case 4530 :g =3395; break;
case 4531 :g =870; break;
case 4532 :g =11; break;
case 4533 :g =10153; break;
case 4534 :g =4450; break;
case 4535 :g =651; break;
case 4536 :g =1307; break;
case 4537 :g =3280; break;
case 4538 :g =4151; break;
case 4539 :g =2895; break;
case 4540 :g =66; break;
case 4541 :g =6965; break;
case 4542 :g =121; break;
case 4543 :g =43; break;
case 4544 :g =1206; break;
case 4545 :g =112; break;
case 4546 :g =16533; break;
case 4547 :g =669; break;
case 4548 :g =1038; break;
case 4549 :g =13286; break;
case 4550 :g =13652; break;
case 4551 :g =1005; break;
case 4552 :g =130; break;
case 4553 :g =-1; break;
case 4554 :g =2545; break;
case 4555 :g =3811; break;
case 4556 :g =1; break;
case 4557 :g =6288; break;
case 4558 :g =10014; break;
case 4559 :g =27203; break;
case 4560 :g =156; break;
case 4561 :g =0; break;
case 4562 :g =277; break;
case 4563 :g =202; break;
case 4564 :g =893; break;
case 4565 :g =2940; break;
case 4566 :g =804; break;
case 4567 :g =3293; break;
case 4568 :g =0; break;
case 4569 :g =398; break;
case 4570 :g =67; break;
case 4571 :g =19361; break;
case 4572 :g =0; break;
case 4573 :g =409; break;
case 4574 :g =1718; break;
case 4575 :g =1235; break;
case 4576 :g =9012; break;
case 4577 :g =341; break;
case 4578 :g =49; break;
case 4579 :g =5704; break;
case 4580 :g =1621; break;
case 4581 :g =2669; break;
case 4582 :g =40972; break;
case 4583 :g =597; break;
case 4584 :g =1587; break;
case 4585 :g =49; break;
case 4586 :g =2974; break;
case 4587 :g =29; break;
case 4588 :g =1485; break;
case 4589 :g =6397; break;
case 4590 :g =10392; break;
case 4591 :g =1282; break;
case 4592 :g =6680; break;
case 4593 :g =0; break;
case 4594 :g =1468; break;
case 4595 :g =165; break;
case 4596 :g =5295; break;
case 4597 :g =845; break;
case 4598 :g =90; break;
case 4599 :g =191; break;
case 4600 :g =243; break;
case 4601 :g =6303; break;
case 4602 :g =4230; break;
case 4603 :g =1669; break;
case 4604 :g =840; break;
case 4605 :g =254; break;
case 4606 :g =18922; break;
case 4607 :g =467; break;
case 4608 :g =4484; break;
case 4609 :g =10885; break;
case 4610 :g =358; break;
case 4611 :g =381; break;
case 4612 :g =10568; break;
case 4613 :g =14229; break;
case 4614 :g =119; break;
case 4615 :g =275; break;
case 4616 :g =798; break;
case 4617 :g =377; break;
case 4618 :g =8020; break;
case 4619 :g =2820; break;
case 4620 :g =28; break;
case 4621 :g =593; break;
case 4622 :g =0; break;
case 4623 :g =37; break;
case 4624 :g =403; break;
case 4625 :g =1814; break;
case 4626 :g =137; break;
case 4627 :g =8979; break;
case 4628 :g =1934; break;
case 4629 :g =0; break;
case 4630 :g =6166; break;
case 4631 :g =9417; break;
case 4632 :g =26623; break;
case 4633 :g =703; break;
case 4634 :g =590; break;
case 4635 :g =151; break;
case 4636 :g =90; break;
case 4637 :g =772; break;
case 4638 :g =6265; break;
case 4639 :g =552; break;
case 4640 :g =242; break;
case 4641 :g =163; break;
case 4642 :g =51615; break;
case 4643 :g =152; break;
case 4644 :g =9367; break;
case 4645 :g =10956; break;
case 4646 :g =6400; break;
case 4647 :g =0; break;
case 4648 :g =108; break;
case 4649 :g =0; break;
case 4650 :g =984; break;
case 4651 :g =830; break;
case 4652 :g =22432; break;
case 4653 :g =40; break;
case 4654 :g =16220; break;
case 4655 :g =13893; break;
case 4656 :g =0; break;
case 4657 :g =226; break;
case 4658 :g =2950; break;
case 4659 :g =5437; break;
case 4660 :g =590; break;
case 4661 :g =462; break;
case 4662 :g =0; break;
case 4663 :g =0; break;
case 4664 :g =261; break;
case 4665 :g =129; break;
case 4666 :g =602; break;
case 4667 :g =2734; break;
case 4668 :g =801; break;
case 4669 :g =1653; break;
case 4670 :g =19736; break;
case 4671 :g =18621; break;
case 4672 :g =747; break;
case 4673 :g =53; break;
case 4674 :g =501; break;
case 4675 :g =3424; break;
case 4676 :g =4163; break;
case 4677 :g =7864; break;
case 4678 :g =18574; break;
case 4679 :g =73; break;
case 4680 :g =895; break;
case 4681 :g =36649; break;
case 4682 :g =12195; break;
case 4683 :g =872; break;
case 4684 :g =976; break;
case 4685 :g =518; break;
case 4686 :g =304; break;
case 4687 :g =37328; break;
case 4688 :g =1791; break;
case 4689 :g =515; break;
case 4690 :g =6753; break;
case 4691 :g =1299; break;
case 4692 :g =2282; break;
case 4693 :g =46; break;
case 4694 :g =1065; break;
case 4695 :g =9254; break;
case 4696 :g =180; break;
case 4697 :g =2730; break;
case 4698 :g =31599; break;
case 4699 :g =3924; break;
case 4700 :g =60601; break;
case 4701 :g =5434; break;
case 4702 :g =153; break;
case 4703 :g =3279; break;
case 4704 :g =1676; break;
case 4705 :g =7139; break;
case 4706 :g =120; break;
case 4707 :g =-1; break;
case 4708 :g =725; break;
case 4709 :g =4867; break;
case 4710 :g =119; break;
case 4711 :g =3206; break;
case 4712 :g =8791; break;
case 4713 :g =28862; break;
case 4714 :g =136; break;
case 4715 :g =8620; break;
case 4716 :g =394; break;
case 4717 :g =5621; break;
case 4718 :g =7947; break;
case 4719 :g =5740; break;
case 4720 :g =163; break;
case 4721 :g =15369; break;
case 4722 :g =4771; break;
case 4723 :g =277; break;
case 4724 :g =1830; break;
case 4725 :g =6758; break;
case 4726 :g =903; break;
case 4727 :g =0; break;
case 4728 :g =167; break;
case 4729 :g =249; break;
case 4730 :g =3741; break;
case 4731 :g =611; break;
case 4732 :g =973; break;
case 4733 :g =72; break;
case 4734 :g =468; break;
case 4735 :g =11; break;
case 4736 :g =2192; break;
case 4737 :g =-1; break;
case 4738 :g =10612; break;
case 4739 :g =41182; break;
case 4740 :g =23940; break;
case 4741 :g =43; break;
case 4742 :g =65168; break;
case 4743 :g =1818; break;
case 4744 :g =73; break;
case 4745 :g =17; break;
case 4746 :g =13893; break;
case 4747 :g =103; break;
case 4748 :g =2271; break;
case 4749 :g =-1; break;
case 4750 :g =14348; break;
case 4751 :g =13561; break;
case 4752 :g =2922; break;
case 4753 :g =871; break;
case 4754 :g =0; break;
case 4755 :g =2908; break;
case 4756 :g =17415; break;
case 4757 :g =15553; break;
case 4758 :g =-1; break;
case 4759 :g =1739; break;
case 4760 :g =277; break;
case 4761 :g =613; break;
case 4762 :g =288; break;
case 4763 :g =1434; break;
case 4764 :g =13073; break;
case 4765 :g =24; break;
case 4766 :g =3885; break;
case 4767 :g =31; break;
case 4768 :g =32944; break;
case 4769 :g =3117; break;
case 4770 :g =29; break;
case 4771 :g =48; break;
case 4772 :g =1933; break;
case 4773 :g =267; break;
case 4774 :g =8085; break;
case 4775 :g =0; break;
case 4776 :g =720; break;
case 4777 :g =1069; break;
case 4778 :g =113; break;
case 4779 :g =2218; break;
case 4780 :g =13084; break;
case 4781 :g =273; break;
case 4782 :g =10242; break;
case 4783 :g =48720; break;
case 4784 :g =152; break;
case 4785 :g =6305; break;
case 4786 :g =467; break;
case 4787 :g =1612; break;
case 4788 :g =4335; break;
case 4789 :g =0; break;
case 4790 :g =134; break;
case 4791 :g =8780; break;
case 4792 :g =131; break;
case 4793 :g =915; break;
case 4794 :g =234; break;
case 4795 :g =702; break;
case 4796 :g =1104; break;
case 4797 :g =516; break;
case 4798 :g =92; break;
case 4799 :g =70; break;
case 4800 :g =7628; break;
case 4801 :g =1234; break;
case 4802 :g =1508; break;
case 4803 :g =2199; break;
case 4804 :g =0; break;
case 4805 :g =1119; break;
case 4806 :g =2917; break;
case 4807 :g =733; break;
case 4808 :g =0; break;
case 4809 :g =6767; break;
case 4810 :g =2534; break;
case 4811 :g =542; break;
case 4812 :g =4191; break;
case 4813 :g =628; break;
case 4814 :g =5968; break;
case 4815 :g =7798; break;
case 4816 :g =0; break;
case 4817 :g =782; break;
case 4818 :g =1842; break;
case 4819 :g =94; break;
case 4820 :g =400; break;
case 4821 :g =328; break;
case 4822 :g =10893; break;
case 4823 :g =-1; break;
case 4824 :g =6498; break;
case 4825 :g =228; break;
case 4826 :g =7727; break;
case 4827 :g =9336; break;
case 4828 :g =5400; break;
case 4829 :g =71; break;
case 4830 :g =1921; break;
case 4831 :g =2830; break;
case 4832 :g =409; break;
case 4833 :g =21466; break;
case 4834 :g =3923; break;
case 4835 :g =4579; break;
case 4836 :g =11021; break;
case 4837 :g =3573; break;
case 4838 :g =1228; break;
case 4839 :g =6208; break;
case 4840 :g =5948; break;
case 4841 :g =503; break;
case 4842 :g =7139; break;
case 4843 :g =0; break;
case 4844 :g =152; break;
case 4845 :g =91; break;
case 4846 :g =7676; break;
case 4847 :g =7392; break;
case 4848 :g =472; break;
case 4849 :g =12458; break;
case 4850 :g =1292; break;
case 4851 :g =86; break;
case 4852 :g =10140; break;
case 4853 :g =261; break;
case 4854 :g =527; break;
case 4855 :g =11; break;
case 4856 :g =20479; break;
case 4857 :g =978; break;
case 4858 :g =3294; break;
case 4859 :g =184; break;
case 4860 :g =1905; break;
case 4861 :g =14883; break;
case 4862 :g =4694; break;
case 4863 :g =1410; break;
case 4864 :g =3052; break;
case 4865 :g =0; break;
case 4866 :g =9966; break;
case 4867 :g =550; break;
case 4868 :g =1003; break;
case 4869 :g =11127; break;
case 4870 :g =523; break;
case 4871 :g =29; break;
case 4872 :g =24843; break;
case 4873 :g =851; break;
case 4874 :g =12844; break;
case 4875 :g =72; break;
case 4876 :g =389; break;
case 4877 :g =415; break;
case 4878 :g =0; break;
case 4879 :g =97; break;
case 4880 :g =2080; break;
case 4881 :g =132; break;
case 4882 :g =3209; break;
case 4883 :g =304; break;
case 4884 :g =1411; break;
case 4885 :g =14700; break;
case 4886 :g =4049; break;
case 4887 :g =17; break;
case 4888 :g =3; break;
case 4889 :g =3804; break;
case 4890 :g =9330; break;
case 4891 :g =40392; break;
case 4892 :g =140; break;
case 4893 :g =324; break;
case 4894 :g =167; break;
case 4895 :g =13; break;
case 4896 :g =5764; break;
case 4897 :g =3796; break;
case 4898 :g =78; break;
case 4899 :g =75; break;
case 4900 :g =4152; break;
case 4901 :g =487; break;
case 4902 :g =276; break;
case 4903 :g =2833; break;
case 4904 :g =2515; break;
case 4905 :g =231; break;
case 4906 :g =1057; break;
case 4907 :g =641; break;
case 4908 :g =241; break;
case 4909 :g =-1; break;
case 4910 :g =2914; break;
case 4911 :g =8033; break;
case 4912 :g =593; break;
case 4913 :g =12107; break;
case 4914 :g =171; break;
case 4915 :g =50; break;
case 4916 :g =12219; break;
case 4917 :g =685; break;
case 4918 :g =5270; break;
case 4919 :g =17; break;
case 4920 :g =8; break;
case 4921 :g =6159; break;
case 4922 :g =425; break;
case 4923 :g =3118; break;
case 4924 :g =797; break;
case 4925 :g =19461; break;
case 4926 :g =764; break;
case 4927 :g =481; break;
case 4928 :g =4648; break;
case 4929 :g =2233; break;
case 4930 :g =3953; break;
case 4931 :g =19604; break;
case 4932 :g =19; break;
case 4933 :g =6929; break;
case 4934 :g =10444; break;
case 4935 :g =0; break;
case 4936 :g =31051; break;
case 4937 :g =11671; break;
case 4938 :g =25484; break;
case 4939 :g =7440; break;
case 4940 :g =7806; break;
case 4941 :g =132; break;
case 4942 :g =401; break;
case 4943 :g =735; break;
case 4944 :g =188; break;
case 4945 :g =2212; break;
case 4946 :g =3870; break;
case 4947 :g =1087; break;
case 4948 :g =22239; break;
case 4949 :g =348; break;
case 4950 :g =2406; break;
case 4951 :g =18743; break;
case 4952 :g =2077; break;
case 4953 :g =5931; break;
case 4954 :g =243; break;
case 4955 :g =4291; break;
case 4956 :g =3118; break;
case 4957 :g =1968; break;
case 4958 :g =41; break;
case 4959 :g =21771; break;
case 4960 :g =882; break;
case 4961 :g =913; break;
case 4962 :g =27871; break;
case 4963 :g =59; break;
case 4964 :g =2788; break;
case 4965 :g =753; break;
case 4966 :g =478; break;
case 4967 :g =1057; break;
case 4968 :g =3289; break;
case 4969 :g =86; break;
case 4970 :g =22834; break;
case 4971 :g =30914; break;
case 4972 :g =18052; break;
case 4973 :g =6712; break;
case 4974 :g =0; break;
case 4975 :g =6619; break;
case 4976 :g =499; break;
case 4977 :g =1060; break;
case 4978 :g =529; break;
case 4979 :g =8444; break;
case 4980 :g =277; break;
case 4981 :g =651; break;
case 4982 :g =806; break;
case 4983 :g =712; break;
case 4984 :g =4610; break;
case 4985 :g =0; break;
case 4986 :g =9166; break;
case 4987 :g =1665; break;
case 4988 :g =361; break;
case 4989 :g =5039; break;
case 4990 :g =8563; break;
case 4991 :g =5066; break;
case 4992 :g =111; break;
case 4993 :g =3; break;
case 4994 :g =1889; break;
case 4995 :g =41; break;
case 4996 :g =36082; break;
case 4997 :g =655; break;
case 4998 :g =2923; break;
case 4999 :g =7416; break;
case 5000 :g =6538; break;
case 5001 :g =346; break;
case 5002 :g =1883; break;
case 5003 :g =131; break;
case 5004 :g =5589; break;
case 5005 :g =2343; break;
case 5006 :g =3285; break;
case 5007 :g =773; break;
case 5008 :g =1207; break;
case 5009 :g =4653; break;
case 5010 :g =1349; break;
case 5011 :g =71; break;
case 5012 :g =115; break;
case 5013 :g =2719; break;
case 5014 :g =1192; break;
case 5015 :g =11609; break;
case 5016 :g =5842; break;
case 5017 :g =13294; break;
case 5018 :g =154; break;
case 5019 :g =185; break;
case 5020 :g =1840; break;
case 5021 :g =1988; break;
case 5022 :g =3260; break;
case 5023 :g =131; break;
case 5024 :g =230; break;
case 5025 :g =1007; break;
case 5026 :g =1248; break;
case 5027 :g =2712; break;
case 5028 :g =12176; break;
case 5029 :g =9758; break;
case 5030 :g =6167; break;
case 5031 :g =817; break;
case 5032 :g =2843; break;
case 5033 :g =7848; break;
case 5034 :g =23705; break;
case 5035 :g =8276; break;
case 5036 :g =11881; break;
case 5037 :g =1185; break;
case 5038 :g =1798; break;
case 5039 :g =139; break;
case 5040 :g =228; break;
case 5041 :g =1817; break;
case 5042 :g =42; break;
case 5043 :g =378; break;
case 5044 :g =-1; break;
case 5045 :g =4655; break;
case 5046 :g =27265; break;
case 5047 :g =3170; break;
case 5048 :g =1699; break;
case 5049 :g =6739; break;
case 5050 :g =1032; break;
case 5051 :g =2921; break;
case 5052 :g =4648; break;
case 5053 :g =329; break;
case 5054 :g =579; break;
case 5055 :g =804; break;
case 5056 :g =567; break;
case 5057 :g =9462; break;
case 5058 :g =16437; break;
case 5059 :g =3842; break;
case 5060 :g =0; break;
case 5061 :g =3415; break;
case 5062 :g =26976; break;
case 5063 :g =6982; break;
case 5064 :g =674; break;
case 5065 :g =668; break;
case 5066 :g =1636; break;
case 5067 :g =10185; break;
case 5068 :g =17725; break;
case 5069 :g =698; break;
case 5070 :g =-1; break;
case 5071 :g =2312; break;
case 5072 :g =5375; break;
case 5073 :g =2613; break;
case 5074 :g =3420; break;
case 5075 :g =7104; break;
case 5076 :g =37226; break;
case 5077 :g =838; break;
case 5078 :g =1796; break;
case 5079 :g =59; break;
case 5080 :g =1819; break;
case 5081 :g =0; break;
case 5082 :g =8418; break;
case 5083 :g =1117; break;
case 5084 :g =67; break;
case 5085 :g =18634; break;
case 5086 :g =342; break;
case 5087 :g =2221; break;
case 5088 :g =26; break;
case 5089 :g =2395; break;
case 5090 :g =193; break;
case 5091 :g =12805; break;
case 5092 :g =6731; break;
case 5093 :g =0; break;
case 5094 :g =6007; break;
case 5095 :g =5926; break;
case 5096 :g =0; break;
case 5097 :g =484; break;
case 5098 :g =4001; break;
case 5099 :g =4206; break;
case 5100 :g =59; break;
case 5101 :g =84; break;
case 5102 :g =277; break;
case 5103 :g =314; break;
case 5104 :g =13023; break;
case 5105 :g =3029; break;
case 5106 :g =1236; break;
case 5107 :g =5519; break;
case 5108 :g =5581; break;
case 5109 :g =8897; break;
case 5110 :g =29; break;
case 5111 :g =8341; break;
case 5112 :g =326; break;
case 5113 :g =1911; break;
case 5114 :g =390; break;
case 5115 :g =1538; break;
case 5116 :g =402; break;
case 5117 :g =7036; break;
case 5118 :g =348; break;
case 5119 :g =27347; break;
case 5120 :g =4381; break;
case 5121 :g =3690; break;
case 5122 :g =22634; break;
case 5123 :g =660; break;
case 5124 :g =690; break;
case 5125 :g =8419; break;
case 5126 :g =3554; break;
case 5127 :g =4703; break;
case 5128 :g =6175; break;
case 5129 :g =2453; break;
case 5130 :g =5083; break;
case 5131 :g =2694; break;
case 5132 :g =19908; break;
case 5133 :g =1213; break;
case 5134 :g =12736; break;
case 5135 :g =594; break;
case 5136 :g =7040; break;
case 5137 :g =14368; break;
case 5138 :g =1645; break;
case 5139 :g =2040; break;
case 5140 :g =30871; break;
case 5141 :g =2712; break;
case 5142 :g =4953; break;
case 5143 :g =71; break;
case 5144 :g =1192; break;
case 5145 :g =14469; break;
case 5146 :g =8466; break;
case 5147 :g =1723; break;
case 5148 :g =1453; break;
case 5149 :g =8712; break;
case 5150 :g =766; break;
case 5151 :g =1292; break;
case 5152 :g =142; break;
case 5153 :g =79; break;
case 5154 :g =11; break;
case 5155 :g =33183; break;
case 5156 :g =947; break;
case 5157 :g =4430; break;
case 5158 :g =2739; break;
case 5159 :g =0; break;
case 5160 :g =0; break;
case 5161 :g =1025; break;
case 5162 :g =2644; break;
case 5163 :g =19931; break;
case 5164 :g =0; break;
case 5165 :g =932; break;
case 5166 :g =852; break;
case 5167 :g =180; break;
case 5168 :g =111; break;
case 5169 :g =158; break;
case 5170 :g =9062; break;
case 5171 :g =325; break;
case 5172 :g =11633; break;
case 5173 :g =1465; break;
case 5174 :g =136; break;
case 5175 :g =3591; break;
case 5176 :g =0; break;
case 5177 :g =3571; break;
case 5178 :g =132; break;
case 5179 :g =941; break;
case 5180 :g =787; break;
case 5181 :g =609; break;
case 5182 :g =15193; break;
case 5183 :g =1883; break;
case 5184 :g =25429; break;
case 5185 :g =435; break;
case 5186 :g =570; break;
case 5187 :g =4323; break;
case 5188 :g =5382; break;
case 5189 :g =576; break;
case 5190 :g =3701; break;
case 5191 :g =1081; break;
case 5192 :g =5699; break;
case 5193 :g =4329; break;
case 5194 :g =-1; break;
case 5195 :g =130; break;
case 5196 :g =12162; break;
case 5197 :g =3282; break;
case 5198 :g =1163; break;
case 5199 :g =196; break;
case 5200 :g =0; break;
case 5201 :g =7136; break;
case 5202 :g =2283; break;
case 5203 :g =5960; break;
case 5204 :g =2381; break;
case 5205 :g =291; break;
case 5206 :g =5356; break;
case 5207 :g =2715; break;
case 5208 :g =17; break;
case 5209 :g =16991; break;
case 5210 :g =45719; break;
case 5211 :g =991; break;
case 5212 :g =0; break;
case 5213 :g =3767; break;
case 5214 :g =182; break;
case 5215 :g =1892; break;
case 5216 :g =12450; break;
case 5217 :g =13223; break;
case 5218 :g =12840; break;
case 5219 :g =17526; break;
case 5220 :g =7142; break;
case 5221 :g =11658; break;
case 5222 :g =2535; break;
case 5223 :g =1853; break;
case 5224 :g =10297; break;
case 5225 :g =735; break;
case 5226 :g =0; break;
case 5227 :g =9124; break;
case 5228 :g =2731; break;
case 5229 :g =1303; break;
case 5230 :g =0; break;
case 5231 :g =438; break;
case 5232 :g =30844; break;
case 5233 :g =7516; break;
case 5234 :g =2927; break;
case 5235 :g =11328; break;
case 5236 :g =876; break;
case 5237 :g =446; break;
case 5238 :g =1812; break;
case 5239 :g =323; break;
case 5240 :g =13069; break;
case 5241 :g =9967; break;
case 5242 :g =669; break;
case 5243 :g =5410; break;
case 5244 :g =241; break;
case 5245 :g =0; break;
case 5246 :g =97; break;
case 5247 :g =56232; break;
case 5248 :g =1897; break;
case 5249 :g =56; break;
case 5250 :g =254; break;
case 5251 :g =4573; break;
case 5252 :g =0; break;
case 5253 :g =59; break;
case 5254 :g =1190; break;
case 5255 :g =107; break;
case 5256 :g =19847; break;
case 5257 :g =13024; break;
case 5258 :g =1819; break;
case 5259 :g =5001; break;
case 5260 :g =128; break;
case 5261 :g =15353; break;
case 5262 :g =661; break;
case 5263 :g =2165; break;
case 5264 :g =1937; break;
case 5265 :g =100; break;
case 5266 :g =157; break;
case 5267 :g =2838; break;
case 5268 :g =1679; break;
case 5269 :g =1346; break;
case 5270 :g =-1; break;
case 5271 :g =2448; break;
case 5272 :g =9681; break;
case 5273 :g =3309; break;
case 5274 :g =246; break;
case 5275 :g =2130; break;
case 5276 :g =7738; break;
case 5277 :g =2383; break;
case 5278 :g =112; break;
case 5279 :g =330; break;
case 5280 :g =7541; break;
case 5281 :g =4998; break;
case 5282 :g =3588; break;
case 5283 :g =1253; break;
case 5284 :g =3325; break;
case 5285 :g =1931; break;
case 5286 :g =1891; break;
case 5287 :g =138; break;
case 5288 :g =5163; break;
case 5289 :g =0; break;
case 5290 :g =748; break;
case 5291 :g =4426; break;
case 5292 :g =291; break;
case 5293 :g =6611; break;
case 5294 :g =2090; break;
case 5295 :g =7641; break;
case 5296 :g =157; break;
case 5297 :g =8262; break;
case 5298 :g =158; break;
case 5299 :g =664; break;
case 5300 :g =-1; break;
case 5301 :g =5704; break;
case 5302 :g =1960; break;
case 5303 :g =5006; break;
case 5304 :g =2199; break;
case 5305 :g =244; break;
case 5306 :g =687; break;
case 5307 :g =220; break;
case 5308 :g =2711; break;
case 5309 :g =12648; break;
case 5310 :g =3421; break;
case 5311 :g =5059; break;
case 5312 :g =105; break;
case 5313 :g =406; break;
case 5314 :g =23066; break;
case 5315 :g =9796; break;
case 5316 :g =1322; break;
case 5317 :g =16261; break;
case 5318 :g =11246; break;
case 5319 :g =0; break;
case 5320 :g =691; break;
case 5321 :g =3344; break;
case 5322 :g =795; break;
case 5323 :g =0; break;
case 5324 :g =2292; break;
case 5325 :g =61; break;
case 5326 :g =-1; break;
case 5327 :g =2720; break;
case 5328 :g =94; break;
case 5329 :g =2059; break;
case 5330 :g =7301; break;
case 5331 :g =54; break;
case 5332 :g =188; break;
case 5333 :g =95; break;
case 5334 :g =159; break;
case 5335 :g =596; break;
case 5336 :g =1144; break;
case 5337 :g =3772; break;
case 5338 :g =54675; break;
case 5339 :g =7855; break;
case 5340 :g =61; break;
case 5341 :g =290; break;
case 5342 :g =4003; break;
case 5343 :g =37; break;
case 5344 :g =1934; break;
case 5345 :g =557; break;
case 5346 :g =510; break;
case 5347 :g =4101; break;
case 5348 :g =643; break;
case 5349 :g =5225; break;
case 5350 :g =7033; break;
case 5351 :g =7459; break;
case 5352 :g =135; break;
case 5353 :g =594; break;
case 5354 :g =5651; break;
case 5355 :g =17559; break;
case 5356 :g =56; break;
case 5357 :g =20938; break;
case 5358 :g =31462; break;
case 5359 :g =593; break;
case 5360 :g =11093; break;
case 5361 :g =0; break;
case 5362 :g =67180; break;
case 5363 :g =12072; break;
case 5364 :g =32; break;
case 5365 :g =2449; break;
case 5366 :g =33107; break;
case 5367 :g =14087; break;
case 5368 :g =276; break;
case 5369 :g =643; break;
case 5370 :g =211; break;
case 5371 :g =18898; break;
case 5372 :g =39691; break;
case 5373 :g =60; break;
case 5374 :g =7656; break;
case 5375 :g =-1; break;
case 5376 :g =2305; break;
case 5377 :g =61; break;
case 5378 :g =3324; break;
case 5379 :g =46363; break;
case 5380 :g =6608; break;
case 5381 :g =79; break;
case 5382 :g =2972; break;
case 5383 :g =1529; break;
case 5384 :g =2284; break;
case 5385 :g =11251; break;
case 5386 :g =1687; break;
case 5387 :g =4041; break;
case 5388 :g =1438; break;
case 5389 :g =100; break;
case 5390 :g =1327; break;
case 5391 :g =877; break;
case 5392 :g =15827; break;
case 5393 :g =347; break;
case 5394 :g =58847; break;
case 5395 :g =2652; break;
case 5396 :g =1380; break;
case 5397 :g =17672; break;
case 5398 :g =569; break;
case 5399 :g =24413; break;
case 5400 :g =9833; break;
case 5401 :g =10788; break;
case 5402 :g =733; break;
case 5403 :g =96; break;
case 5404 :g =5755; break;
case 5405 :g =14348; break;
case 5406 :g =-1; break;
case 5407 :g =0; break;
case 5408 :g =5159; break;
case 5409 :g =11827; break;
case 5410 :g =5171; break;
case 5411 :g =37; break;
case 5412 :g =0; break;
case 5413 :g =3250; break;
case 5414 :g =4558; break;
case 5415 :g =395; break;
case 5416 :g =0; break;
case 5417 :g =364; break;
case 5418 :g =294; break;
case 5419 :g =1796; break;
case 5420 :g =1241; break;
case 5421 :g =7412; break;
case 5422 :g =8459; break;
case 5423 :g =775; break;
case 5424 :g =47844; break;
case 5425 :g =61; break;
case 5426 :g =1843; break;
case 5427 :g =1024; break;
case 5428 :g =3400; break;
case 5429 :g =10762; break;
case 5430 :g =11826; break;
case 5431 :g =1090; break;
case 5432 :g =213; break;
case 5433 :g =5834; break;
case 5434 :g =984; break;
case 5435 :g =446; break;
case 5436 :g =373; break;
case 5437 :g =-1; break;
case 5438 :g =2800; break;
case 5439 :g =-1; break;
case 5440 :g =53; break;
case 5441 :g =-1; break;
case 5442 :g =7794; break;
case 5443 :g =45155; break;
case 5444 :g =12814; break;
case 5445 :g =2878; break;
case 5446 :g =-1; break;
case 5447 :g =0; break;
case 5448 :g =2501; break;
case 5449 :g =1427; break;
case 5450 :g =5885; break;
case 5451 :g =851; break;
case 5452 :g =19370; break;
case 5453 :g =40; break;
case 5454 :g =17467; break;
case 5455 :g =17; break;
case 5456 :g =14807; break;
case 5457 :g =111; break;
case 5458 :g =839; break;
case 5459 :g =2891; break;
case 5460 :g =11956; break;
case 5461 :g =397; break;
case 5462 :g =2078; break;
case 5463 :g =21728; break;
case 5464 :g =7164; break;
case 5465 :g =26510; break;
case 5466 :g =18591; break;
case 5467 :g =27991; break;
case 5468 :g =149; break;
case 5469 :g =26937; break;
case 5470 :g =19702; break;
case 5471 :g =526; break;
case 5472 :g =890; break;
case 5473 :g =8471; break;
case 5474 :g =486; break;
case 5475 :g =390; break;
case 5476 :g =0; break;
case 5477 :g =0; break;
case 5478 :g =500; break;
case 5479 :g =2100; break;
case 5480 :g =25324; break;
case 5481 :g =0; break;
case 5482 :g =598; break;
case 5483 :g =2505; break;
case 5484 :g =12513; break;
case 5485 :g =50653; break;
case 5486 :g =26458; break;
case 5487 :g =335; break;
case 5488 :g =3587; break;
case 5489 :g =1191; break;
case 5490 :g =2268; break;
case 5491 :g =1; break;
case 5492 :g =2764; break;
case 5493 :g =6061; break;
case 5494 :g =19507; break;
case 5495 :g =158; break;
case 5496 :g =102; break;
case 5497 :g =6894; break;
case 5498 :g =-1; break;
case 5499 :g =20; break;
case 5500 :g =225; break;
case 5501 :g =754; break;
case 5502 :g =10847; break;
case 5503 :g =572; break;
case 5504 :g =2227; break;
case 5505 :g =10584; break;
case 5506 :g =1499; break;
case 5507 :g =23265; break;
case 5508 :g =4058; break;
case 5509 :g =4700; break;
case 5510 :g =1574; break;
case 5511 :g =212; break;
case 5512 :g =71; break;
case 5513 :g =41; break;
case 5514 :g =4133; break;
case 5515 :g =4238; break;
case 5516 :g =4943; break;
case 5517 :g =0; break;
case 5518 :g =9052; break;
case 5519 :g =124; break;
case 5520 :g =156; break;
case 5521 :g =1367; break;
case 5522 :g =5586; break;
case 5523 :g =55; break;
case 5524 :g =16702; break;
case 5525 :g =5210; break;
case 5526 :g =349; break;
case 5527 :g =816; break;
case 5528 :g =2800; break;
case 5529 :g =863; break;
case 5530 :g =11639; break;
case 5531 :g =1187; break;
case 5532 :g =21814; break;
case 5533 :g =6117; break;
case 5534 :g =1430; break;
case 5535 :g =7885; break;
case 5536 :g =374; break;
case 5537 :g =142; break;
case 5538 :g =158; break;
case 5539 :g =148; break;
case 5540 :g =73; break;
case 5541 :g =778; break;
case 5542 :g =6419; break;
case 5543 :g =8817; break;
case 5544 :g =196; break;
case 5545 :g =756; break;
case 5546 :g =1420; break;
case 5547 :g =2011; break;
case 5548 :g =4395; break;
case 5549 :g =5716; break;
case 5550 :g =2837; break;
case 5551 :g =1104; break;
case 5552 :g =5935; break;
case 5553 :g =-1; break;
case 5554 :g =13529; break;
case 5555 :g =5253; break;
case 5556 :g =16817; break;
case 5557 :g =1894; break;
case 5558 :g =1243; break;
case 5559 :g =867; break;
case 5560 :g =181; break;
case 5561 :g =861; break;
case 5562 :g =0; break;
case 5563 :g =1560; break;
case 5564 :g =5776; break;
case 5565 :g =269; break;
case 5566 :g =2297; break;
case 5567 :g =5884; break;
case 5568 :g =7641; break;
case 5569 :g =15170; break;
case 5570 :g =125; break;
case 5571 :g =2948; break;
case 5572 :g =2622; break;
case 5573 :g =22725; break;
case 5574 :g =2539; break;
case 5575 :g =4; break;
case 5576 :g =4332; break;
case 5577 :g =414; break;
case 5578 :g =10522; break;
case 5579 :g =10166; break;
case 5580 :g =11; break;
case 5581 :g =6173; break;
case 5582 :g =22080; break;
case 5583 :g =2332; break;
case 5584 :g =915; break;
case 5585 :g =6407; break;
case 5586 :g =2186; break;
case 5587 :g =78; break;
case 5588 :g =904; break;
case 5589 :g =1043; break;
case 5590 :g =5942; break;
case 5591 :g =913; break;
case 5592 :g =2378; break;
case 5593 :g =4907; break;
case 5594 :g =0; break;
case 5595 :g =8246; break;
case 5596 :g =2029; break;
case 5597 :g =11639; break;
case 5598 :g =3623; break;
case 5599 :g =8975; break;
case 5600 :g =838; break;
case 5601 :g =16579; break;
case 5602 :g =222; break;
case 5603 :g =3950; break;
case 5604 :g =10295; break;
case 5605 :g =1438; break;
case 5606 :g =515; break;
case 5607 :g =57436; break;
case 5608 :g =683; break;
case 5609 :g =1141; break;
case 5610 :g =208; break;
case 5611 :g =16420; break;
case 5612 :g =9738; break;
case 5613 :g =1575; break;
case 5614 :g =2075; break;
case 5615 :g =33824; break;
case 5616 :g =14914; break;
case 5617 :g =77; break;
case 5618 :g =9916; break;
case 5619 :g =31757; break;
case 5620 :g =2359; break;
case 5621 :g =59; break;
case 5622 :g =61; break;
case 5623 :g =546; break;
case 5624 :g =13; break;
case 5625 :g =531; break;
case 5626 :g =304; break;
case 5627 :g =94; break;
case 5628 :g =8246; break;
case 5629 :g =5966; break;
case 5630 :g =156; break;
case 5631 :g =12276; break;
case 5632 :g =7384; break;
case 5633 :g =8678; break;
case 5634 :g =6653; break;
case 5635 :g =0; break;
case 5636 :g =11; break;
case 5637 :g =377; break;
case 5638 :g =229; break;
case 5639 :g =828; break;
case 5640 :g =128; break;
case 5641 :g =6538; break;
case 5642 :g =2662; break;
case 5643 :g =38475; break;
case 5644 :g =2825; break;
case 5645 :g =21334; break;
case 5646 :g =71; break;
case 5647 :g =727; break;
case 5648 :g =4707; break;
case 5649 :g =-1; break;
case 5650 :g =14303; break;
case 5651 :g =758; break;
case 5652 :g =1238; break;
case 5653 :g =17639; break;
case 5654 :g =11714; break;
case 5655 :g =0; break;
case 5656 :g =19914; break;
case 5657 :g =724; break;
case 5658 :g =5; break;
case 5659 :g =3422; break;
case 5660 :g =18340; break;
case 5661 :g =3274; break;
case 5662 :g =14906; break;
case 5663 :g =2742; break;
case 5664 :g =60; break;
case 5665 :g =0; break;
case 5666 :g =1395; break;
case 5667 :g =6135; break;
case 5668 :g =439; break;
case 5669 :g =3355; break;
case 5670 :g =1102; break;
case 5671 :g =-1; break;
case 5672 :g =13398; break;
case 5673 :g =12269; break;
case 5674 :g =1194; break;
case 5675 :g =23231; break;
case 5676 :g =311; break;
case 5677 :g =18389; break;
case 5678 :g =2882; break;
case 5679 :g =17614; break;
case 5680 :g =384; break;
case 5681 :g =702; break;
case 5682 :g =8413; break;
case 5683 :g =14387; break;
case 5684 :g =1669; break;
case 5685 :g =19295; break;
case 5686 :g =-1; break;
case 5687 :g =6016; break;
case 5688 :g =0; break;
case 5689 :g =4313; break;
case 5690 :g =268; break;
case 5691 :g =22974; break;
case 5692 :g =352; break;
case 5693 :g =3398; break;
case 5694 :g =5973; break;
case 5695 :g =138; break;
case 5696 :g =8283; break;
case 5697 :g =419; break;
case 5698 :g =1091; break;
case 5699 :g =277; break;
case 5700 :g =833; break;
case 5701 :g =14068; break;
case 5702 :g =453; break;
case 5703 :g =7816; break;
case 5704 :g =60380; break;
case 5705 :g =895; break;
case 5706 :g =2109; break;
case 5707 :g =1070; break;
case 5708 :g =2580; break;
case 5709 :g =1942; break;
case 5710 :g =161; break;
case 5711 :g =118; break;
case 5712 :g =63; break;
case 5713 :g =3094; break;
case 5714 :g =5160; break;
case 5715 :g =2378; break;
case 5716 :g =370; break;
case 5717 :g =737; break;
case 5718 :g =9660; break;
case 5719 :g =77; break;
case 5720 :g =66; break;
case 5721 :g =0; break;
case 5722 :g =2179; break;
case 5723 :g =46524; break;
case 5724 :g =109; break;
case 5725 :g =7220; break;
case 5726 :g =33707; break;
case 5727 :g =0; break;
case 5728 :g =210; break;
case 5729 :g =14239; break;
case 5730 :g =1838; break;
case 5731 :g =261; break;
case 5732 :g =994; break;
case 5733 :g =5265; break;
case 5734 :g =6623; break;
case 5735 :g =46828; break;
case 5736 :g =0; break;
case 5737 :g =0; break;
case 5738 :g =6450; break;
case 5739 :g =1642; break;
case 5740 :g =7879; break;
case 5741 :g =1075; break;
case 5742 :g =355; break;
case 5743 :g =95; break;
case 5744 :g =2665; break;
case 5745 :g =676; break;
case 5746 :g =9700; break;
case 5747 :g =3944; break;
case 5748 :g =227; break;
case 5749 :g =2651; break;
case 5750 :g =2456; break;
case 5751 :g =1509; break;
case 5752 :g =-1; break;
case 5753 :g =36254; break;
case 5754 :g =121; break;
case 5755 :g =3730; break;
case 5756 :g =2353; break;
case 5757 :g =352; break;
case 5758 :g =58; break;
case 5759 :g =7684; break;
case 5760 :g =2562; break;
case 5761 :g =146; break;
case 5762 :g =313; break;
case 5763 :g =9586; break;
case 5764 :g =83984; break;
case 5765 :g =4165; break;
case 5766 :g =44801; break;
case 5767 :g =54430; break;
case 5768 :g =20233; break;
case 5769 :g =20922; break;
case 5770 :g =2970; break;
case 5771 :g =3104; break;
case 5772 :g =1378; break;
case 5773 :g =3317; break;
case 5774 :g =55171; break;
case 5775 :g =1322; break;
case 5776 :g =6810; break;
case 5777 :g =292; break;
case 5778 :g =15644; break;
case 5779 :g =222; break;
case 5780 :g =0; break;
case 5781 :g =1856; break;
case 5782 :g =0; break;
case 5783 :g =541; break;
case 5784 :g =3985; break;
case 5785 :g =341; break;
case 5786 :g =353; break;
case 5787 :g =22338; break;
case 5788 :g =-1; break;
case 5789 :g =16535; break;
case 5790 :g =170; break;
case 5791 :g =2975; break;
case 5792 :g =7938; break;
case 5793 :g =155; break;
case 5794 :g =5296; break;
case 5795 :g =8016; break;
case 5796 :g =6713; break;
case 5797 :g =33; break;
case 5798 :g =8829; break;
case 5799 :g =8086; break;
case 5800 :g =449; break;
case 5801 :g =9834; break;
case 5802 :g =7842; break;
case 5803 :g =2261; break;
case 5804 :g =-1; break;
case 5805 :g =58; break;
case 5806 :g =14553; break;
case 5807 :g =0; break;
case 5808 :g =2370; break;
case 5809 :g =8991; break;
case 5810 :g =109035; break;
case 5811 :g =280; break;
case 5812 :g =611; break;
case 5813 :g =771; break;
case 5814 :g =7415; break;
case 5815 :g =7906; break;
case 5816 :g =210; break;
case 5817 :g =15115; break;
case 5818 :g =1422; break;
case 5819 :g =7893; break;
case 5820 :g =47; break;
case 5821 :g =0; break;
case 5822 :g =3090; break;
case 5823 :g =29911; break;
case 5824 :g =94; break;
case 5825 :g =15399; break;
case 5826 :g =2151; break;
case 5827 :g =3167; break;
case 5828 :g =922; break;
case 5829 :g =18124; break;
case 5830 :g =2733; break;
case 5831 :g =6791; break;
case 5832 :g =1191; break;
case 5833 :g =411; break;
case 5834 :g =96; break;
case 5835 :g =3628; break;
case 5836 :g =34657; break;
case 5837 :g =545; break;
case 5838 :g =0; break;
case 5839 :g =21765; break;
case 5840 :g =3470; break;
case 5841 :g =1730; break;
case 5842 :g =-1; break;
case 5843 :g =345; break;
case 5844 :g =14060; break;
case 5845 :g =15468; break;
case 5846 :g =25022; break;
case 5847 :g =172; break;
case 5848 :g =36279; break;
case 5849 :g =5002; break;
case 5850 :g =2383; break;
case 5851 :g =14337; break;
case 5852 :g =772; break;
case 5853 :g =285; break;
case 5854 :g =188; break;
case 5855 :g =4971; break;
case 5856 :g =7768; break;
case 5857 :g =1835; break;
case 5858 :g =1354; break;
case 5859 :g =162; break;
case 5860 :g =2268; break;
case 5861 :g =3; break;
case 5862 :g =3794; break;
case 5863 :g =186; break;
case 5864 :g =6473; break;
case 5865 :g =15854; break;
case 5866 :g =13701; break;
case 5867 :g =4985; break;
case 5868 :g =700; break;
case 5869 :g =3673; break;
case 5870 :g =0; break;
case 5871 :g =4136; break;
case 5872 :g =5962; break;
case 5873 :g =0; break;
case 5874 :g =22530; break;
case 5875 :g =1339; break;
case 5876 :g =59143; break;
case 5877 :g =22296; break;
case 5878 :g =3577; break;
case 5879 :g =125; break;
case 5880 :g =24234; break;
case 5881 :g =136; break;
case 5882 :g =761; break;
case 5883 :g =0; break;
case 5884 :g =-1; break;
case 5885 :g =1203; break;
case 5886 :g =1070; break;
case 5887 :g =10810; break;
case 5888 :g =1231; break;
case 5889 :g =719; break;
case 5890 :g =15343; break;
case 5891 :g =5486; break;
case 5892 :g =809; break;
case 5893 :g =10741; break;
case 5894 :g =11819; break;
case 5895 :g =11635; break;
case 5896 :g =895; break;
case 5897 :g =0; break;
case 5898 :g =275; break;
case 5899 :g =3679; break;
case 5900 :g =7155; break;
case 5901 :g =1613; break;
case 5902 :g =7795; break;
case 5903 :g =34602; break;
case 5904 :g =3328; break;
case 5905 :g =3564; break;
case 5906 :g =0; break;
case 5907 :g =52703; break;
case 5908 :g =2320; break;
case 5909 :g =9542; break;
case 5910 :g =6548; break;
case 5911 :g =271; break;
case 5912 :g =1135; break;
case 5913 :g =1198; break;
case 5914 :g =33257; break;
case 5915 :g =5022; break;
case 5916 :g =0; break;
case 5917 :g =27205; break;
case 5918 :g =17594; break;
case 5919 :g =42002; break;
case 5920 :g =30975; break;
case 5921 :g =1478; break;
case 5922 :g =9398; break;
case 5923 :g =4309; break;
case 5924 :g =11272; break;
case 5925 :g =1070; break;
case 5926 :g =3473; break;
case 5927 :g =4173; break;
case 5928 :g =13532; break;
case 5929 :g =10645; break;
case 5930 :g =625; break;
case 5931 :g =23; break;
case 5932 :g =39835; break;
case 5933 :g =365; break;
case 5934 :g =8121; break;
case 5935 :g =1216; break;
case 5936 :g =12161; break;
case 5937 :g =23653; break;
case 5938 :g =2367; break;
case 5939 :g =-1; break;
case 5940 :g =139; break;
case 5941 :g =1271; break;
case 5942 :g =10521; break;
case 5943 :g =2018; break;
case 5944 :g =10473; break;
case 5945 :g =4094; break;
case 5946 :g =3153; break;
case 5947 :g =0; break;
case 5948 :g =7593; break;
case 5949 :g =5234; break;
case 5950 :g =73543; break;
case 5951 :g =0; break;
case 5952 :g =1268; break;
case 5953 :g =3527; break;
case 5954 :g =6288; break;
case 5955 :g =22120; break;
case 5956 :g =58189; break;
case 5957 :g =66215; break;
case 5958 :g =9366; break;
case 5959 :g =44168; break;
case 5960 :g =7520; break;
case 5961 :g =11730; break;
case 5962 :g =93; break;
case 5963 :g =2674; break;
case 5964 :g =15576; break;
case 5965 :g =2412; break;
case 5966 :g =10784; break;
case 5967 :g =9697; break;
case 5968 :g =416; break;
case 5969 :g =35902; break;
case 5970 :g =66253; break;
case 5971 :g =2557; break;
case 5972 :g =2332; break;
case 5973 :g =2084; break;
case 5974 :g =521; break;
case 5975 :g =6614; break;
case 5976 :g =6437; break;
case 5977 :g =820; break;
case 5978 :g =1093; break;
case 5979 :g =47895; break;
case 5980 :g =3629; break;
case 5981 :g =1180; break;
case 5982 :g =51330; break;
case 5983 :g =908; break;
case 5984 :g =54; break;
case 5985 :g =2434; break;
case 5986 :g =23483; break;
case 5987 :g =12792; break;
case 5988 :g =27759; break;
case 5989 :g =7267; break;
case 5990 :g =2387; break;
case 5991 :g =1585; break;
case 5992 :g =6961; break;
case 5993 :g =167; break;
case 5994 :g =-1; break;
case 5995 :g =9227; break;
case 5996 :g =26498; break;
case 5997 :g =28; break;
case 5998 :g =1916; break;
case 5999 :g =4244; break;
case 6000 :g =17; break;
case 6001 :g =1878; break;
case 6002 :g =29713; break;
case 6003 :g =257; break;
case 6004 :g =1546; break;
case 6005 :g =82971; break;
case 6006 :g =8637; break;
case 6007 :g =901; break;
case 6008 :g =0; break;
case 6009 :g =725; break;
case 6010 :g =300; break;
case 6011 :g =100; break;
case 6012 :g =7625; break;
case 6013 :g =30329; break;
case 6014 :g =3912; break;
case 6015 :g =84; break;
case 6016 :g =62795; break;
case 6017 :g =229; break;
case 6018 :g =1934; break;
case 6019 :g =9664; break;
case 6020 :g =6969; break;
case 6021 :g =-1; break;
case 6022 :g =1773; break;
case 6023 :g =17245; break;
case 6024 :g =585; break;
case 6025 :g =2631; break;
case 6026 :g =3016; break;
case 6027 :g =4082; break;
case 6028 :g =11193; break;
case 6029 :g =-1; break;
case 6030 :g =11; break;
case 6031 :g =2101; break;
case 6032 :g =16391; break;
case 6033 :g =3619; break;
case 6034 :g =28325; break;
case 6035 :g =486; break;
case 6036 :g =4369; break;
case 6037 :g =24312; break;
case 6038 :g =25100; break;
case 6039 :g =-1; break;
case 6040 :g =12251; break;
case 6041 :g =12444; break;
case 6042 :g =12522; break;
case 6043 :g =4561; break;
case 6044 :g =7596; break;
case 6045 :g =1216; break;
case 6046 :g =3267; break;
case 6047 :g =306; break;
case 6048 :g =837; break;
case 6049 :g =-1; break;
case 6050 :g =3802; break;
case 6051 :g =35396; break;
case 6052 :g =-1; break;
case 6053 :g =211; break;
case 6054 :g =2102; break;
case 6055 :g =1308; break;
case 6056 :g =31; break;
case 6057 :g =24906; break;
case 6058 :g =2398; break;
case 6059 :g =4040; break;
case 6060 :g =7775; break;
case 6061 :g =1; break;
case 6062 :g =4504; break;
case 6063 :g =-1; break;
case 6064 :g =79; break;
case 6065 :g =27575; break;
case 6066 :g =74705; break;
case 6067 :g =7892; break;
case 6068 :g =721; break;
case 6069 :g =16990; break;
case 6070 :g =21882; break;
case 6071 :g =2718; break;
case 6072 :g =0; break;
case 6073 :g =180; break;
case 6074 :g =3863; break;
case 6075 :g =37233; break;
case 6076 :g =0; break;
case 6077 :g =3588; break;
case 6078 :g =63907; break;
case 6079 :g =1826; break;
case 6080 :g =13745; break;
case 6081 :g =0; break;
case 6082 :g =250; break;
case 6083 :g =781; break;
case 6084 :g =1004; break;
case 6085 :g =601; break;
case 6086 :g =8601; break;
case 6087 :g =5; break;
case 6088 :g =25379; break;
case 6089 :g =1863; break;
case 6090 :g =283; break;
case 6091 :g =2914; break;
case 6092 :g =4438; break;
case 6093 :g =1031; break;
case 6094 :g =10968; break;
case 6095 :g =1594; break;
case 6096 :g =5774; break;
case 6097 :g =34171; break;
case 6098 :g =1218; break;
case 6099 :g =1341; break;
case 6100 :g =3871; break;
case 6101 :g =156; break;
case 6102 :g =72056; break;
case 6103 :g =17282; break;
case 6104 :g =8512; break;
case 6105 :g =1255; break;
case 6106 :g =34136; break;
case 6107 :g =1452; break;
case 6108 :g =251; break;
case 6109 :g =1014; break;
case 6110 :g =3848; break;
case 6111 :g =509; break;
case 6112 :g =20945; break;
case 6113 :g =69381; break;
case 6114 :g =50545; break;
case 6115 :g =2033; break;
case 6116 :g =73; break;
case 6117 :g =264; break;
case 6118 :g =34; break;
case 6119 :g =1080; break;
case 6120 :g =325; break;
case 6121 :g =605; break;
case 6122 :g =1930; break;
case 6123 :g =7358; break;
case 6124 :g =0; break;
case 6125 :g =0; break;
case 6126 :g =365; break;
case 6127 :g =4171; break;
case 6128 :g =6080; break;
case 6129 :g =81; break;
case 6130 :g =2175; break;
case 6131 :g =2990; break;
case 6132 :g =2782; break;
case 6133 :g =8728; break;
case 6134 :g =144; break;
case 6135 :g =8170; break;
case 6136 :g =8901; break;
case 6137 :g =10017; break;
case 6138 :g =0; break;
case 6139 :g =1063; break;
case 6140 :g =13687; break;
case 6141 :g =7403; break;
case 6142 :g =1874; break;
case 6143 :g =0; break;
case 6144 :g =114; break;
case 6145 :g =66; break;
case 6146 :g =6711; break;
case 6147 :g =13581; break;
case 6148 :g =3203; break;
case 6149 :g =2185; break;
case 6150 :g =240; break;
case 6151 :g =2300; break;
case 6152 :g =2251; break;
case 6153 :g =4011; break;
case 6154 :g =659; break;
case 6155 :g =166; break;
case 6156 :g =258; break;
case 6157 :g =1413; break;
case 6158 :g =1651; break;
case 6159 :g =994; break;
case 6160 :g =847; break;
case 6161 :g =32734; break;
case 6162 :g =0; break;
case 6163 :g =15364; break;
case 6164 :g =5992; break;
case 6165 :g =9714; break;
case 6166 :g =556; break;
case 6167 :g =145; break;
case 6168 :g =17558; break;
case 6169 :g =3820; break;
case 6170 :g =13176; break;
case 6171 :g =19405; break;
case 6172 :g =1340; break;
case 6173 :g =7097; break;
case 6174 :g =199; break;
case 6175 :g =11231; break;
case 6176 :g =14123; break;
case 6177 :g =0; break;
case 6178 :g =30; break;
case 6179 :g =2354; break;
case 6180 :g =35787; break;
case 6181 :g =47; break;
case 6182 :g =8303; break;
case 6183 :g =31483; break;
case 6184 :g =31972; break;
case 6185 :g =5521; break;
case 6186 :g =992; break;
case 6187 :g =0; break;
case 6188 :g =163; break;
case 6189 :g =17106; break;
case 6190 :g =20301; break;
case 6191 :g =0; break;
case 6192 :g =25918; break;
case 6193 :g =1411; break;
case 6194 :g =8191; break;
case 6195 :g =100; break;
case 6196 :g =147; break;
case 6197 :g =637; break;
case 6198 :g =10463; break;
case 6199 :g =7048; break;
case 6200 :g =3043; break;
case 6201 :g =100; break;
case 6202 :g =74603; break;
case 6203 :g =6512; break;
case 6204 :g =332; break;
case 6205 :g =-1; break;
case 6206 :g =0; break;
case 6207 :g =200; break;
case 6208 :g =7105; break;
case 6209 :g =21768; break;
case 6210 :g =28445; break;
case 6211 :g =51699; break;
case 6212 :g =12272; break;
case 6213 :g =6788; break;
case 6214 :g =43020; break;
case 6215 :g =40288; break;
case 6216 :g =169; break;
case 6217 :g =1042; break;
case 6218 :g =481; break;
case 6219 :g =41; break;
case 6220 :g =774; break;
case 6221 :g =16736; break;
case 6222 :g =7312; break;
case 6223 :g =1384; break;
case 6224 :g =106870; break;
case 6225 :g =24406; break;
case 6226 :g =4231; break;
case 6227 :g =5311; break;
case 6228 :g =0; break;
case 6229 :g =713; break;
case 6230 :g =31468; break;
case 6231 :g =14056; break;
case 6232 :g =354; break;
case 6233 :g =1934; break;
case 6234 :g =19537; break;
case 6235 :g =21555; break;
case 6236 :g =0; break;
case 6237 :g =10417; break;
case 6238 :g =5364; break;
case 6239 :g =17194; break;
case 6240 :g =9679; break;
case 6241 :g =0; break;
case 6242 :g =3116; break;
case 6243 :g =228; break;
case 6244 :g =1501; break;
case 6245 :g =1320; break;
case 6246 :g =16744; break;
case 6247 :g =4921; break;
case 6248 :g =16288; break;
case 6249 :g =90; break;
case 6250 :g =10759; break;
case 6251 :g =6025; break;
case 6252 :g =688; break;
case 6253 :g =2826; break;
case 6254 :g =7568; break;
case 6255 :g =350; break;
case 6256 :g =139; break;
case 6257 :g =1542; break;
case 6258 :g =11571; break;
case 6259 :g =6851; break;
case 6260 :g =22473; break;
case 6261 :g =8812; break;
case 6262 :g =1368; break;
case 6263 :g =3637; break;
case 6264 :g =148; break;
case 6265 :g =1209; break;
case 6266 :g =0; break;
case 6267 :g =1532; break;
case 6268 :g =2581; break;
case 6269 :g =21241; break;
case 6270 :g =2965; break;
case 6271 :g =803; break;
case 6272 :g =21176; break;
case 6273 :g =3548; break;
case 6274 :g =101; break;
case 6275 :g =25430; break;
case 6276 :g =6980; break;
case 6277 :g =88010; break;
case 6278 :g =354; break;
case 6279 :g =22706; break;
case 6280 :g =64257; break;
case 6281 :g =2222; break;
case 6282 :g =981; break;
case 6283 :g =150; break;
case 6284 :g =46598; break;
case 6285 :g =941; break;
case 6286 :g =2585; break;
case 6287 :g =119549; break;
case 6288 :g =87960; break;
case 6289 :g =26713; break;
case 6290 :g =3293; break;
case 6291 :g =0; break;
case 6292 :g =3296; break;
case 6293 :g =7041; break;
case 6294 :g =16448; break;
case 6295 :g =9541; break;
case 6296 :g =37480; break;
case 6297 :g =2315; break;
case 6298 :g =46068; break;
case 6299 :g =95; break;
case 6300 :g =1886; break;
case 6301 :g =6042; break;
case 6302 :g =0; break;
case 6303 :g =364; break;
case 6304 :g =34480; break;
case 6305 :g =5777; break;
case 6306 :g =1549; break;
case 6307 :g =114; break;
case 6308 :g =4977; break;
case 6309 :g =2516; break;
case 6310 :g =5299; break;
case 6311 :g =9354; break;
case 6312 :g =26891; break;
case 6313 :g =5119; break;
case 6314 :g =1428; break;
case 6315 :g =59; break;
case 6316 :g =6415; break;
case 6317 :g =37; break;
case 6318 :g =2323; break;
case 6319 :g =49272; break;
case 6320 :g =439; break;
case 6321 :g =368; break;
case 6322 :g =132; break;
case 6323 :g =43108; break;
case 6324 :g =1149; break;
case 6325 :g =889; break;
case 6326 :g =1547; break;
case 6327 :g =3145; break;
case 6328 :g =0; break;
case 6329 :g =2401; break;
case 6330 :g =3362; break;
case 6331 :g =6185; break;
case 6332 :g =0; break;
case 6333 :g =15124; break;
case 6334 :g =23570; break;
case 6335 :g =0; break;
case 6336 :g =201; break;
case 6337 :g =345; break;
case 6338 :g =6331; break;
case 6339 :g =2009; break;
case 6340 :g =7905; break;
case 6341 :g =6738; break;
case 6342 :g =45905; break;
case 6343 :g =3739; break;
case 6344 :g =1034; break;
case 6345 :g =1770; break;
case 6346 :g =0; break;
case 6347 :g =4507; break;
case 6348 :g =1848; break;
case 6349 :g =9778; break;
case 6350 :g =1698; break;
case 6351 :g =130; break;
case 6352 :g =9415; break;
case 6353 :g =268; break;
case 6354 :g =0; break;
case 6355 :g =14039; break;
case 6356 :g =45343; break;
case 6357 :g =30381; break;
case 6358 :g =4519; break;
case 6359 :g =808; break;
case 6360 :g =10454; break;
case 6361 :g =663; break;
case 6362 :g =749; break;
case 6363 :g =1016; break;
case 6364 :g =430; break;
case 6365 :g =11010; break;
case 6366 :g =1223; break;
case 6367 :g =4999; break;
case 6368 :g =6061; break;
case 6369 :g =949; break;
case 6370 :g =213; break;
case 6371 :g =0; break;
case 6372 :g =7614; break;
case 6373 :g =5713; break;
case 6374 :g =13422; break;
case 6375 :g =16837; break;
case 6376 :g =19876; break;
case 6377 :g =273; break;
case 6378 :g =767; break;
case 6379 :g =0; break;
case 6380 :g =31; break;
case 6381 :g =0; break;
case 6382 :g =33214; break;
case 6383 :g =5973; break;
case 6384 :g =4447; break;
case 6385 :g =525; break;
case 6386 :g =447; break;
case 6387 :g =1979; break;
case 6388 :g =36637; break;
case 6389 :g =36; break;
case 6390 :g =7157; break;
case 6391 :g =5860; break;
case 6392 :g =7703; break;
case 6393 :g =20543; break;
case 6394 :g =4925; break;
case 6395 :g =16663; break;
case 6396 :g =800; break;
case 6397 :g =140; break;
case 6398 :g =3005; break;
case 6399 :g =1930; break;
case 6400 :g =3891; break;
case 6401 :g =10338; break;
case 6402 :g =9553; break;
case 6403 :g =177; break;
case 6404 :g =1707; break;
case 6405 :g =45122; break;
case 6406 :g =4569; break;
case 6407 :g =19; break;
case 6408 :g =483; break;
case 6409 :g =1250; break;
case 6410 :g =0; break;
case 6411 :g =1375; break;
case 6412 :g =1973; break;
case 6413 :g =38642; break;
case 6414 :g =8801; break;
case 6415 :g =12219; break;
case 6416 :g =13115; break;
case 6417 :g =817; break;
case 6418 :g =2467; break;
case 6419 :g =316; break;
case 6420 :g =10298; break;
case 6421 :g =1682; break;
case 6422 :g =71458; break;
case 6423 :g =1679; break;
case 6424 :g =1084; break;
case 6425 :g =4245; break;
case 6426 :g =39861; break;
case 6427 :g =33870; break;
case 6428 :g =2573; break;
case 6429 :g =2166; break;
case 6430 :g =28525; break;
case 6431 :g =670; break;
case 6432 :g =419; break;
case 6433 :g =575; break;
case 6434 :g =9571; break;
case 6435 :g =0; break;
case 6436 :g =3022; break;
case 6437 :g =642; break;
case 6438 :g =1063; break;
case 6439 :g =5479; break;
case 6440 :g =0; break;
case 6441 :g =3712; break;
case 6442 :g =0; break;
case 6443 :g =127; break;
case 6444 :g =18809; break;
case 6445 :g =23107; break;
case 6446 :g =0; break;
case 6447 :g =17413; break;
case 6448 :g =153; break;
case 6449 :g =457; break;
case 6450 :g =16316; break;
case 6451 :g =3456; break;
case 6452 :g =732; break;
case 6453 :g =84; break;
case 6454 :g =483; break;
case 6455 :g =281; break;
case 6456 :g =0; break;
case 6457 :g =1934; break;
case 6458 :g =18037; break;
case 6459 :g =14158; break;
case 6460 :g =12490; break;
case 6461 :g =6724; break;
case 6462 :g =2733; break;
case 6463 :g =19508; break;
case 6464 :g =71; break;
case 6465 :g =22244; break;
case 6466 :g =71; break;
case 6467 :g =3751; break;
case 6468 :g =228; break;
case 6469 :g =0; break;
case 6470 :g =44780; break;
case 6471 :g =96; break;
case 6472 :g =25452; break;
case 6473 :g =81523; break;
case 6474 :g =46325; break;
case 6475 :g =27124; break;
case 6476 :g =-1; break;
case 6477 :g =12132; break;
case 6478 :g =29887; break;
case 6479 :g =1933; break;
case 6480 :g =12755; break;
case 6481 :g =16178; break;
case 6482 :g =23; break;
case 6483 :g =82813; break;
case 6484 :g =1748; break;
case 6485 :g =18672; break;
case 6486 :g =27886; break;
case 6487 :g =46356; break;
case 6488 :g =7264; break;
case 6489 :g =115950; break;
case 6490 :g =3167; break;
case 6491 :g =16047; break;
case 6492 :g =11167; break;
case 6493 :g =1797; break;
case 6494 :g =9992; break;
case 6495 :g =195; break;
case 6496 :g =52489; break;
case 6497 :g =12688; break;
case 6498 :g =4827; break;
case 6499 :g =63902; break;
case 6500 :g =23412; break;
case 6501 :g =61499; break;
case 6502 :g =59; break;
case 6503 :g =65083; break;
case 6504 :g =221; break;
case 6505 :g =710; break;
case 6506 :g =79; break;
case 6507 :g =661; break;
case 6508 :g =112; break;
case 6509 :g =1707; break;
case 6510 :g =14692; break;
case 6511 :g =1394; break;
case 6512 :g =0; break;
case 6513 :g =41964; break;
case 6514 :g =2642; break;
case 6515 :g =290; break;
case 6516 :g =20125; break;
case 6517 :g =1590; break;
case 6518 :g =1936; break;
case 6519 :g =-1; break;
case 6520 :g =5453; break;
case 6521 :g =4548; break;
case 6522 :g =0; break;
case 6523 :g =7899; break;
case 6524 :g =209; break;
case 6525 :g =5941; break;
case 6526 :g =495; break;
case 6527 :g =1873; break;
case 6528 :g =42061; break;
case 6529 :g =3308; break;
case 6530 :g =1846; break;
case 6531 :g =682; break;
case 6532 :g =29538; break;
case 6533 :g =3255; break;
case 6534 :g =11619; break;
case 6535 :g =4662; break;
case 6536 :g =-1; break;
case 6537 :g =12368; break;
case 6538 :g =6441; break;
case 6539 :g =31396; break;
case 6540 :g =3088; break;
case 6541 :g =123; break;
case 6542 :g =34464; break;
case 6543 :g =25522; break;
case 6544 :g =25165; break;
case 6545 :g =338; break;
case 6546 :g =0; break;
case 6547 :g =1259; break;
case 6548 :g =88471; break;
case 6549 :g =7854; break;
case 6550 :g =3856; break;
case 6551 :g =12041; break;
case 6552 :g =21119; break;
case 6553 :g =1447; break;
case 6554 :g =22600; break;
case 6555 :g =2633; break;
case 6556 :g =49; break;
case 6557 :g =-1; break;
case 6558 :g =1273; break;
case 6559 :g =508; break;
case 6560 :g =0; break;
case 6561 :g =16968; break;
case 6562 :g =87; break;
case 6563 :g =1609; break;
case 6564 :g =12992; break;
case 6565 :g =3183; break;
case 6566 :g =10865; break;
case 6567 :g =1333; break;
case 6568 :g =603; break;
case 6569 :g =16674; break;
case 6570 :g =21160; break;
case 6571 :g =53200; break;
case 6572 :g =41; break;
case 6573 :g =466; break;
case 6574 :g =422; break;
case 6575 :g =66205; break;
case 6576 :g =6420; break;
case 6577 :g =16530; break;
case 6578 :g =0; break;
case 6579 :g =33076; break;
case 6580 :g =2455; break;
case 6581 :g =4175; break;
case 6582 :g =558; break;
case 6583 :g =53; break;
case 6584 :g =687; break;
case 6585 :g =12493; break;
case 6586 :g =3336; break;
case 6587 :g =7090; break;
case 6588 :g =6837; break;
case 6589 :g =18310; break;
case 6590 :g =9073; break;
case 6591 :g =26733; break;
case 6592 :g =33820; break;
case 6593 :g =2295; break;
case 6594 :g =386; break;
case 6595 :g =127; break;
case 6596 :g =9541; break;
case 6597 :g =18958; break;
case 6598 :g =289; break;
case 6599 :g =5925; break;
case 6600 :g =8721; break;
case 6601 :g =272; break;
case 6602 :g =31804; break;
case 6603 :g =6865; break;
case 6604 :g =88397; break;
case 6605 :g =63195; break;
case 6606 :g =21933; break;
case 6607 :g =13081; break;
case 6608 :g =13026; break;
case 6609 :g =1471; break;
case 6610 :g =16945; break;
case 6611 :g =25259; break;
case 6612 :g =342; break;
case 6613 :g =0; break;
case 6614 :g =13; break;
case 6615 :g =339; break;
case 6616 :g =18; break;
case 6617 :g =22629; break;
case 6618 :g =27104; break;
case 6619 :g =855; break;
case 6620 :g =1034; break;
case 6621 :g =11900; break;
case 6622 :g =202; break;
case 6623 :g =13623; break;
case 6624 :g =31; break;
case 6625 :g =3905; break;
case 6626 :g =88159; break;
case 6627 :g =2371; break;
case 6628 :g =4172; break;
case 6629 :g =1748; break;
case 6630 :g =153; break;
case 6631 :g =14090; break;
case 6632 :g =3626; break;
case 6633 :g =19; break;
case 6634 :g =2690; break;
case 6635 :g =13527; break;
case 6636 :g =13510; break;
case 6637 :g =28923; break;
case 6638 :g =560; break;
case 6639 :g =886; break;
case 6640 :g =555; break;
case 6641 :g =21960; break;
case 6642 :g =28643; break;
case 6643 :g =28707; break;
case 6644 :g =16448; break;
case 6645 :g =5243; break;
case 6646 :g =9021; break;
case 6647 :g =436; break;
case 6648 :g =53533; break;
case 6649 :g =51430; break;
case 6650 :g =23128; break;
case 6651 :g =-1; break;
case 6652 :g =1099; break;
case 6653 :g =41123; break;
case 6654 :g =19286; break;
case 6655 :g =1239; break;
case 6656 :g =0; break;
case 6657 :g =224; break;
case 6658 :g =27184; break;
case 6659 :g =31206; break;
case 6660 :g =22532; break;
case 6661 :g =2021; break;
case 6662 :g =2077; break;
case 6663 :g =6017; break;
case 6664 :g =-1; break;
case 6665 :g =84; break;
case 6666 :g =407; break;
case 6667 :g =24650; break;
case 6668 :g =14443; break;
case 6669 :g =1040; break;
case 6670 :g =439; break;
case 6671 :g =-1; break;
case 6672 :g =14903; break;
case 6673 :g =2936; break;
case 6674 :g =43986; break;
case 6675 :g =61; break;
case 6676 :g =15810; break;
case 6677 :g =177; break;
case 6678 :g =421; break;
case 6679 :g =275; break;
case 6680 :g =25946; break;
case 6681 :g =8937; break;
case 6682 :g =8878; break;
case 6683 :g =1413; break;
case 6684 :g =7811; break;
case 6685 :g =45628; break;
case 6686 :g =64923; break;
case 6687 :g =5; break;
case 6688 :g =0; break;
case 6689 :g =40328; break;
case 6690 :g =7745; break;
case 6691 :g =1143; break;
case 6692 :g =558; break;
case 6693 :g =0; break;
case 6694 :g =3267; break;
case 6695 :g =306; break;
case 6696 :g =14892; break;
case 6697 :g =189; break;
case 6698 :g =21844; break;
case 6699 :g =11; break;
case 6700 :g =56933; break;
case 6701 :g =287; break;
case 6702 :g =9740; break;
case 6703 :g =206; break;
case 6704 :g =3998; break;
case 6705 :g =30163; break;
case 6706 :g =12726; break;
case 6707 :g =5763; break;
case 6708 :g =0; break;
case 6709 :g =22525; break;
case 6710 :g =54032; break;
case 6711 :g =1187; break;
case 6712 :g =0; break;
case 6713 :g =56296; break;
case 6714 :g =21148; break;
case 6715 :g =97944; break;
case 6716 :g =18812; break;
case 6717 :g =8142; break;
case 6718 :g =41; break;
case 6719 :g =50642; break;
case 6720 :g =31977; break;
case 6721 :g =0; break;
case 6722 :g =16987; break;
case 6723 :g =249; break;
case 6724 :g =270205; break;
case 6725 :g =4050; break;
case 6726 :g =249; break;
case 6727 :g =38707; break;
case 6728 :g =8238; break;
case 6729 :g =3; break;
case 6730 :g =-1; break;
case 6731 :g =5325; break;
case 6732 :g =369; break;
case 6733 :g =4353; break;
case 6734 :g =13047; break;
case 6735 :g =4421; break;
case 6736 :g =113; break;
case 6737 :g =0; break;
case 6738 :g =10978; break;
case 6739 :g =2366; break;
case 6740 :g =1227; break;
case 6741 :g =82669; break;
case 6742 :g =-1; break;
case 6743 :g =6451; break;
case 6744 :g =6823; break;
case 6745 :g =3251; break;
case 6746 :g =7357; break;
case 6747 :g =246; break;
case 6748 :g =3375; break;
case 6749 :g =3512; break;
case 6750 :g =46031; break;
case 6751 :g =12991; break;
case 6752 :g =0; break;
case 6753 :g =0; break;
case 6754 :g =28166; break;
case 6755 :g =10101; break;
case 6756 :g =1711; break;
case 6757 :g =2604; break;
case 6758 :g =33037; break;
case 6759 :g =24869; break;
case 6760 :g =2034; break;
case 6761 :g =135585; break;
case 6762 :g =-1; break;
case 6763 :g =48; break;
case 6764 :g =55645; break;
case 6765 :g =67244; break;
case 6766 :g =20188; break;
case 6767 :g =566; break;
case 6768 :g =8891; break;
case 6769 :g =20187; break;
case 6770 :g =6734; break;
case 6771 :g =1963; break;
case 6772 :g =2001; break;
case 6773 :g =-1; break;
case 6774 :g =11254; break;
case 6775 :g =2230; break;
case 6776 :g =5633; break;
case 6777 :g =832; break;
case 6778 :g =24975; break;
case 6779 :g =194472; break;
case 6780 :g =2311; break;
case 6781 :g =159; break;
case 6782 :g =384; break;
case 6783 :g =7408; break;
case 6784 :g =56; break;
case 6785 :g =7625; break;
case 6786 :g =5566; break;
case 6787 :g =73; break;
case 6788 :g =1295; break;
case 6789 :g =93; break;
case 6790 :g =458; break;
case 6791 :g =2977; break;
case 6792 :g =13850; break;
case 6793 :g =34089; break;
case 6794 :g =1216; break;
case 6795 :g =2456; break;
case 6796 :g =74; break;
case 6797 :g =16273; break;
case 6798 :g =189; break;
case 6799 :g =90; break;
case 6800 :g =3280; break;
case 6801 :g =129; break;
case 6802 :g =428; break;
case 6803 :g =1749; break;
case 6804 :g =8000; break;
case 6805 :g =13842; break;
case 6806 :g =43876; break;
case 6807 :g =23123; break;
case 6808 :g =5400; break;
case 6809 :g =5973; break;
case 6810 :g =187; break;
case 6811 :g =431; break;
case 6812 :g =462; break;
case 6813 :g =593; break;
case 6814 :g =24703; break;
case 6815 :g =14; break;
case 6816 :g =455; break;
case 6817 :g =207; break;
case 6818 :g =258; break;
case 6819 :g =28941; break;
case 6820 :g =0; break;
case 6821 :g =16977; break;
case 6822 :g =93; break;
case 6823 :g =5767; break;
case 6824 :g =-1; break;
case 6825 :g =129903; break;
case 6826 :g =3972; break;
case 6827 :g =65830; break;
case 6828 :g =0; break;
case 6829 :g =20512; break;
case 6830 :g =47; break;
case 6831 :g =984; break;
case 6832 :g =12321; break;
case 6833 :g =-1; break;
case 6834 :g =95030; break;
case 6835 :g =14314; break;
case 6836 :g =88174; break;
case 6837 :g =209; break;
case 6838 :g =0; break;
case 6839 :g =-1; break;
case 6840 :g =327; break;
case 6841 :g =687; break;
case 6842 :g =12307; break;
case 6843 :g =4990; break;
case 6844 :g =29729; break;
case 6845 :g =24998; break;
case 6846 :g =353; break;
case 6847 :g =31922; break;
case 6848 :g =13566; break;
case 6849 :g =5614; break;
case 6850 :g =117650; break;
case 6851 :g =87262; break;
case 6852 :g =394; break;
case 6853 :g =192; break;
case 6854 :g =15317; break;
case 6855 :g =131; break;
case 6856 :g =181; break;
case 6857 :g =397; break;
case 6858 :g =23; break;
case 6859 :g =108090; break;
case 6860 :g =0; break;
case 6861 :g =70999; break;
case 6862 :g =4835; break;
case 6863 :g =55718; break;
case 6864 :g =69000; break;
case 6865 :g =10613; break;
case 6866 :g =0; break;
case 6867 :g =521; break;
case 6868 :g =175; break;
case 6869 :g =4362; break;
case 6870 :g =-1; break;
case 6871 :g =161720; break;
case 6872 :g =271315; break;
case 6873 :g =2722; break;
case 6874 :g =11761; break;
case 6875 :g =13651; break;
case 6876 :g =11416; break;
case 6877 :g =93268; break;
case 6878 :g =-1; break;
case 6879 :g =1745;
}
return(abs((abs(n)+(7*abs(m)-1)*g)%1048583)%25144);
}

