Dear Intel
I have a mechanics problem which I solve with finite differences, and the matrix is sparse. I use pardiso to solve the linear system, and I regularly get solutions which do not match Gaussian elimination with row and column pivoting. In addition, in these cases the residual (as expected) r = Ax-b is not zero. A sample matrix with the right hand side can be found in the following sample code. My Gaussian elimination results in the first element of the solution vector x[0] = 2.197819, but pardiso reports 1.798e-8. Note that my matrix is non-dimensionalized so I reduce my numerical errors, but in one row towards the end I have very large values (42046084959222096), which is correct for my model.
Any help is deeply appreciated. Thanks
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "mkl_pardiso.h"
#include "mkl_types.h"
#define nrElements 2088
int main()
{
// number of rows
MKL_INT n = 576;
// matrix data (1-based indexing)
double a[nrElements] = {
-1, // 0
-0.0073499999999999963, // 1
1, // 2
-0.0073499999999999963, // 3
-0.0073499999999999963, // 4
-1, // 5
0.060000000000000005, // 6
-0.02102120408936008, // 7
1, // 8
0.060000000000000005, // 9
-0.02102120408936008, // 10
-0.02102120408936008, // 11
-1, // 12
-0.97999999999999998, // 13
1, // 14
-0.97999999999999998, // 15
-0.97999999999999998, // 16
-1, // 17
-0.02, // 18
1, // 19
-0.02, // 20
-0.02, // 21
1, // 22
-1, // 23
1, // 24
1, // 25
-1, // 26
-0.060000000000000005, // 27
-0.02102120408936008, // 28
1, // 29
-0.060000000000000005, // 30
-0.02102120408936008, // 31
-0.02102120408936008, // 32
-1, // 33
-0.97999999999999998, // 34
1, // 35
-0.97999999999999998, // 36
-0.97999999999999998, // 37
-1, // 38
0.02, // 39
1, // 40
0.02, // 41
0.02, // 42
1, // 43
-1, // 44
1, // 45
1, // 46
-1, // 47
1, // 48
1, // 49
-1, // 50
-1.2740123690521266, // 51
1, // 52
-1.2740123690521266, // 53
-1.2740123690521266, // 54
-1, // 55
1, // 56
1, // 57
-1, // 58
-0.001312499999999999, // 59
1, // 60
-0.001312499999999999, // 61
-1, // 62
0.010714285714285713, // 63
-0.0037537864445285848, // 64
1, // 65
0.010714285714285713, // 66
-0.0037537864445285848, // 67
-1, // 68
-0.17499999999999988, // 69
1, // 70
-0.17499999999999988, // 71
-1, // 72
-0.0035714285714285704, // 73
1, // 74
-0.0035714285714285704, // 75
-1, // 76
1, // 77
-1, // 78
-0.010714285714285713, // 79
-0.0037537864445285848, // 80
1, // 81
-0.010714285714285713, // 82
-0.0037537864445285848, // 83
-1, // 84
-0.17499999999999988, // 85
1, // 86
-0.17499999999999988, // 87
-1, // 88
0.0035714285714285704, // 89
1, // 90
0.0035714285714285704, // 91
-1, // 92
1, // 93
-1, // 94
1, // 95
-1, // 96
-0.22750220875930818, // 97
1, // 98
-0.22750220875930818, // 99
-1, // 100
1, // 101
-1, // 102
-0.0086624999999999949, // 103
1, // 104
-0.0086624999999999949, // 105
-1, // 106
0.070714285714285716, // 107
-0.024774990533888663, // 108
1, // 109
0.070714285714285716, // 110
-0.024774990533888663, // 111
-1, // 112
-1.1549999999999991, // 113
1, // 114
-1.1549999999999991, // 115
-1, // 116
-0.023571428571428566, // 117
1, // 118
-0.023571428571428566, // 119
-1, // 120
1, // 121
-1, // 122
-0.070714285714285716, // 123
-0.024774990533888663, // 124
1, // 125
-0.070714285714285716, // 126
-0.024774990533888663, // 127
-1, // 128
-1.1549999999999991, // 129
1, // 130
-1.1549999999999991, // 131
-1, // 132
0.023571428571428566, // 133
1, // 134
0.023571428571428566, // 135
-1, // 136
1, // 137
-1, // 138
1, // 139
-1, // 140
-1.501514577811434, // 141
1, // 142
-1.501514577811434, // 143
-1, // 144
1, // 145
-1, // 146
-0.0028874999999999977, // 147
1, // 148
-0.0028874999999999977, // 149
-1, // 150
0.023571428571428563, // 151
-0.0082583301779628852, // 152
1, // 153
0.023571428571428563, // 154
-0.0082583301779628852, // 155
-1, // 156
-0.38499999999999968, // 157
1, // 158
-0.38499999999999968, // 159
-1, // 160
-0.0078571428571428542, // 161
1, // 162
-0.0078571428571428542, // 163
-1, // 164
1, // 165
-1, // 166
-0.023571428571428563, // 167
-0.0082583301779628852, // 168
1, // 169
-0.023571428571428563, // 170
-0.0082583301779628852, // 171
-1, // 172
-0.38499999999999968, // 173
1, // 174
-0.38499999999999968, // 175
-1, // 176
0.0078571428571428542, // 177
1, // 178
0.0078571428571428542, // 179
-1, // 180
1, // 181
-1, // 182
1, // 183
-1, // 184
-0.50050485927047794, // 185
1, // 186
-0.50050485927047794, // 187
-1, // 188
1, // 189
-1, // 190
-0.0018375000000000008, // 191
1, // 192
-0.0018375000000000008, // 193
-0.0018375000000000008, // 194
-1, // 195
0.015000000000000015, // 196
-0.0052553010223400252, // 197
1, // 198
0.015000000000000015, // 199
-0.0052553010223400252, // 200
-0.0052553010223400252, // 201
-1, // 202
-0.24500000000000013, // 203
1, // 204
-0.24500000000000013, // 205
-0.24500000000000013, // 206
-1, // 207
-0.0050000000000000044, // 208
1, // 209
-0.0050000000000000044, // 210
-0.0050000000000000044, // 211
1, // 212
-1, // 213
1, // 214
1, // 215
-1, // 216
-0.015000000000000015, // 217
-0.0052553010223400252, // 218
1, // 219
-0.015000000000000015, // 220
-0.0052553010223400252, // 221
-0.0052553010223400252, // 222
-1, // 223
-0.24500000000000013, // 224
1, // 225
-0.24500000000000013, // 226
-0.24500000000000013, // 227
-1, // 228
0.0050000000000000044, // 229
1, // 230
0.0050000000000000044, // 231
0.0050000000000000044, // 232
1, // 233
-1, // 234
1, // 235
1, // 236
-1, // 237
1, // 238
1, // 239
-1, // 240
-0.31850309226303186, // 241
1, // 242
-0.31850309226303186, // 243
-0.31850309226303186, // 244
-1, // 245
1, // 246
1, // 247
-1, // 248
-0.0018375000000000008, // 249
1, // 250
-0.0018375000000000008, // 251
-1, // 252
0.015000000000000015, // 253
-0.0052553010223400252, // 254
1, // 255
0.015000000000000015, // 256
-0.0052553010223400252, // 257
-1, // 258
-0.24500000000000013, // 259
1, // 260
-0.24500000000000013, // 261
-1, // 262
-0.0050000000000000044, // 263
1, // 264
-0.0050000000000000044, // 265
-1, // 266
1, // 267
-1, // 268
-0.015000000000000015, // 269
-0.0052553010223400252, // 270
1, // 271
-0.015000000000000015, // 272
-0.0052553010223400252, // 273
-1, // 274
-0.24500000000000013, // 275
1, // 276
-0.24500000000000013, // 277
-1, // 278
0.0050000000000000044, // 279
1, // 280
0.0050000000000000044, // 281
-1, // 282
1, // 283
-1, // 284
1, // 285
-1, // 286
-0.31850309226303186, // 287
1, // 288
-0.31850309226303186, // 289
-1, // 290
1, // 291
-1, // 292
-0.0020999999999999968, // 293
1, // 294
-0.0020999999999999968, // 295
-1, // 296
0.017142857142857126, // 297
-0.0060060583112457305, // 298
1, // 299
0.017142857142857126, // 300
-0.0060060583112457305, // 301
-1, // 302
-0.27999999999999958, // 303
1, // 304
-0.27999999999999958, // 305
-1, // 306
-0.0057142857142857082, // 307
1, // 308
-0.0057142857142857082, // 309
-1, // 310
1, // 311
-1, // 312
-0.017142857142857126, // 313
-0.0060060583112457305, // 314
1, // 315
-0.017142857142857126, // 316
-0.0060060583112457305, // 317
-1, // 318
-0.27999999999999958, // 319
1, // 320
-0.27999999999999958, // 321
-1, // 322
0.0057142857142857082, // 323
1, // 324
0.0057142857142857082, // 325
-1, // 326
1, // 327
-1, // 328
1, // 329
-1, // 330
-0.36400353401489283, // 331
1, // 332
-0.36400353401489283, // 333
-1, // 334
1, // 335
-1, // 336
-0.0070875, // 337
1, // 338
-0.0070875, // 339
-0.0070875, // 340
-1, // 341
0.057857142857142892, // 342
-0.020270446800454374, // 343
1, // 344
0.057857142857142892, // 345
-0.020270446800454374, // 346
-0.020270446800454374, // 347
-1, // 348
-0.94500000000000006, // 349
1, // 350
-0.94500000000000006, // 351
-0.94500000000000006, // 352
-1, // 353
-0.019285714285714295, // 354
1, // 355
-0.019285714285714295, // 356
-0.019285714285714295, // 357
1, // 358
-1, // 359
1, // 360
1, // 361
-1, // 362
-0.057857142857142892, // 363
-0.020270446800454374, // 364
1, // 365
-0.057857142857142892, // 366
-0.020270446800454374, // 367
-0.020270446800454374, // 368
-1, // 369
-0.94500000000000006, // 370
1, // 371
-0.94500000000000006, // 372
-0.94500000000000006, // 373
-1, // 374
0.019285714285714295, // 375
1, // 376
0.019285714285714295, // 377
0.019285714285714295, // 378
1, // 379
-1, // 380
1, // 381
1, // 382
-1, // 383
1, // 384
1, // 385
-1, // 386
-1.2285119273002651, // 387
1, // 388
-1.2285119273002651, // 389
-1.2285119273002651, // 390
-1, // 391
1, // 392
1, // 393
-1, // 394
-0.0015749999999999952, // 395
1, // 396
-0.0015749999999999952, // 397
-1, // 398
0.012857142857142824, // 399
-0.0045045437334342913, // 400
1, // 401
0.012857142857142824, // 402
-0.0045045437334342913, // 403
-1, // 404
-0.20999999999999935, // 405
1, // 406
-0.20999999999999935, // 407
-1, // 408
-0.0042857142857142747, // 409
1, // 410
-0.0042857142857142747, // 411
-1, // 412
1, // 413
-1, // 414
-0.012857142857142824, // 415
-0.0045045437334342913, // 416
1, // 417
-0.012857142857142824, // 418
-0.0045045437334342913, // 419
-1, // 420
-0.20999999999999935, // 421
1, // 422
-0.20999999999999935, // 423
-1, // 424
0.0042857142857142747, // 425
1, // 426
0.0042857142857142747, // 427
-1, // 428
1, // 429
-1, // 430
1, // 431
-1, // 432
-0.27300265051116918, // 433
1, // 434
-0.27300265051116918, // 435
-1, // 436
1, // 437
-1, // 438
-0.0086624999999999914, // 439
1, // 440
-0.0086624999999999914, // 441
-1, // 442
0.070714285714285688, // 443
-0.024774990533888652, // 444
1, // 445
0.070714285714285688, // 446
-0.024774990533888652, // 447
-1, // 448
-1.1549999999999989, // 449
1, // 450
-1.1549999999999989, // 451
-1, // 452
-0.023571428571428559, // 453
1, // 454
-0.023571428571428559, // 455
-1, // 456
1, // 457
-1, // 458
-0.070714285714285688, // 459
-0.024774990533888652, // 460
1, // 461
-0.070714285714285688, // 462
-0.024774990533888652, // 463
-1, // 464
-1.1549999999999989, // 465
1, // 466
-1.1549999999999989, // 467
-1, // 468
0.023571428571428559, // 469
1, // 470
0.023571428571428559, // 471
-1, // 472
1, // 473
-1, // 474
1, // 475
-1, // 476
-1.5015145778114336, // 477
1, // 478
-1.5015145778114336, // 479
-1, // 480
1, // 481
-1, // 482
-0.0086624999999999914, // 483
1, // 484
-0.0086624999999999914, // 485
-1, // 486
0.070714285714285688, // 487
-0.024774990533888652, // 488
1, // 489
0.070714285714285688, // 490
-0.024774990533888652, // 491
-1, // 492
-1.1549999999999989, // 493
1, // 494
-1.1549999999999989, // 495
-1, // 496
-0.023571428571428559, // 497
1, // 498
-0.023571428571428559, // 499
-1, // 500
1, // 501
-1, // 502
-0.070714285714285688, // 503
-0.024774990533888652, // 504
1, // 505
-0.070714285714285688, // 506
-0.024774990533888652, // 507
-1, // 508
-1.1549999999999989, // 509
1, // 510
-1.1549999999999989, // 511
-1, // 512
0.023571428571428559, // 513
1, // 514
0.023571428571428559, // 515
-1, // 516
1, // 517
-1, // 518
1, // 519
-1, // 520
-1.5015145778114336, // 521
1, // 522
-1.5015145778114336, // 523
-1, // 524
1, // 525
-1, // 526
-0.0086625000000000053, // 527
1, // 528
-0.0086625000000000053, // 529
-0.0086625000000000053, // 530
-1, // 531
0.070714285714285799, // 532
-0.024774990533888694, // 533
1, // 534
0.070714285714285799, // 535
-0.024774990533888694, // 536
-0.024774990533888694, // 537
-1, // 538
-1.1550000000000007, // 539
1, // 540
-1.1550000000000007, // 541
-1.1550000000000007, // 542
-1, // 543
-0.023571428571428597, // 544
1, // 545
-0.023571428571428597, // 546
-0.023571428571428597, // 547
1, // 548
-1, // 549
1, // 550
1, // 551
-1, // 552
-0.070714285714285799, // 553
-0.024774990533888694, // 554
1, // 555
-0.070714285714285799, // 556
-0.024774990533888694, // 557
-0.024774990533888694, // 558
-1, // 559
-1.1550000000000007, // 560
1, // 561
-1.1550000000000007, // 562
-1.1550000000000007, // 563
-1, // 564
0.023571428571428597, // 565
1, // 566
0.023571428571428597, // 567
0.023571428571428597, // 568
1, // 569
-1, // 570
1, // 571
1, // 572
-1, // 573
1, // 574
1, // 575
-1, // 576
-1.501514577811436, // 577
1, // 578
-1.501514577811436, // 579
-1.501514577811436, // 580
-1, // 581
1, // 582
1, // 583
-1, // 584
-0.0090343749999999938, // 585
1, // 586
-0.0090343749999999938, // 587
-1, // 588
0.073749999999999996, // 589
-0.025838563359838425, // 590
1, // 591
0.073749999999999996, // 592
-0.025838563359838425, // 593
-1, // 594
-1.2045833333333322, // 595
1, // 596
-1.2045833333333322, // 597
-1, // 598
-0.024583333333333329, // 599
1, // 600
-0.024583333333333329, // 601
-1, // 602
1, // 603
-1, // 604
-0.073749999999999996, // 605
-0.025838563359838425, // 606
1, // 607
-0.073749999999999996, // 608
-0.025838563359838425, // 609
-1, // 610
-1.2045833333333322, // 611
1, // 612
-1.2045833333333322, // 613
-1, // 614
0.024583333333333329, // 615
1, // 616
0.024583333333333329, // 617
-1, // 618
1, // 619
-1, // 620
1, // 621
-1, // 622
-1.5659735369599046, // 623
1, // 624
-1.5659735369599046, // 625
-1, // 626
1, // 627
-1, // 628
-0.0090343749999999938, // 629
1, // 630
-0.0090343749999999938, // 631
-1, // 632
0.073749999999999996, // 633
-0.025838563359838425, // 634
1, // 635
0.073749999999999996, // 636
-0.025838563359838425, // 637
-1, // 638
-1.2045833333333329, // 639
1, // 640
-1.2045833333333329, // 641
-1, // 642
-0.024583333333333329, // 643
1, // 644
-0.024583333333333329, // 645
-1, // 646
1, // 647
-1, // 648
-0.073749999999999996, // 649
-0.025838563359838425, // 650
1, // 651
-0.073749999999999996, // 652
-0.025838563359838425, // 653
-1, // 654
-1.2045833333333329, // 655
1, // 656
-1.2045833333333329, // 657
-1, // 658
0.024583333333333329, // 659
1, // 660
0.024583333333333329, // 661
-1, // 662
1, // 663
-1, // 664
1, // 665
-1, // 666
-1.5659735369599053, // 667
1, // 668
-1.5659735369599053, // 669
-1, // 670
1, // 671
-1, // 672
-0.0090343749999999938, // 673
1, // 674
-0.0090343749999999938, // 675
-1, // 676
0.073749999999999996, // 677
-0.025838563359838425, // 678
1, // 679
0.073749999999999996, // 680
-0.025838563359838425, // 681
-1, // 682
-1.2045833333333325, // 683
1, // 684
-1.2045833333333325, // 685
-1, // 686
-0.024583333333333329, // 687
1, // 688
-0.024583333333333329, // 689
-1, // 690
1, // 691
-1, // 692
-0.073749999999999996, // 693
-0.025838563359838425, // 694
1, // 695
-0.073749999999999996, // 696
-0.025838563359838425, // 697
-1, // 698
-1.2045833333333325, // 699
1, // 700
-1.2045833333333325, // 701
-1, // 702
0.024583333333333329, // 703
1, // 704
0.024583333333333329, // 705
-1, // 706
1, // 707
-1, // 708
1, // 709
-1, // 710
-1.5659735369599048, // 711
1, // 712
-1.5659735369599048, // 713
-1, // 714
1, // 715
-1, // 716
-0.0090343749999999938, // 717
1, // 718
-0.0090343749999999938, // 719
-1, // 720
0.073749999999999996, // 721
-0.025838563359838425, // 722
1, // 723
0.073749999999999996, // 724
-0.025838563359838425, // 725
-1, // 726
-1.2045833333333325, // 727
1, // 728
-1.2045833333333325, // 729
-1, // 730
-0.024583333333333329, // 731
1, // 732
-0.024583333333333329, // 733
-1, // 734
1, // 735
-1, // 736
-0.073749999999999996, // 737
-0.025838563359838425, // 738
1, // 739
-0.073749999999999996, // 740
-0.025838563359838425, // 741
-1, // 742
-1.2045833333333325, // 743
1, // 744
-1.2045833333333325, // 745
-1, // 746
0.024583333333333329, // 747
1, // 748
0.024583333333333329, // 749
-1, // 750
1, // 751
-1, // 752
1, // 753
-1, // 754
-1.5659735369599048, // 755
1, // 756
-1.5659735369599048, // 757
-1, // 758
1, // 759
-1, // 760
-0.0090343749999999938, // 761
1, // 762
-0.0090343749999999938, // 763
-1, // 764
0.073749999999999996, // 765
-0.025838563359838425, // 766
1, // 767
0.073749999999999996, // 768
-0.025838563359838425, // 769
-1, // 770
-1.2045833333333325, // 771
1, // 772
-1.2045833333333325, // 773
-1, // 774
-0.024583333333333329, // 775
1, // 776
-0.024583333333333329, // 777
-1, // 778
1, // 779
-1, // 780
-0.073749999999999996, // 781
-0.025838563359838425, // 782
1, // 783
-0.073749999999999996, // 784
-0.025838563359838425, // 785
-1, // 786
-1.2045833333333325, // 787
1, // 788
-1.2045833333333325, // 789
-1, // 790
0.024583333333333329, // 791
1, // 792
0.024583333333333329, // 793
-1, // 794
1, // 795
-1, // 796
1, // 797
-1, // 798
-1.5659735369599048, // 799
1, // 800
-1.5659735369599048, // 801
-1, // 802
1, // 803
-1, // 804
-0.0090343749999999938, // 805
1, // 806
-0.0090343749999999938, // 807
-1, // 808
0.073749999999999996, // 809
-0.025838563359838425, // 810
1, // 811
0.073749999999999996, // 812
-0.025838563359838425, // 813
-1, // 814
-1.2045833333333325, // 815
1, // 816
-1.2045833333333325, // 817
-1, // 818
-0.024583333333333329, // 819
1, // 820
-0.024583333333333329, // 821
-1, // 822
1, // 823
-1, // 824
-0.073749999999999996, // 825
-0.025838563359838425, // 826
1, // 827
-0.073749999999999996, // 828
-0.025838563359838425, // 829
-1, // 830
-1.2045833333333325, // 831
1, // 832
-1.2045833333333325, // 833
-1, // 834
0.024583333333333329, // 835
1, // 836
0.024583333333333329, // 837
-1, // 838
1, // 839
-1, // 840
1, // 841
-1, // 842
-1.5659735369599048, // 843
1, // 844
-1.5659735369599048, // 845
-1, // 846
1, // 847
-1, // 848
-0.0090343749999999938, // 849
1, // 850
-0.0090343749999999938, // 851
-1, // 852
0.073749999999999996, // 853
-0.025838563359838425, // 854
1, // 855
0.073749999999999996, // 856
-0.025838563359838425, // 857
-1, // 858
-1.2045833333333325, // 859
1, // 860
-1.2045833333333325, // 861
-1, // 862
-0.024583333333333329, // 863
1, // 864
-0.024583333333333329, // 865
-1, // 866
1, // 867
-1, // 868
-0.073749999999999996, // 869
-0.025838563359838425, // 870
1, // 871
-0.073749999999999996, // 872
-0.025838563359838425, // 873
-1, // 874
-1.2045833333333325, // 875
1, // 876
-1.2045833333333325, // 877
-1, // 878
0.024583333333333329, // 879
1, // 880
0.024583333333333329, // 881
-1, // 882
1, // 883
-1, // 884
1, // 885
-1, // 886
-1.5659735369599048, // 887
1, // 888
-1.5659735369599048, // 889
-1, // 890
1, // 891
-1, // 892
-0.0090343749999999938, // 893
1, // 894
-0.0090343749999999938, // 895
-1, // 896
0.073749999999999996, // 897
-0.025838563359838425, // 898
1, // 899
0.073749999999999996, // 900
-0.025838563359838425, // 901
-1, // 902
-1.2045833333333325, // 903
1, // 904
-1.2045833333333325, // 905
-1, // 906
-0.024583333333333329, // 907
1, // 908
-0.024583333333333329, // 909
-1, // 910
1, // 911
-1, // 912
-0.073749999999999996, // 913
-0.025838563359838425, // 914
1, // 915
-0.073749999999999996, // 916
-0.025838563359838425, // 917
-1, // 918
-1.2045833333333325, // 919
1, // 920
-1.2045833333333325, // 921
-1, // 922
0.024583333333333329, // 923
1, // 924
0.024583333333333329, // 925
-1, // 926
1, // 927
-1, // 928
1, // 929
-1, // 930
-1.5659735369599048, // 931
1, // 932
-1.5659735369599048, // 933
-1, // 934
1, // 935
-1, // 936
-0.0090343749999999938, // 937
1, // 938
-0.0090343749999999938, // 939
-1, // 940
0.073749999999999996, // 941
-0.025838563359838425, // 942
1, // 943
0.073749999999999996, // 944
-0.025838563359838425, // 945
-1, // 946
-1.2045833333333325, // 947
1, // 948
-1.2045833333333325, // 949
-1, // 950
-0.024583333333333329, // 951
1, // 952
-0.024583333333333329, // 953
-1, // 954
1, // 955
-1, // 956
-0.073749999999999996, // 957
-0.025838563359838425, // 958
1, // 959
-0.073749999999999996, // 960
-0.025838563359838425, // 961
-1, // 962
-1.2045833333333325, // 963
1, // 964
-1.2045833333333325, // 965
-1, // 966
0.024583333333333329, // 967
1, // 968
0.024583333333333329, // 969
-1, // 970
1, // 971
-1, // 972
1, // 973
-1, // 974
-1.5659735369599048, // 975
1, // 976
-1.5659735369599048, // 977
-1, // 978
1, // 979
-1, // 980
-0.0090343749999999938, // 981
1, // 982
-0.0090343749999999938, // 983
-1, // 984
0.073749999999999996, // 985
-0.025838563359838425, // 986
1, // 987
0.073749999999999996, // 988
-0.025838563359838425, // 989
-1, // 990
-1.2045833333333325, // 991
1, // 992
-1.2045833333333325, // 993
-1, // 994
-0.024583333333333329, // 995
1, // 996
-0.024583333333333329, // 997
-1, // 998
1, // 999
-1, // 1000
-0.073749999999999996, // 1001
-0.025838563359838425, // 1002
1, // 1003
-0.073749999999999996, // 1004
-0.025838563359838425, // 1005
-1, // 1006
-1.2045833333333325, // 1007
1, // 1008
-1.2045833333333325, // 1009
-1, // 1010
0.024583333333333329, // 1011
1, // 1012
0.024583333333333329, // 1013
-1, // 1014
1, // 1015
-1, // 1016
1, // 1017
-1, // 1018
-1.5659735369599048, // 1019
1, // 1020
-1.5659735369599048, // 1021
-1, // 1022
1, // 1023
-1, // 1024
-0.0090343749999999938, // 1025
1, // 1026
-0.0090343749999999938, // 1027
-1, // 1028
0.073749999999999996, // 1029
-0.025838563359838425, // 1030
1, // 1031
0.073749999999999996, // 1032
-0.025838563359838425, // 1033
-1, // 1034
-1.2045833333333325, // 1035
1, // 1036
-1.2045833333333325, // 1037
-1, // 1038
-0.024583333333333329, // 1039
1, // 1040
-0.024583333333333329, // 1041
-1, // 1042
1, // 1043
-1, // 1044
-0.073749999999999996, // 1045
-0.025838563359838425, // 1046
1, // 1047
-0.073749999999999996, // 1048
-0.025838563359838425, // 1049
-1, // 1050
-1.2045833333333325, // 1051
1, // 1052
-1.2045833333333325, // 1053
-1, // 1054
0.024583333333333329, // 1055
1, // 1056
0.024583333333333329, // 1057
-1, // 1058
1, // 1059
-1, // 1060
1, // 1061
-1, // 1062
-1.5659735369599048, // 1063
1, // 1064
-1.5659735369599048, // 1065
-1, // 1066
1, // 1067
-1, // 1068
-0.0090343749999999938, // 1069
1, // 1070
-0.0090343749999999938, // 1071
-0.0090343749999999938, // 1072
-1, // 1073
0.073749999999999996, // 1074
-0.025838563359838425, // 1075
1, // 1076
0.073749999999999996, // 1077
-0.025838563359838425, // 1078
-0.025838563359838425, // 1079
-1, // 1080
-1.2045833333333325, // 1081
1, // 1082
-1.2045833333333325, // 1083
-1.2045833333333325, // 1084
-1, // 1085
-0.024583333333333329, // 1086
1, // 1087
-0.024583333333333329, // 1088
-0.024583333333333329, // 1089
1, // 1090
-1, // 1091
1, // 1092
1, // 1093
-1, // 1094
-0.073749999999999996, // 1095
-0.025838563359838425, // 1096
1, // 1097
-0.073749999999999996, // 1098
-0.025838563359838425, // 1099
-0.025838563359838425, // 1100
-1, // 1101
-1.2045833333333325, // 1102
1, // 1103
-1.2045833333333325, // 1104
-1.2045833333333325, // 1105
-1, // 1106
0.024583333333333329, // 1107
1, // 1108
0.024583333333333329, // 1109
0.024583333333333329, // 1110
1, // 1111
-1, // 1112
1, // 1113
1, // 1114
-1, // 1115
1, // 1116
1, // 1117
-1, // 1118
-1.5659735369599048, // 1119
1, // 1120
-1.5659735369599048, // 1121
-1.5659735369599048, // 1122
-1, // 1123
1, // 1124
1, // 1125
-1, // 1126
-0.0073500000000000032, // 1127
1, // 1128
-0.0073500000000000032, // 1129
-1, // 1130
0.06000000000000006, // 1131
-0.021021204089360101, // 1132
1, // 1133
0.06000000000000006, // 1134
-0.021021204089360101, // 1135
-1, // 1136
-0.98000000000000054, // 1137
1, // 1138
-0.98000000000000054, // 1139
-1, // 1140
-0.020000000000000018, // 1141
1, // 1142
-0.020000000000000018, // 1143
-1, // 1144
1, // 1145
-1, // 1146
-0.06000000000000006, // 1147
-0.021021204089360101, // 1148
1, // 1149
-0.06000000000000006, // 1150
-0.021021204089360101, // 1151
-1, // 1152
-0.98000000000000054, // 1153
1, // 1154
-0.98000000000000054, // 1155
-1, // 1156
0.020000000000000018, // 1157
1, // 1158
0.020000000000000018, // 1159
-1, // 1160
1, // 1161
-1, // 1162
1, // 1163
-1, // 1164
-1.2740123690521274, // 1165
1, // 1166
-1.2740123690521274, // 1167
-1, // 1168
1, // 1169
-1, // 1170
-0.0073500000000000032, // 1171
1, // 1172
-0.0073500000000000032, // 1173
-1, // 1174
0.06000000000000006, // 1175
-0.021021204089360101, // 1176
1, // 1177
0.06000000000000006, // 1178
-0.021021204089360101, // 1179
-1, // 1180
-0.98000000000000054, // 1181
1, // 1182
-0.98000000000000054, // 1183
-1, // 1184
-0.020000000000000018, // 1185
1, // 1186
-0.020000000000000018, // 1187
-1, // 1188
1, // 1189
-1, // 1190
-0.06000000000000006, // 1191
-0.021021204089360101, // 1192
1, // 1193
-0.06000000000000006, // 1194
-0.021021204089360101, // 1195
-1, // 1196
-0.98000000000000054, // 1197
1, // 1198
-0.98000000000000054, // 1199
-1, // 1200
0.020000000000000018, // 1201
1, // 1202
0.020000000000000018, // 1203
-1, // 1204
1, // 1205
-1, // 1206
1, // 1207
-1, // 1208
-1.2740123690521274, // 1209
1, // 1210
-1.2740123690521274, // 1211
-1, // 1212
1, // 1213
1, // 1214
1, // 1215
1, // 1216
1, // 1217
1, // 1218
1, // 1219
1, // 1220
1, // 1221
1, // 1222
1, // 1223
1, // 1224
1, // 1225
1, // 1226
42046084959222096, // 1227
1, // 1228
-42046084959222096, // 1229
1, // 1230
1, // 1231
1, // 1232
1, // 1233
1, // 1234
-1, // 1235
1, // 1236
1, // 1237
-1, // 1238
1, // 1239
1, // 1240
1, // 1241
1, // 1242
-1, // 1243
1, // 1244
1, // 1245
-1, // 1246
1, // 1247
1, // 1248
1, // 1249
1, // 1250
1, // 1251
1, // 1252
1, // 1253
1, // 1254
1, // 1255
1, // 1256
1, // 1257
1, // 1258
1, // 1259
1, // 1260
1, // 1261
1, // 1262
1, // 1263
1, // 1264
1, // 1265
1, // 1266
1, // 1267
1, // 1268
1, // 1269
1, // 1270
0.33000000000000002, // 1271
1, // 1272
0.92000000000000004, // 1273
1, // 1274
0.12, // 1275
1, // 1276
0.040000000000000001, // 1277
1, // 1278
0.18000000000000002, // 1279
1, // 1280
1, // 1281
-0.33000000000000002, // 1282
1, // 1283
-0.92000000000000004, // 1284
1, // 1285
-0.12, // 1286
1, // 1287
-0.040000000000000001, // 1288
1, // 1289
-0.18000000000000002, // 1290
1, // 1291
-1, // 1292
-0.0057272727272727241, // 1293
1, // 1294
-0.0057272727272727241, // 1295
-1, // 1296
0.081818181818181804, // 1297
-0.01638015903067019, // 1298
1, // 1299
0.081818181818181804, // 1300
-0.01638015903067019, // 1301
-1, // 1302
-0.1221818181818181, // 1303
1, // 1304
-0.1221818181818181, // 1305
-1, // 1306
-0.027272727272727268, // 1307
1, // 1308
-0.027272727272727268, // 1309
-1, // 1310
1, // 1311
-1, // 1312
-0.081818181818181804, // 1313
-0.01638015903067019, // 1314
1, // 1315
-0.081818181818181804, // 1316
-0.01638015903067019, // 1317
-1, // 1318
-0.1221818181818181, // 1319
1, // 1320
-0.1221818181818181, // 1321
-1, // 1322
0.027272727272727268, // 1323
1, // 1324
0.027272727272727268, // 1325
-1, // 1326
1, // 1327
-1, // 1328
1, // 1329
-1, // 1330
-0.15883790575195336, // 1331
1, // 1332
-0.15883790575195336, // 1333
-1, // 1334
1, // 1335
-1, // 1336
-0.0057272727272727241, // 1337
1, // 1338
-0.0057272727272727241, // 1339
-1, // 1340
0.081818181818181804, // 1341
-0.01638015903067019, // 1342
1, // 1343
0.081818181818181804, // 1344
-0.01638015903067019, // 1345
-1, // 1346
-0.1221818181818181, // 1347
1, // 1348
-0.1221818181818181, // 1349
-1, // 1350
-0.027272727272727268, // 1351
1, // 1352
-0.027272727272727268, // 1353
-1, // 1354
1, // 1355
-1, // 1356
-0.081818181818181804, // 1357
-0.01638015903067019, // 1358
1, // 1359
-0.081818181818181804, // 1360
-0.01638015903067019, // 1361
-1, // 1362
-0.1221818181818181, // 1363
1, // 1364
-0.1221818181818181, // 1365
-1, // 1366
0.027272727272727268, // 1367
1, // 1368
0.027272727272727268, // 1369
-1, // 1370
1, // 1371
-1, // 1372
1, // 1373
-1, // 1374
-0.15883790575195336, // 1375
1, // 1376
-0.15883790575195336, // 1377
-1, // 1378
1, // 1379
-1, // 1380
-0.0057272727272727241, // 1381
1, // 1382
-0.0057272727272727241, // 1383
-1, // 1384
0.081818181818181804, // 1385
-0.01638015903067019, // 1386
1, // 1387
0.081818181818181804, // 1388
-0.01638015903067019, // 1389
-1, // 1390
-0.12218181818181809, // 1391
1, // 1392
-0.12218181818181809, // 1393
-1, // 1394
-0.027272727272727268, // 1395
1, // 1396
-0.027272727272727268, // 1397
-1, // 1398
1, // 1399
-1, // 1400
-0.081818181818181804, // 1401
-0.01638015903067019, // 1402
1, // 1403
-0.081818181818181804, // 1404
-0.01638015903067019, // 1405
-1, // 1406
-0.12218181818181809, // 1407
1, // 1408
-0.12218181818181809, // 1409
-1, // 1410
0.027272727272727268, // 1411
1, // 1412
0.027272727272727268, // 1413
-1, // 1414
1, // 1415
-1, // 1416
1, // 1417
-1, // 1418
-0.15883790575195333, // 1419
1, // 1420
-0.15883790575195333, // 1421
-1, // 1422
1, // 1423
-1, // 1424
-0.0057272727272727241, // 1425
1, // 1426
-0.0057272727272727241, // 1427
-1, // 1428
0.081818181818181832, // 1429
-0.01638015903067019, // 1430
1, // 1431
0.081818181818181832, // 1432
-0.01638015903067019, // 1433
-1, // 1434
-0.12218181818181811, // 1435
1, // 1436
-0.12218181818181811, // 1437
-1, // 1438
-0.027272727272727271, // 1439
1, // 1440
-0.027272727272727271, // 1441
-1, // 1442
1, // 1443
-1, // 1444
-0.081818181818181832, // 1445
-0.01638015903067019, // 1446
1, // 1447
-0.081818181818181832, // 1448
-0.01638015903067019, // 1449
-1, // 1450
-0.12218181818181811, // 1451
1, // 1452
-0.12218181818181811, // 1453
-1, // 1454
0.027272727272727271, // 1455
1, // 1456
0.027272727272727271, // 1457
-1, // 1458
1, // 1459
-1, // 1460
1, // 1461
-1, // 1462
-0.15883790575195339, // 1463
1, // 1464
-0.15883790575195339, // 1465
-1, // 1466
1, // 1467
-1, // 1468
-0.0057272727272727249, // 1469
1, // 1470
-0.0057272727272727249, // 1471
-1, // 1472
0.081818181818181832, // 1473
-0.016380159030670194, // 1474
1, // 1475
0.081818181818181832, // 1476
-0.016380159030670194, // 1477
-1, // 1478
-0.12218181818181811, // 1479
1, // 1480
-0.12218181818181811, // 1481
-1, // 1482
-0.027272727272727271, // 1483
1, // 1484
-0.027272727272727271, // 1485
-1, // 1486
1, // 1487
-1, // 1488
-0.081818181818181832, // 1489
-0.016380159030670194, // 1490
1, // 1491
-0.081818181818181832, // 1492
-0.016380159030670194, // 1493
-1, // 1494
-0.12218181818181811, // 1495
1, // 1496
-0.12218181818181811, // 1497
-1, // 1498
0.027272727272727271, // 1499
1, // 1500
0.027272727272727271, // 1501
-1, // 1502
1, // 1503
-1, // 1504
1, // 1505
-1, // 1506
-0.15883790575195339, // 1507
1, // 1508
-0.15883790575195339, // 1509
-1, // 1510
1, // 1511
-1, // 1512
-0.0057272727272727215, // 1513
1, // 1514
-0.0057272727272727215, // 1515
-1, // 1516
0.081818181818181776, // 1517
-0.016380159030670183, // 1518
1, // 1519
0.081818181818181776, // 1520
-0.016380159030670183, // 1521
-1, // 1522
-0.12218181818181804, // 1523
1, // 1524
-0.12218181818181804, // 1525
-1, // 1526
-0.027272727272727254, // 1527
1, // 1528
-0.027272727272727254, // 1529
-1, // 1530
1, // 1531
-1, // 1532
-0.081818181818181776, // 1533
-0.016380159030670183, // 1534
1, // 1535
-0.081818181818181776, // 1536
-0.016380159030670183, // 1537
-1, // 1538
-0.12218181818181804, // 1539
1, // 1540
-0.12218181818181804, // 1541
-1, // 1542
0.027272727272727254, // 1543
1, // 1544
0.027272727272727254, // 1545
-1, // 1546
1, // 1547
-1, // 1548
1, // 1549
-1, // 1550
-0.15883790575195331, // 1551
1, // 1552
-0.15883790575195331, // 1553
-1, // 1554
1, // 1555
-1, // 1556
-0.0057272727272727249, // 1557
1, // 1558
-0.0057272727272727249, // 1559
-1, // 1560
0.081818181818181832, // 1561
-0.016380159030670194, // 1562
1, // 1563
0.081818181818181832, // 1564
-0.016380159030670194, // 1565
-1, // 1566
-0.12218181818181811, // 1567
1, // 1568
-0.12218181818181811, // 1569
-1, // 1570
-0.027272727272727271, // 1571
1, // 1572
-0.027272727272727271, // 1573
-1, // 1574
1, // 1575
-1, // 1576
-0.081818181818181832, // 1577
-0.016380159030670194, // 1578
1, // 1579
-0.081818181818181832, // 1580
-0.016380159030670194, // 1581
-1, // 1582
-0.12218181818181811, // 1583
1, // 1584
-0.12218181818181811, // 1585
-1, // 1586
0.027272727272727271, // 1587
1, // 1588
0.027272727272727271, // 1589
-1, // 1590
1, // 1591
-1, // 1592
1, // 1593
-1, // 1594
-0.15883790575195339, // 1595
1, // 1596
-0.15883790575195339, // 1597
-1, // 1598
1, // 1599
-1, // 1600
-0.0057272727272727249, // 1601
1, // 1602
-0.0057272727272727249, // 1603
-1, // 1604
0.081818181818181832, // 1605
-0.016380159030670194, // 1606
1, // 1607
0.081818181818181832, // 1608
-0.016380159030670194, // 1609
-1, // 1610
-0.12218181818181811, // 1611
1, // 1612
-0.12218181818181811, // 1613
-1, // 1614
-0.027272727272727271, // 1615
1, // 1616
-0.027272727272727271, // 1617
-1, // 1618
1, // 1619
-1, // 1620
-0.081818181818181832, // 1621
-0.016380159030670194, // 1622
1, // 1623
-0.081818181818181832, // 1624
-0.016380159030670194, // 1625
-1, // 1626
-0.12218181818181811, // 1627
1, // 1628
-0.12218181818181811, // 1629
-1, // 1630
0.027272727272727271, // 1631
1, // 1632
0.027272727272727271, // 1633
-1, // 1634
1, // 1635
-1, // 1636
1, // 1637
-1, // 1638
-0.15883790575195339, // 1639
1, // 1640
-0.15883790575195339, // 1641
-1, // 1642
1, // 1643
-1, // 1644
-0.00038181818181818266, // 1645
1, // 1646
-0.00038181818181818266, // 1647
-0.00038181818181818266, // 1648
-1, // 1649
0.0054545454545454697, // 1650
-0.0010920106020446824, // 1651
1, // 1652
0.0054545454545454697, // 1653
-0.0010920106020446824, // 1654
-0.0010920106020446824, // 1655
-1, // 1656
-0.0081454545454545633, // 1657
1, // 1658
-0.0081454545454545633, // 1659
-0.0081454545454545633, // 1660
-1, // 1661
-0.001818181818181823, // 1662
1, // 1663
-0.001818181818181823, // 1664
-0.001818181818181823, // 1665
1, // 1666
-1, // 1667
1, // 1668
1, // 1669
-1, // 1670
-0.0054545454545454697, // 1671
-0.0010920106020446824, // 1672
1, // 1673
-0.0054545454545454697, // 1674
-0.0010920106020446824, // 1675
-0.0010920106020446824, // 1676
-1, // 1677
-0.0081454545454545633, // 1678
1, // 1679
-0.0081454545454545633, // 1680
-0.0081454545454545633, // 1681
-1, // 1682
0.001818181818181823, // 1683
1, // 1684
0.001818181818181823, // 1685
0.001818181818181823, // 1686
1, // 1687
-1, // 1688
1, // 1689
1, // 1690
-1, // 1691
1, // 1692
1, // 1693
-1, // 1694
-0.010589193716796921, // 1695
1, // 1696
-0.010589193716796921, // 1697
-0.010589193716796921, // 1698
-1, // 1699
1, // 1700
1, // 1701
-1, // 1702
-0.005345454545454543, // 1703
1, // 1704
-0.005345454545454543, // 1705
-1, // 1706
0.076363636363636356, // 1707
-0.015288148428625513, // 1708
1, // 1709
0.076363636363636356, // 1710
-0.015288148428625513, // 1711
-1, // 1712
-0.11403636363636357, // 1713
1, // 1714
-0.11403636363636357, // 1715
-1, // 1716
-0.025454545454545452, // 1717
1, // 1718
-0.025454545454545452, // 1719
-1, // 1720
1, // 1721
-1, // 1722
-0.076363636363636356, // 1723
-0.015288148428625513, // 1724
1, // 1725
-0.076363636363636356, // 1726
-0.015288148428625513, // 1727
-1, // 1728
-0.11403636363636357, // 1729
1, // 1730
-0.11403636363636357, // 1731
-1, // 1732
0.025454545454545452, // 1733
1, // 1734
0.025454545454545452, // 1735
-1, // 1736
1, // 1737
-1, // 1738
1, // 1739
-1, // 1740
-0.14824871203515649, // 1741
1, // 1742
-0.14824871203515649, // 1743
-1, // 1744
1, // 1745
-1, // 1746
-0.0020045454545454607, // 1747
1, // 1748
-0.0020045454545454607, // 1749
-1, // 1750
0.028636363636363741, // 1751
-0.0057330556607345876, // 1752
1, // 1753
0.028636363636363741, // 1754
-0.0057330556607345876, // 1755
-1, // 1756
-0.042763636363636497, // 1757
1, // 1758
-0.042763636363636497, // 1759
-1, // 1760
-0.0095454545454545792, // 1761
1, // 1762
-0.0095454545454545792, // 1763
-1, // 1764
1, // 1765
-1, // 1766
-0.028636363636363741, // 1767
-0.0057330556607345876, // 1768
1, // 1769
-0.028636363636363741, // 1770
-0.0057330556607345876, // 1771
-1, // 1772
-0.042763636363636497, // 1773
1, // 1774
-0.042763636363636497, // 1775
-1, // 1776
0.0095454545454545792, // 1777
1, // 1778
0.0095454545454545792, // 1779
-1, // 1780
1, // 1781
-1, // 1782
1, // 1783
-1, // 1784
-0.055593267013183886, // 1785
1, // 1786
-0.055593267013183886, // 1787
-1, // 1788
1, // 1789
-1, // 1790
-0.0010500000000000006, // 1791
1, // 1792
-0.0010500000000000006, // 1793
-0.0010500000000000006, // 1794
-1, // 1795
0.015000000000000015, // 1796
-0.0030030291556228717, // 1797
1, // 1798
0.015000000000000015, // 1799
-0.0030030291556228717, // 1800
-0.0030030291556228717, // 1801
-1, // 1802
-0.02240000000000001, // 1803
1, // 1804
-0.02240000000000001, // 1805
-0.02240000000000001, // 1806
-1, // 1807
-0.0050000000000000044, // 1808
1, // 1809
-0.0050000000000000044, // 1810
-0.0050000000000000044, // 1811
1, // 1812
-1, // 1813
1, // 1814
1, // 1815
-1, // 1816
-0.015000000000000015, // 1817
-0.0030030291556228717, // 1818
1, // 1819
-0.015000000000000015, // 1820
-0.0030030291556228717, // 1821
-0.0030030291556228717, // 1822
-1, // 1823
-0.02240000000000001, // 1824
1, // 1825
-0.02240000000000001, // 1826
-0.02240000000000001, // 1827
-1, // 1828
0.0050000000000000044, // 1829
1, // 1830
0.0050000000000000044, // 1831
0.0050000000000000044, // 1832
1, // 1833
-1, // 1834
1, // 1835
1, // 1836
-1, // 1837
1, // 1838
1, // 1839
-1, // 1840
-0.029120282721191482, // 1841
1, // 1842
-0.029120282721191482, // 1843
-0.029120282721191482, // 1844
-1, // 1845
1, // 1846
1, // 1847
-1, // 1848
-0.001049999999999993, // 1849
1, // 1850
-0.001049999999999993, // 1851
-1, // 1852
0.014999999999999909, // 1853
-0.0030030291556228505, // 1854
1, // 1855
0.014999999999999909, // 1856
-0.0030030291556228505, // 1857
-1, // 1858
-0.022399999999999847, // 1859
1, // 1860
-0.022399999999999847, // 1861
-1, // 1862
-0.0049999999999999689, // 1863
1, // 1864
-0.0049999999999999689, // 1865
-1, // 1866
1, // 1867
-1, // 1868
-0.014999999999999909, // 1869
-0.0030030291556228505, // 1870
1, // 1871
-0.014999999999999909, // 1872
-0.0030030291556228505, // 1873
-1, // 1874
-0.022399999999999847, // 1875
1, // 1876
-0.022399999999999847, // 1877
-1, // 1878
0.0049999999999999689, // 1879
1, // 1880
0.0049999999999999689, // 1881
-1, // 1882
1, // 1883
-1, // 1884
1, // 1885
-1, // 1886
-0.029120282721191274, // 1887
1, // 1888
-0.029120282721191274, // 1889
-1, // 1890
1, // 1891
-1, // 1892
-0.0016227272727272709, // 1893
1, // 1894
-0.0016227272727272709, // 1895
-1, // 1896
0.023181818181818165, // 1897
-0.0046410450586898853, // 1898
1, // 1899
0.023181818181818165, // 1900
-0.0046410450586898853, // 1901
-1, // 1902
-0.034618181818181777, // 1903
1, // 1904
-0.034618181818181777, // 1905
-1, // 1906
-0.0077272727272727215, // 1907
1, // 1908
-0.0077272727272727215, // 1909
-1, // 1910
1, // 1911
-1, // 1912
-0.023181818181818165, // 1913
-0.0046410450586898853, // 1914
1, // 1915
-0.023181818181818165, // 1916
-0.0046410450586898853, // 1917
-1, // 1918
-0.034618181818181777, // 1919
1, // 1920
-0.034618181818181777, // 1921
-1, // 1922
0.0077272727272727215, // 1923
1, // 1924
0.0077272727272727215, // 1925
-1, // 1926
1, // 1927
-1, // 1928
1, // 1929
-1, // 1930
-0.045004073296386761, // 1931
1, // 1932
-0.045004073296386761, // 1933
-1, // 1934
1, // 1935
-1, // 1936
-0.003627272727272732, // 1937
1, // 1938
-0.003627272727272732, // 1939
-0.003627272727272732, // 1940
-1, // 1941
0.051818181818181909, // 1942
-0.010374100719424474, // 1943
1, // 1944
0.051818181818181909, // 1945
-0.010374100719424474, // 1946
-0.010374100719424474, // 1947
-1, // 1948
-0.077381818181818274, // 1949
1, // 1950
-0.077381818181818274, // 1951
-0.077381818181818274, // 1952
-1, // 1953
-0.017272727272727301, // 1954
1, // 1955
-0.017272727272727301, // 1956
-0.017272727272727301, // 1957
1, // 1958
-1, // 1959
1, // 1960
1, // 1961
-1, // 1962
-0.051818181818181909, // 1963
-0.010374100719424474, // 1964
1, // 1965
-0.051818181818181909, // 1966
-0.010374100719424474, // 1967
-0.010374100719424474, // 1968
-1, // 1969
-0.077381818181818274, // 1970
1, // 1971
-0.077381818181818274, // 1972
-0.077381818181818274, // 1973
-1, // 1974
0.017272727272727301, // 1975
1, // 1976
0.017272727272727301, // 1977
0.017272727272727301, // 1978
1, // 1979
-1, // 1980
1, // 1981
1, // 1982
-1, // 1983
1, // 1984
1, // 1985
-1, // 1986
-0.10059734030957064, // 1987
1, // 1988
-0.10059734030957064, // 1989
-0.10059734030957064, // 1990
-1, // 1991
1, // 1992
1, // 1993
-1, // 1994
-0.0020999999999999934, // 1995
1, // 1996
-0.0020999999999999934, // 1997
-1, // 1998
0.029999999999999919, // 1999
-0.0060060583112457209, // 2000
1, // 2001
0.029999999999999919, // 2002
-0.0060060583112457209, // 2003
-1, // 2004
-0.044799999999999854, // 2005
1, // 2006
-0.044799999999999854, // 2007
-1, // 2008
-0.0099999999999999725, // 2009
1, // 2010
-0.0099999999999999725, // 2011
-1, // 2012
1, // 2013
-1, // 2014
-0.029999999999999919, // 2015
-0.0060060583112457209, // 2016
1, // 2017
-0.029999999999999919, // 2018
-0.0060060583112457209, // 2019
-1, // 2020
-0.044799999999999854, // 2021
1, // 2022
-0.044799999999999854, // 2023
-1, // 2024
0.0099999999999999725, // 2025
1, // 2026
0.0099999999999999725, // 2027
-1, // 2028
1, // 2029
-1, // 2030
1, // 2031
-1, // 2032
-0.05824056544238275, // 2033
1, // 2034
-0.05824056544238275, // 2035
-1, // 2036
1, // 2037
1, // 2038
-42046084959222096, // 2039
42046084959222096, // 2040
1, // 2041
1, // 2042
1, // 2043
1, // 2044
1, // 2045
1, // 2046
1, // 2047
1, // 2048
1, // 2049
1, // 2050
1, // 2051
1, // 2052
1, // 2053
1, // 2054
1, // 2055
1, // 2056
1, // 2057
1, // 2058
1, // 2059
1, // 2060
1, // 2061
1, // 2062
1, // 2063
1, // 2064
1, // 2065
1, // 2066
1, // 2067
1, // 2068
1, // 2069
1, // 2070
1, // 2071
1, // 2072
1, // 2073
1, // 2074
0.52000000000000002, // 2075
1, // 2076
0.44, // 2077
1, // 2078
0.57999999999999996, // 2079
1, // 2080
1, // 2081
-0.52000000000000002, // 2082
1, // 2083
-0.44, // 2084
1, // 2085
-0.57999999999999996, // 2086
1 }; // 2087
int ja[nrElements] = {
1, // 0
10, // 1
13, // 2
22, // 3
344, // 4
2, // 5
3, // 6
5, // 7
14, // 8
15, // 9
17, // 10
343, // 11
3, // 12
4, // 13
15, // 14
16, // 15
348, // 16
4, // 17
5, // 18
16, // 19
17, // 20
343, // 21
348, // 22
5, // 23
17, // 24
343, // 25
6, // 26
7, // 27
9, // 28
18, // 29
19, // 30
21, // 31
345, // 32
7, // 33
8, // 34
19, // 35
20, // 36
346, // 37
8, // 38
9, // 39
20, // 40
21, // 41
345, // 42
346, // 43
9, // 44
21, // 45
345, // 46
10, // 47
22, // 48
344, // 49
11, // 50
12, // 51
23, // 52
24, // 53
347, // 54
12, // 55
24, // 56
347, // 57
13, // 58
22, // 59
25, // 60
34, // 61
14, // 62
15, // 63
17, // 64
26, // 65
27, // 66
29, // 67
15, // 68
16, // 69
27, // 70
28, // 71
16, // 72
17, // 73
28, // 74
29, // 75
17, // 76
29, // 77
18, // 78
19, // 79
21, // 80
30, // 81
31, // 82
33, // 83
19, // 84
20, // 85
31, // 86
32, // 87
20, // 88
21, // 89
32, // 90
33, // 91
21, // 92
33, // 93
22, // 94
34, // 95
23, // 96
24, // 97
35, // 98
36, // 99
24, // 100
36, // 101
25, // 102
34, // 103
37, // 104
46, // 105
26, // 106
27, // 107
29, // 108
38, // 109
39, // 110
41, // 111
27, // 112
28, // 113
39, // 114
40, // 115
28, // 116
29, // 117
40, // 118
41, // 119
29, // 120
41, // 121
30, // 122
31, // 123
33, // 124
42, // 125
43, // 126
45, // 127
31, // 128
32, // 129
43, // 130
44, // 131
32, // 132
33, // 133
44, // 134
45, // 135
33, // 136
45, // 137
34, // 138
46, // 139
35, // 140
36, // 141
47, // 142
48, // 143
36, // 144
48, // 145
37, // 146
46, // 147
49, // 148
58, // 149
38, // 150
39, // 151
41, // 152
50, // 153
51, // 154
53, // 155
39, // 156
40, // 157
51, // 158
52, // 159
40, // 160
41, // 161
52, // 162
53, // 163
41, // 164
53, // 165
42, // 166
43, // 167
45, // 168
54, // 169
55, // 170
57, // 171
43, // 172
44, // 173
55, // 174
56, // 175
44, // 176
45, // 177
56, // 178
57, // 179
45, // 180
57, // 181
46, // 182
58, // 183
47, // 184
48, // 185
59, // 186
60, // 187
48, // 188
60, // 189
49, // 190
58, // 191
61, // 192
70, // 193
338, // 194
50, // 195
51, // 196
53, // 197
62, // 198
63, // 199
65, // 200
337, // 201
51, // 202
52, // 203
63, // 204
64, // 205
342, // 206
52, // 207
53, // 208
64, // 209
65, // 210
337, // 211
342, // 212
53, // 213
65, // 214
337, // 215
54, // 216
55, // 217
57, // 218
66, // 219
67, // 220
69, // 221
339, // 222
55, // 223
56, // 224
67, // 225
68, // 226
340, // 227
56, // 228
57, // 229
68, // 230
69, // 231
339, // 232
340, // 233
57, // 234
69, // 235
339, // 236
58, // 237
70, // 238
338, // 239
59, // 240
60, // 241
71, // 242
72, // 243
341, // 244
60, // 245
72, // 246
341, // 247
61, // 248
70, // 249
73, // 250
82, // 251
62, // 252
63, // 253
65, // 254
74, // 255
75, // 256
77, // 257
63, // 258
64, // 259
75, // 260
76, // 261
64, // 262
65, // 263
76, // 264
77, // 265
65, // 266
77, // 267
66, // 268
67, // 269
69, // 270
78, // 271
79, // 272
81, // 273
67, // 274
68, // 275
79, // 276
80, // 277
68, // 278
69, // 279
80, // 280
81, // 281
69, // 282
81, // 283
70, // 284
82, // 285
71, // 286
72, // 287
83, // 288
84, // 289
72, // 290
84, // 291
73, // 292
82, // 293
85, // 294
94, // 295
74, // 296
75, // 297
77, // 298
86, // 299
87, // 300
89, // 301
75, // 302
76, // 303
87, // 304
88, // 305
76, // 306
77, // 307
88, // 308
89, // 309
77, // 310
89, // 311
78, // 312
79, // 313
81, // 314
90, // 315
91, // 316
93, // 317
79, // 318
80, // 319
91, // 320
92, // 321
80, // 322
81, // 323
92, // 324
93, // 325
81, // 326
93, // 327
82, // 328
94, // 329
83, // 330
84, // 331
95, // 332
96, // 333
84, // 334
96, // 335
85, // 336
94, // 337
97, // 338
106, // 339
350, // 340
86, // 341
87, // 342
89, // 343
98, // 344
99, // 345
101, // 346
349, // 347
87, // 348
88, // 349
99, // 350
100, // 351
354, // 352
88, // 353
89, // 354
100, // 355
101, // 356
349, // 357
354, // 358
89, // 359
101, // 360
349, // 361
90, // 362
91, // 363
93, // 364
102, // 365
103, // 366
105, // 367
351, // 368
91, // 369
92, // 370
103, // 371
104, // 372
352, // 373
92, // 374
93, // 375
104, // 376
105, // 377
351, // 378
352, // 379
93, // 380
105, // 381
351, // 382
94, // 383
106, // 384
350, // 385
95, // 386
96, // 387
107, // 388
108, // 389
353, // 390
96, // 391
108, // 392
353, // 393
97, // 394
106, // 395
109, // 396
118, // 397
98, // 398
99, // 399
101, // 400
110, // 401
111, // 402
113, // 403
99, // 404
100, // 405
111, // 406
112, // 407
100, // 408
101, // 409
112, // 410
113, // 411
101, // 412
113, // 413
102, // 414
103, // 415
105, // 416
114, // 417
115, // 418
117, // 419
103, // 420
104, // 421
115, // 422
116, // 423
104, // 424
105, // 425
116, // 426
117, // 427
105, // 428
117, // 429
106, // 430
118, // 431
107, // 432
108, // 433
119, // 434
120, // 435
108, // 436
120, // 437
109, // 438
118, // 439
121, // 440
130, // 441
110, // 442
111, // 443
113, // 444
122, // 445
123, // 446
125, // 447
111, // 448
112, // 449
123, // 450
124, // 451
112, // 452
113, // 453
124, // 454
125, // 455
113, // 456
125, // 457
114, // 458
115, // 459
117, // 460
126, // 461
127, // 462
129, // 463
115, // 464
116, // 465
127, // 466
128, // 467
116, // 468
117, // 469
128, // 470
129, // 471
117, // 472
129, // 473
118, // 474
130, // 475
119, // 476
120, // 477
131, // 478
132, // 479
120, // 480
132, // 481
121, // 482
130, // 483
133, // 484
142, // 485
122, // 486
123, // 487
125, // 488
134, // 489
135, // 490
137, // 491
123, // 492
124, // 493
135, // 494
136, // 495
124, // 496
125, // 497
136, // 498
137, // 499
125, // 500
137, // 501
126, // 502
127, // 503
129, // 504
138, // 505
139, // 506
141, // 507
127, // 508
128, // 509
139, // 510
140, // 511
128, // 512
129, // 513
140, // 514
141, // 515
129, // 516
141, // 517
130, // 518
142, // 519
131, // 520
132, // 521
143, // 522
144, // 523
132, // 524
144, // 525
133, // 526
142, // 527
145, // 528
154, // 529
326, // 530
134, // 531
135, // 532
137, // 533
146, // 534
147, // 535
149, // 536
325, // 537
135, // 538
136, // 539
147, // 540
148, // 541
330, // 542
136, // 543
137, // 544
148, // 545
149, // 546
325, // 547
330, // 548
137, // 549
149, // 550
325, // 551
138, // 552
139, // 553
141, // 554
150, // 555
151, // 556
153, // 557
327, // 558
139, // 559
140, // 560
151, // 561
152, // 562
328, // 563
140, // 564
141, // 565
152, // 566
153, // 567
327, // 568
328, // 569
141, // 570
153, // 571
327, // 572
142, // 573
154, // 574
326, // 575
143, // 576
144, // 577
155, // 578
156, // 579
329, // 580
144, // 581
156, // 582
329, // 583
145, // 584
154, // 585
157, // 586
166, // 587
146, // 588
147, // 589
149, // 590
158, // 591
159, // 592
161, // 593
147, // 594
148, // 595
159, // 596
160, // 597
148, // 598
149, // 599
160, // 600
161, // 601
149, // 602
161, // 603
150, // 604
151, // 605
153, // 606
162, // 607
163, // 608
165, // 609
151, // 610
152, // 611
163, // 612
164, // 613
152, // 614
153, // 615
164, // 616
165, // 617
153, // 618
165, // 619
154, // 620
166, // 621
155, // 622
156, // 623
167, // 624
168, // 625
156, // 626
168, // 627
157, // 628
166, // 629
169, // 630
178, // 631
158, // 632
159, // 633
161, // 634
170, // 635
171, // 636
173, // 637
159, // 638
160, // 639
171, // 640
172, // 641
160, // 642
161, // 643
172, // 644
173, // 645
161, // 646
173, // 647
162, // 648
163, // 649
165, // 650
174, // 651
175, // 652
177, // 653
163, // 654
164, // 655
175, // 656
176, // 657
164, // 658
165, // 659
176, // 660
177, // 661
165, // 662
177, // 663
166, // 664
178, // 665
167, // 666
168, // 667
179, // 668
180, // 669
168, // 670
180, // 671
169, // 672
178, // 673
181, // 674
190, // 675
170, // 676
171, // 677
173, // 678
182, // 679
183, // 680
185, // 681
171, // 682
172, // 683
183, // 684
184, // 685
172, // 686
173, // 687
184, // 688
185, // 689
173, // 690
185, // 691
174, // 692
175, // 693
177, // 694
186, // 695
187, // 696
189, // 697
175, // 698
176, // 699
187, // 700
188, // 701
176, // 702
177, // 703
188, // 704
189, // 705
177, // 706
189, // 707
178, // 708
190, // 709
179, // 710
180, // 711
191, // 712
192, // 713
180, // 714
192, // 715
181, // 716
190, // 717
193, // 718
202, // 719
182, // 720
183, // 721
185, // 722
194, // 723
195, // 724
197, // 725
183, // 726
184, // 727
195, // 728
196, // 729
184, // 730
185, // 731
196, // 732
197, // 733
185, // 734
197, // 735
186, // 736
187, // 737
189, // 738
198, // 739
199, // 740
201, // 741
187, // 742
188, // 743
199, // 744
200, // 745
188, // 746
189, // 747
200, // 748
201, // 749
189, // 750
201, // 751
190, // 752
202, // 753
191, // 754
192, // 755
203, // 756
204, // 757
192, // 758
204, // 759
193, // 760
202, // 761
205, // 762
214, // 763
194, // 764
195, // 765
197, // 766
206, // 767
207, // 768
209, // 769
195, // 770
196, // 771
207, // 772
208, // 773
196, // 774
197, // 775
208, // 776
209, // 777
197, // 778
209, // 779
198, // 780
199, // 781
201, // 782
210, // 783
211, // 784
213, // 785
199, // 786
200, // 787
211, // 788
212, // 789
200, // 790
201, // 791
212, // 792
213, // 793
201, // 794
213, // 795
202, // 796
214, // 797
203, // 798
204, // 799
215, // 800
216, // 801
204, // 802
216, // 803
205, // 804
214, // 805
217, // 806
226, // 807
206, // 808
207, // 809
209, // 810
218, // 811
219, // 812
221, // 813
207, // 814
208, // 815
219, // 816
220, // 817
208, // 818
209, // 819
220, // 820
221, // 821
209, // 822
221, // 823
210, // 824
211, // 825
213, // 826
222, // 827
223, // 828
225, // 829
211, // 830
212, // 831
223, // 832
224, // 833
212, // 834
213, // 835
224, // 836
225, // 837
213, // 838
225, // 839
214, // 840
226, // 841
215, // 842
216, // 843
227, // 844
228, // 845
216, // 846
228, // 847
217, // 848
226, // 849
229, // 850
238, // 851
218, // 852
219, // 853
221, // 854
230, // 855
231, // 856
233, // 857
219, // 858
220, // 859
231, // 860
232, // 861
220, // 862
221, // 863
232, // 864
233, // 865
221, // 866
233, // 867
222, // 868
223, // 869
225, // 870
234, // 871
235, // 872
237, // 873
223, // 874
224, // 875
235, // 876
236, // 877
224, // 878
225, // 879
236, // 880
237, // 881
225, // 882
237, // 883
226, // 884
238, // 885
227, // 886
228, // 887
239, // 888
240, // 889
228, // 890
240, // 891
229, // 892
238, // 893
241, // 894
250, // 895
230, // 896
231, // 897
233, // 898
242, // 899
243, // 900
245, // 901
231, // 902
232, // 903
243, // 904
244, // 905
232, // 906
233, // 907
244, // 908
245, // 909
233, // 910
245, // 911
234, // 912
235, // 913
237, // 914
246, // 915
247, // 916
249, // 917
235, // 918
236, // 919
247, // 920
248, // 921
236, // 922
237, // 923
248, // 924
249, // 925
237, // 926
249, // 927
238, // 928
250, // 929
239, // 930
240, // 931
251, // 932
252, // 933
240, // 934
252, // 935
241, // 936
250, // 937
253, // 938
262, // 939
242, // 940
243, // 941
245, // 942
254, // 943
255, // 944
257, // 945
243, // 946
244, // 947
255, // 948
256, // 949
244, // 950
245, // 951
256, // 952
257, // 953
245, // 954
257, // 955
246, // 956
247, // 957
249, // 958
258, // 959
259, // 960
261, // 961
247, // 962
248, // 963
259, // 964
260, // 965
248, // 966
249, // 967
260, // 968
261, // 969
249, // 970
261, // 971
250, // 972
262, // 973
251, // 974
252, // 975
263, // 976
264, // 977
252, // 978
264, // 979
253, // 980
262, // 981
265, // 982
274, // 983
254, // 984
255, // 985
257, // 986
266, // 987
267, // 988
269, // 989
255, // 990
256, // 991
267, // 992
268, // 993
256, // 994
257, // 995
268, // 996
269, // 997
257, // 998
269, // 999
258, // 1000
259, // 1001
261, // 1002
270, // 1003
271, // 1004
273, // 1005
259, // 1006
260, // 1007
271, // 1008
272, // 1009
260, // 1010
261, // 1011
272, // 1012
273, // 1013
261, // 1014
273, // 1015
262, // 1016
274, // 1017
263, // 1018
264, // 1019
275, // 1020
276, // 1021
264, // 1022
276, // 1023
265, // 1024
274, // 1025
277, // 1026
286, // 1027
266, // 1028
267, // 1029
269, // 1030
278, // 1031
279, // 1032
281, // 1033
267, // 1034
268, // 1035
279, // 1036
280, // 1037
268, // 1038
269, // 1039
280, // 1040
281, // 1041
269, // 1042
281, // 1043
270, // 1044
271, // 1045
273, // 1046
282, // 1047
283, // 1048
285, // 1049
271, // 1050
272, // 1051
283, // 1052
284, // 1053
272, // 1054
273, // 1055
284, // 1056
285, // 1057
273, // 1058
285, // 1059
274, // 1060
286, // 1061
275, // 1062
276, // 1063
287, // 1064
288, // 1065
276, // 1066
288, // 1067
277, // 1068
286, // 1069
289, // 1070
298, // 1071
332, // 1072
278, // 1073
279, // 1074
281, // 1075
290, // 1076
291, // 1077
293, // 1078
331, // 1079
279, // 1080
280, // 1081
291, // 1082
292, // 1083
336, // 1084
280, // 1085
281, // 1086
292, // 1087
293, // 1088
331, // 1089
336, // 1090
281, // 1091
293, // 1092
331, // 1093
282, // 1094
283, // 1095
285, // 1096
294, // 1097
295, // 1098
297, // 1099
333, // 1100
283, // 1101
284, // 1102
295, // 1103
296, // 1104
334, // 1105
284, // 1106
285, // 1107
296, // 1108
297, // 1109
333, // 1110
334, // 1111
285, // 1112
297, // 1113
333, // 1114
286, // 1115
298, // 1116
332, // 1117
287, // 1118
288, // 1119
299, // 1120
300, // 1121
335, // 1122
288, // 1123
300, // 1124
335, // 1125
289, // 1126
298, // 1127
301, // 1128
310, // 1129
290, // 1130
291, // 1131
293, // 1132
302, // 1133
303, // 1134
305, // 1135
291, // 1136
292, // 1137
303, // 1138
304, // 1139
292, // 1140
293, // 1141
304, // 1142
305, // 1143
293, // 1144
305, // 1145
294, // 1146
295, // 1147
297, // 1148
306, // 1149
307, // 1150
309, // 1151
295, // 1152
296, // 1153
307, // 1154
308, // 1155
296, // 1156
297, // 1157
308, // 1158
309, // 1159
297, // 1160
309, // 1161
298, // 1162
310, // 1163
299, // 1164
300, // 1165
311, // 1166
312, // 1167
300, // 1168
312, // 1169
301, // 1170
310, // 1171
313, // 1172
322, // 1173
302, // 1174
303, // 1175
305, // 1176
314, // 1177
315, // 1178
317, // 1179
303, // 1180
304, // 1181
315, // 1182
316, // 1183
304, // 1184
305, // 1185
316, // 1186
317, // 1187
305, // 1188
317, // 1189
306, // 1190
307, // 1191
309, // 1192
318, // 1193
319, // 1194
321, // 1195
307, // 1196
308, // 1197
319, // 1198
320, // 1199
308, // 1200
309, // 1201
320, // 1202
321, // 1203
309, // 1204
321, // 1205
310, // 1206
322, // 1207
311, // 1208
312, // 1209
323, // 1210
324, // 1211
312, // 1212
324, // 1213
146, // 1214
326, // 1215
150, // 1216
328, // 1217
329, // 1218
330, // 1219
290, // 1220
289, // 1221
294, // 1222
334, // 1223
335, // 1224
336, // 1225
337, // 1226
61, // 1227
338, // 1228
499, // 1229
339, // 1230
340, // 1231
341, // 1232
342, // 1233
14, // 1234
464, // 1235
344, // 1236
18, // 1237
468, // 1238
346, // 1239
347, // 1240
348, // 1241
98, // 1242
536, // 1243
350, // 1244
102, // 1245
540, // 1246
352, // 1247
353, // 1248
354, // 1249
317, // 1250
322, // 1251
321, // 1252
320, // 1253
324, // 1254
316, // 1255
325, // 1256
331, // 1257
337, // 1258
343, // 1259
349, // 1260
326, // 1261
332, // 1262
338, // 1263
344, // 1264
350, // 1265
327, // 1266
333, // 1267
339, // 1268
345, // 1269
351, // 1270
327, // 1271
328, // 1272
333, // 1273
334, // 1274
339, // 1275
340, // 1276
345, // 1277
346, // 1278
351, // 1279
352, // 1280
11, // 1281
325, // 1282
330, // 1283
331, // 1284
336, // 1285
337, // 1286
342, // 1287
343, // 1288
348, // 1289
349, // 1290
354, // 1291
355, // 1292
364, // 1293
367, // 1294
376, // 1295
356, // 1296
357, // 1297
359, // 1298
368, // 1299
369, // 1300
371, // 1301
357, // 1302
358, // 1303
369, // 1304
370, // 1305
358, // 1306
359, // 1307
370, // 1308
371, // 1309
359, // 1310
371, // 1311
360, // 1312
361, // 1313
363, // 1314
372, // 1315
373, // 1316
375, // 1317
361, // 1318
362, // 1319
373, // 1320
374, // 1321
362, // 1322
363, // 1323
374, // 1324
375, // 1325
363, // 1326
375, // 1327
364, // 1328
376, // 1329
365, // 1330
366, // 1331
377, // 1332
378, // 1333
366, // 1334
378, // 1335
367, // 1336
376, // 1337
379, // 1338
388, // 1339
368, // 1340
369, // 1341
371, // 1342
380, // 1343
381, // 1344
383, // 1345
369, // 1346
370, // 1347
381, // 1348
382, // 1349
370, // 1350
371, // 1351
382, // 1352
383, // 1353
371, // 1354
383, // 1355
372, // 1356
373, // 1357
375, // 1358
384, // 1359
385, // 1360
387, // 1361
373, // 1362
374, // 1363
385, // 1364
386, // 1365
374, // 1366
375, // 1367
386, // 1368
387, // 1369
375, // 1370
387, // 1371
376, // 1372
388, // 1373
377, // 1374
378, // 1375
389, // 1376
390, // 1377
378, // 1378
390, // 1379
379, // 1380
388, // 1381
391, // 1382
400, // 1383
380, // 1384
381, // 1385
383, // 1386
392, // 1387
393, // 1388
395, // 1389
381, // 1390
382, // 1391
393, // 1392
394, // 1393
382, // 1394
383, // 1395
394, // 1396
395, // 1397
383, // 1398
395, // 1399
384, // 1400
385, // 1401
387, // 1402
396, // 1403
397, // 1404
399, // 1405
385, // 1406
386, // 1407
397, // 1408
398, // 1409
386, // 1410
387, // 1411
398, // 1412
399, // 1413
387, // 1414
399, // 1415
388, // 1416
400, // 1417
389, // 1418
390, // 1419
401, // 1420
402, // 1421
390, // 1422
402, // 1423
391, // 1424
400, // 1425
403, // 1426
412, // 1427
392, // 1428
393, // 1429
395, // 1430
404, // 1431
405, // 1432
407, // 1433
393, // 1434
394, // 1435
405, // 1436
406, // 1437
394, // 1438
395, // 1439
406, // 1440
407, // 1441
395, // 1442
407, // 1443
396, // 1444
397, // 1445
399, // 1446
408, // 1447
409, // 1448
411, // 1449
397, // 1450
398, // 1451
409, // 1452
410, // 1453
398, // 1454
399, // 1455
410, // 1456
411, // 1457
399, // 1458
411, // 1459
400, // 1460
412, // 1461
401, // 1462
402, // 1463
413, // 1464
414, // 1465
402, // 1466
414, // 1467
403, // 1468
412, // 1469
415, // 1470
424, // 1471
404, // 1472
405, // 1473
407, // 1474
416, // 1475
417, // 1476
419, // 1477
405, // 1478
406, // 1479
417, // 1480
418, // 1481
406, // 1482
407, // 1483
418, // 1484
419, // 1485
407, // 1486
419, // 1487
408, // 1488
409, // 1489
411, // 1490
420, // 1491
421, // 1492
423, // 1493
409, // 1494
410, // 1495
421, // 1496
422, // 1497
410, // 1498
411, // 1499
422, // 1500
423, // 1501
411, // 1502
423, // 1503
412, // 1504
424, // 1505
413, // 1506
414, // 1507
425, // 1508
426, // 1509
414, // 1510
426, // 1511
415, // 1512
424, // 1513
427, // 1514
436, // 1515
416, // 1516
417, // 1517
419, // 1518
428, // 1519
429, // 1520
431, // 1521
417, // 1522
418, // 1523
429, // 1524
430, // 1525
418, // 1526
419, // 1527
430, // 1528
431, // 1529
419, // 1530
431, // 1531
420, // 1532
421, // 1533
423, // 1534
432, // 1535
433, // 1536
435, // 1537
421, // 1538
422, // 1539
433, // 1540
434, // 1541
422, // 1542
423, // 1543
434, // 1544
435, // 1545
423, // 1546
435, // 1547
424, // 1548
436, // 1549
425, // 1550
426, // 1551
437, // 1552
438, // 1553
426, // 1554
438, // 1555
427, // 1556
436, // 1557
439, // 1558
448, // 1559
428, // 1560
429, // 1561
431, // 1562
440, // 1563
441, // 1564
443, // 1565
429, // 1566
430, // 1567
441, // 1568
442, // 1569
430, // 1570
431, // 1571
442, // 1572
443, // 1573
431, // 1574
443, // 1575
432, // 1576
433, // 1577
435, // 1578
444, // 1579
445, // 1580
447, // 1581
433, // 1582
434, // 1583
445, // 1584
446, // 1585
434, // 1586
435, // 1587
446, // 1588
447, // 1589
435, // 1590
447, // 1591
436, // 1592
448, // 1593
437, // 1594
438, // 1595
449, // 1596
450, // 1597
438, // 1598
450, // 1599
439, // 1600
448, // 1601
451, // 1602
460, // 1603
440, // 1604
441, // 1605
443, // 1606
452, // 1607
453, // 1608
455, // 1609
441, // 1610
442, // 1611
453, // 1612
454, // 1613
442, // 1614
443, // 1615
454, // 1616
455, // 1617
443, // 1618
455, // 1619
444, // 1620
445, // 1621
447, // 1622
456, // 1623
457, // 1624
459, // 1625
445, // 1626
446, // 1627
457, // 1628
458, // 1629
446, // 1630
447, // 1631
458, // 1632
459, // 1633
447, // 1634
459, // 1635
448, // 1636
460, // 1637
449, // 1638
450, // 1639
461, // 1640
462, // 1641
450, // 1642
462, // 1643
451, // 1644
460, // 1645
463, // 1646
472, // 1647
566, // 1648
452, // 1649
453, // 1650
455, // 1651
464, // 1652
465, // 1653
467, // 1654
565, // 1655
453, // 1656
454, // 1657
465, // 1658
466, // 1659
570, // 1660
454, // 1661
455, // 1662
466, // 1663
467, // 1664
565, // 1665
570, // 1666
455, // 1667
467, // 1668
565, // 1669
456, // 1670
457, // 1671
459, // 1672
468, // 1673
469, // 1674
471, // 1675
567, // 1676
457, // 1677
458, // 1678
469, // 1679
470, // 1680
568, // 1681
458, // 1682
459, // 1683
470, // 1684
471, // 1685
567, // 1686
568, // 1687
459, // 1688
471, // 1689
567, // 1690
460, // 1691
472, // 1692
566, // 1693
461, // 1694
462, // 1695
473, // 1696
474, // 1697
569, // 1698
462, // 1699
474, // 1700
569, // 1701
463, // 1702
472, // 1703
475, // 1704
484, // 1705
464, // 1706
465, // 1707
467, // 1708
476, // 1709
477, // 1710
479, // 1711
465, // 1712
466, // 1713
477, // 1714
478, // 1715
466, // 1716
467, // 1717
478, // 1718
479, // 1719
467, // 1720
479, // 1721
468, // 1722
469, // 1723
471, // 1724
480, // 1725
481, // 1726
483, // 1727
469, // 1728
470, // 1729
481, // 1730
482, // 1731
470, // 1732
471, // 1733
482, // 1734
483, // 1735
471, // 1736
483, // 1737
472, // 1738
484, // 1739
473, // 1740
474, // 1741
485, // 1742
486, // 1743
474, // 1744
486, // 1745
475, // 1746
484, // 1747
487, // 1748
496, // 1749
476, // 1750
477, // 1751
479, // 1752
488, // 1753
489, // 1754
491, // 1755
477, // 1756
478, // 1757
489, // 1758
490, // 1759
478, // 1760
479, // 1761
490, // 1762
491, // 1763
479, // 1764
491, // 1765
480, // 1766
481, // 1767
483, // 1768
492, // 1769
493, // 1770
495, // 1771
481, // 1772
482, // 1773
493, // 1774
494, // 1775
482, // 1776
483, // 1777
494, // 1778
495, // 1779
483, // 1780
495, // 1781
484, // 1782
496, // 1783
485, // 1784
486, // 1785
497, // 1786
498, // 1787
486, // 1788
498, // 1789
487, // 1790
496, // 1791
499, // 1792
508, // 1793
560, // 1794
488, // 1795
489, // 1796
491, // 1797
500, // 1798
501, // 1799
503, // 1800
559, // 1801
489, // 1802
490, // 1803
501, // 1804
502, // 1805
564, // 1806
490, // 1807
491, // 1808
502, // 1809
503, // 1810
559, // 1811
564, // 1812
491, // 1813
503, // 1814
559, // 1815
492, // 1816
493, // 1817
495, // 1818
504, // 1819
505, // 1820
507, // 1821
561, // 1822
493, // 1823
494, // 1824
505, // 1825
506, // 1826
562, // 1827
494, // 1828
495, // 1829
506, // 1830
507, // 1831
561, // 1832
562, // 1833
495, // 1834
507, // 1835
561, // 1836
496, // 1837
508, // 1838
560, // 1839
497, // 1840
498, // 1841
509, // 1842
510, // 1843
563, // 1844
498, // 1845
510, // 1846
563, // 1847
499, // 1848
508, // 1849
511, // 1850
520, // 1851
500, // 1852
501, // 1853
503, // 1854
512, // 1855
513, // 1856
515, // 1857
501, // 1858
502, // 1859
513, // 1860
514, // 1861
502, // 1862
503, // 1863
514, // 1864
515, // 1865
503, // 1866
515, // 1867
504, // 1868
505, // 1869
507, // 1870
516, // 1871
517, // 1872
519, // 1873
505, // 1874
506, // 1875
517, // 1876
518, // 1877
506, // 1878
507, // 1879
518, // 1880
519, // 1881
507, // 1882
519, // 1883
508, // 1884
520, // 1885
509, // 1886
510, // 1887
521, // 1888
522, // 1889
510, // 1890
522, // 1891
511, // 1892
520, // 1893
523, // 1894
532, // 1895
512, // 1896
513, // 1897
515, // 1898
524, // 1899
525, // 1900
527, // 1901
513, // 1902
514, // 1903
525, // 1904
526, // 1905
514, // 1906
515, // 1907
526, // 1908
527, // 1909
515, // 1910
527, // 1911
516, // 1912
517, // 1913
519, // 1914
528, // 1915
529, // 1916
531, // 1917
517, // 1918
518, // 1919
529, // 1920
530, // 1921
518, // 1922
519, // 1923
530, // 1924
531, // 1925
519, // 1926
531, // 1927
520, // 1928
532, // 1929
521, // 1930
522, // 1931
533, // 1932
534, // 1933
522, // 1934
534, // 1935
523, // 1936
532, // 1937
535, // 1938
544, // 1939
572, // 1940
524, // 1941
525, // 1942
527, // 1943
536, // 1944
537, // 1945
539, // 1946
571, // 1947
525, // 1948
526, // 1949
537, // 1950
538, // 1951
576, // 1952
526, // 1953
527, // 1954
538, // 1955
539, // 1956
571, // 1957
576, // 1958
527, // 1959
539, // 1960
571, // 1961
528, // 1962
529, // 1963
531, // 1964
540, // 1965
541, // 1966
543, // 1967
573, // 1968
529, // 1969
530, // 1970
541, // 1971
542, // 1972
574, // 1973
530, // 1974
531, // 1975
542, // 1976
543, // 1977
573, // 1978
574, // 1979
531, // 1980
543, // 1981
573, // 1982
532, // 1983
544, // 1984
572, // 1985
533, // 1986
534, // 1987
545, // 1988
546, // 1989
575, // 1990
534, // 1991
546, // 1992
575, // 1993
535, // 1994
544, // 1995
547, // 1996
556, // 1997
536, // 1998
537, // 1999
539, // 2000
548, // 2001
549, // 2002
551, // 2003
537, // 2004
538, // 2005
549, // 2006
550, // 2007
538, // 2008
539, // 2009
550, // 2010
551, // 2011
539, // 2012
551, // 2013
540, // 2014
541, // 2015
543, // 2016
552, // 2017
553, // 2018
555, // 2019
541, // 2020
542, // 2021
553, // 2022
554, // 2023
542, // 2024
543, // 2025
554, // 2026
555, // 2027
543, // 2028
555, // 2029
544, // 2030
556, // 2031
545, // 2032
546, // 2033
557, // 2034
558, // 2035
546, // 2036
558, // 2037
559, // 2038
61, // 2039
499, // 2040
560, // 2041
561, // 2042
562, // 2043
563, // 2044
564, // 2045
343, // 2046
565, // 2047
566, // 2048
345, // 2049
567, // 2050
568, // 2051
569, // 2052
570, // 2053
349, // 2054
571, // 2055
572, // 2056
351, // 2057
573, // 2058
574, // 2059
575, // 2060
576, // 2061
551, // 2062
556, // 2063
555, // 2064
554, // 2065
558, // 2066
550, // 2067
559, // 2068
565, // 2069
571, // 2070
355, // 2071
561, // 2072
567, // 2073
573, // 2074
561, // 2075
562, // 2076
567, // 2077
568, // 2078
573, // 2079
574, // 2080
365, // 2081
559, // 2082
564, // 2083
565, // 2084
570, // 2085
571, // 2086
576 // 2087
};
int ia[577] = { 1, 6, 13, 18, 24, 27, 34, 39, 45, 48, 51, 56, 59, 63, 69, 73, 77, 79, 85, 89,
93, 95, 97, 101, 103, 107, 113, 117, 121, 123, 129, 133, 137, 139, 141, 145, 147, 151, 157,
161, 165, 167, 173, 177, 181, 183, 185, 189, 191, 196, 203, 208, 214, 217, 224, 229, 235,
238, 241, 246, 249, 253, 259, 263, 267, 269, 275, 279, 283, 285, 287, 291, 293, 297, 303,
307, 311, 313, 319, 323, 327, 329, 331, 335, 337, 342, 349, 354, 360, 363, 370, 375, 381,
384, 387, 392, 395, 399, 405, 409, 413, 415, 421, 425, 429, 431, 433, 437, 439, 443, 449,
453, 457, 459, 465, 469, 473, 475, 477, 481, 483, 487, 493, 497, 501, 503, 509, 513, 517,
519, 521, 525, 527, 532, 539, 544, 550, 553, 560, 565, 571, 574, 577, 582, 585, 589, 595,
599, 603, 605, 611, 615, 619, 621, 623, 627, 629, 633, 639, 643, 647, 649, 655, 659, 663,
665, 667, 671, 673, 677, 683, 687, 691, 693, 699, 703, 707, 709, 711, 715, 717, 721, 727,
731, 735, 737, 743, 747, 751, 753, 755, 759, 761, 765, 771, 775, 779, 781, 787, 791, 795,
797, 799, 803, 805, 809, 815, 819, 823, 825, 831, 835, 839, 841, 843, 847, 849, 853, 859,
863, 867, 869, 875, 879, 883, 885, 887, 891, 893, 897, 903, 907, 911, 913, 919, 923, 927,
929, 931, 935, 937, 941, 947, 951, 955, 957, 963, 967, 971, 973, 975, 979, 981, 985, 991,
995, 999, 1001, 1007, 1011, 1015, 1017, 1019, 1023, 1025, 1029, 1035, 1039, 1043, 1045,
1051, 1055, 1059, 1061, 1063, 1067, 1069, 1074, 1081, 1086, 1092, 1095, 1102, 1107, 1113,
1116, 1119, 1124, 1127, 1131, 1137, 1141, 1145, 1147, 1153, 1157, 1161, 1163, 1165, 1169,
1171, 1175, 1181, 1185, 1189, 1191, 1197, 1201, 1205, 1207, 1209, 1213, 1215, 1216, 1217,
1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1231, 1232, 1233, 1234,
1235, 1237, 1238, 1240, 1241, 1242, 1243, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253,
1254, 1255, 1256, 1257, 1262, 1267, 1272, 1282, 1283, 1293, 1297, 1303, 1307, 1311, 1313,
1319, 1323, 1327, 1329, 1331, 1335, 1337, 1341, 1347, 1351, 1355, 1357, 1363, 1367, 1371,
1373, 1375, 1379, 1381, 1385, 1391, 1395, 1399, 1401, 1407, 1411, 1415, 1417, 1419, 1423,
1425, 1429, 1435, 1439, 1443, 1445, 1451, 1455, 1459, 1461, 1463, 1467, 1469, 1473, 1479,
1483, 1487, 1489, 1495, 1499, 1503, 1505, 1507, 1511, 1513, 1517, 1523, 1527, 1531, 1533,
1539, 1543, 1547, 1549, 1551, 1555, 1557, 1561, 1567, 1571, 1575, 1577, 1583, 1587, 1591,
1593, 1595, 1599, 1601, 1605, 1611, 1615, 1619, 1621, 1627, 1631, 1635, 1637, 1639, 1643,
1645, 1650, 1657, 1662, 1668, 1671, 1678, 1683, 1689, 1692, 1695, 1700, 1703, 1707, 1713,
1717, 1721, 1723, 1729, 1733, 1737, 1739, 1741, 1745, 1747, 1751, 1757, 1761, 1765, 1767,
1773, 1777, 1781, 1783, 1785, 1789, 1791, 1796, 1803, 1808, 1814, 1817, 1824, 1829, 1835,
1838, 1841, 1846, 1849, 1853, 1859, 1863, 1867, 1869, 1875, 1879, 1883, 1885, 1887, 1891,
1893, 1897, 1903, 1907, 1911, 1913, 1919, 1923, 1927, 1929, 1931, 1935, 1937, 1942, 1949,
1954, 1960, 1963, 1970, 1975, 1981, 1984, 1987, 1992, 1995, 1999, 2005, 2009, 2013, 2015,
2021, 2025, 2029, 2031, 2033, 2037, 2039, 2040, 2043, 2044, 2045, 2046, 2047, 2049, 2050,
2052, 2053, 2054, 2055, 2057, 2058, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068,
2069, 2072, 2073, 2076, 2082, 2083, 2089 };
// the right hand side
double *rhs = new double[n]();
rhs[8] = 6.4340259880000004e-005;
rhs[20] = 1.1489332120000001e-005;
rhs[32] = 7.5829592000000001e-005;
rhs[44] = 2.5276530670000002e-005;
rhs[56] = 1.6085064970000001e-005;
rhs[68] = 1.6085064970000001e-005;
rhs[80] = 1.8382931390000001e-005;
rhs[92] = 6.204239346e-005;
rhs[104] = 1.3787198550000001e-005;
rhs[116] = 7.5829592000000001e-005;
rhs[128] = 7.5829592000000001e-005;
rhs[140] = 7.5829592000000001e-005;
rhs[152] = 7.9084902769999994e-005;
rhs[164] = 7.9084902769999994e-005;
rhs[176] = 7.9084902769999994e-005;
rhs[188] = 7.9084902769999994e-005;
rhs[200] = 7.9084902769999994e-005;
rhs[212] = 7.9084902769999994e-005;
rhs[224] = 7.9084902769999994e-005;
rhs[236] = 7.9084902769999994e-005;
rhs[248] = 7.9084902769999994e-005;
rhs[260] = 7.9084902769999994e-005;
rhs[272] = 7.9084902769999994e-005;
rhs[284] = 7.9084902769999994e-005;
rhs[296] = 6.4340259880000004e-005;
rhs[308] = 6.4340259880000004e-005;
rhs[325] = -66666666670000000;
rhs[350] = 0.001608506497;
rhs[351] = 0.00080425324849999998;
rhs[362] = 0.00015353925650000001;
rhs[374] = 0.00015353925650000001;
rhs[386] = 0.00015353925650000001;
rhs[398] = 0.00015353925650000001;
rhs[410] = 0.00015353925650000001;
rhs[422] = 0.00015353925650000001;
rhs[434] = 0.00015353925650000001;
rhs[446] = 0.00015353925650000001;
rhs[458] = 1.0235950440000001e-005;
rhs[470] = 0.00014330330610000001;
rhs[482] = 5.3738739789999997e-005;
rhs[494] = 2.8148863700000001e-005;
rhs[506] = 2.8148863700000001e-005;
rhs[518] = 4.350278935e-005;
rhs[530] = 9.7241529140000004e-005;
rhs[542] = 5.6297727400000002e-005;
rhs[547] = 66666666670000000;
rhs[571] = 4.5997148169999997;
rhs[572] = 0.001688931822;
rhs[573] = 0.00050667954659999997;
MKL_INT nrhs = 1;
MKL_INT mtype = 11; /* Real unsymmetric matrix */
/* Internal solver memory pointer pt, */
/* 32-bit: int pt[64]; 64-bit: long int pt[64] */
/* or void *pt[64] should be OK on both architectures */
void *pt[64];
/* Pardiso control parameters. */
MKL_INT iparm[64];
MKL_INT maxfct, mnum, phase, error, msglvl;
/* Auxiliary variables. */
MKL_INT i;
double ddum; /* Double dummy */
MKL_INT idum; /* Integer dummy. */
/* -------------------------------------------------------------------- */
/* .. Setup Pardiso control parameters. */
/* -------------------------------------------------------------------- */
for (i = 0; i < 64; i++) {
iparm[i] = 0;
}
iparm[0] = 1; /* No solver default */
iparm[1] = 2; /* Fill-in reordering from METIS */
/* Numbers of processors, value of OMP_NUM_THREADS */
iparm[2] = 1;
iparm[3] = 0; /* No iterative-direct algorithm */
iparm[4] = 0; /* No user fill-in reducing permutation */
iparm[5] = 0; /* Write solution into x :(0 writes on x, 1 overwrites rhs) */
iparm[6] = 0; /* Not in use */
iparm[7] = 0; /* Max numbers of iterative refinement steps */
iparm[8] = 0; /* Not in use */
iparm[9] = 7; /* Perturb the pivot elements with 1E-13 */
iparm[10] = 1; /* Use nonsymmetric permutation and scaling MPS */
iparm[11] = 0; /* Conjugate transposed/transpose solve */
iparm[12] = 1; /* Maximum weighted matching algorithm is switched-on (default for non-symmetric) */
iparm[13] = 0; /* Output: Number of perturbed pivots */
iparm[14] = 0; /* Not in use */
iparm[15] = 0; /* Not in use */
iparm[16] = 0; /* Not in use */
iparm[17] = -1; /* Output: Number of nonzeros in the factor LU */
iparm[18] = -1; /* Output: Mflops for LU factorization */
iparm[19] = 0; /* Output: Numbers of CG Iterations */
//iparm[34] = 1; /* Zero-based indexing (C-style, not Fortran-style) */
iparm[34] = 0; /* One-based indexing (Fortran-style) */
maxfct = 1; /* Maximum number of numerical factorizations. */
mnum = 1; /* Which factorization to use. */
msglvl = 1; /* Print statistical information in file */
error = 0; /* Initialize error flag */
/* -------------------------------------------------------------------- */
/* .. Initialize the internal solver memory pointer. This is only */
/* necessary for the FIRST call of the PARDISO solver. */
/* -------------------------------------------------------------------- */
for (i = 0; i < 64; i++) {
pt[i] = 0;
}
/* -------------------------------------------------------------------- */
/* .. Reordering and Symbolic Factorization. This step also allocates */
/* all memory that is necessary for the factorization. */
/* -------------------------------------------------------------------- */
phase = 11;
PARDISO(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, &idum, &nrhs, iparm, &msglvl, &ddum, &ddum, &error);
/* -------------------------------------------------------------------- */
/* .. Numerical factorization. */
/* -------------------------------------------------------------------- */
if (error == 0) {
phase = 22;
PARDISO(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, &idum, &nrhs, iparm, &msglvl, &ddum, &ddum, &error);
}
/* -------------------------------------------------------------------- */
/* .. Back substitution and iterative refinement. */
/* -------------------------------------------------------------------- */
double *xx = 0;
if (error == 0) {
phase = 33;
xx = new double[n * nrhs]();
PARDISO(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, &idum, &nrhs, iparm, &msglvl, rhs, xx, &error);
}
if (error == 0) {
// control the residual
bool numericalError = false;
for (int i = 0; i < n; i++) {
double r = -rhs[i];
int idx1 = ia[i] - 1;
int idx2 = ia[i + 1] - 1;
for (int idx = idx1; idx < idx2; idx++) {
int j = ja[idx] - 1;
double val = a[idx];
r += val * xx[j];
}
if (fabs(r) > 1e-3) {
numericalError = true;
break;
}
}
}
/* -------------------------------------------------------------------- */
/* .. Termination and release of memory. */
/* -------------------------------------------------------------------- */
phase = -1; /* Release internal memory. */
PARDISO(pt, &maxfct, &mnum, &mtype, &phase, &n, &ddum, ia, ja, &idum, &nrhs, iparm, &msglvl, &ddum, &ddum, &error);
delete[] rhs;
delete[] xx;
return 0;
}