commit e120708d8d1e5ed03df65f090bc9aa6081f2f5eb Author: Wu Han Date: Sat Dec 19 18:20:11 2020 +0000 Initial Commit diff --git a/.dockerignore.txt b/.dockerignore.txt new file mode 100644 index 0000000..e4c330e --- /dev/null +++ b/.dockerignore.txt @@ -0,0 +1,3 @@ +.vscode/ +*.json +*.txt \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebfe9e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +__pycache__/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..1157d4b --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ + +## Windows + +docker container run --rm -v /f/COM2014/template:/tsp python:3.8 /bin/bash -c "cd /tsp; ./run_all.sh" + +## Linux + +docker container run --rm -v $pwd:/tsp python:3.8 /bin/bash -c "cd /tsp; ./run_all.sh" diff --git a/data/hard/dsj1000.tsp b/data/hard/dsj1000.tsp new file mode 100644 index 0000000..41943c9 --- /dev/null +++ b/data/hard/dsj1000.tsp @@ -0,0 +1,1007 @@ +NAME : dsj1000 +COMMENT : Clustered random problem (Johnson) +TYPE : TSP +DIMENSION : 1000 +EDGE_WEIGHT_TYPE : CEIL_2D +NODE_COORD_SECTION + 1 981036 508139 + 2 534120 -42453 + 3 577878 -43732 + 4 532890 -96645 + 5 205322 215891 + 6 225923 197950 + 7 69842 667632 + 8 391965 1054524 + 9 310065 -10714 + 10 247401 754523 + 11 217951 218350 + 12 443097 54051 + 13 47342 630935 + 14 317515 713679 + 15 301816 1021772 + 16 950864 332234 + 17 276433 725657 + 18 921801 410349 + 19 555508 67090 + 20 409959 379409 + 21 968097 540588 + 22 40089 721860 + 23 702011 527050 + 24 726191 326684 + 25 990428 196959 + 26 381890 1003805 + 27 409527 1056227 + 28 675609 496310 + 29 971071 188552 + 30 932494 818793 + 31 936083 384774 + 32 835076 517826 + 33 120444 663239 + 34 648516 395774 + 35 402323 126508 + 36 307839 57178 + 37 397333 987582 + 38 314281 949219 + 39 105042 667806 + 40 1006036 468020 + 41 473356 311656 + 42 970499 257334 + 43 919732 458332 + 44 1033956 436231 + 45 934265 314744 + 46 239142 55856 + 47 720304 525053 + 48 480764 1058084 + 49 970063 396578 + 50 543132 334794 + 51 755587 491352 + 52 975653 745618 + 53 272842 58331 + 54 537123 165900 + 55 519742 129315 + 56 35924 947451 + 57 1064442 490895 + 58 489393 117496 + 59 631320 277543 + 60 261674 961159 + 61 534617 58056 + 62 691689 512673 + 63 182654 715277 + 64 945838 459916 + 65 627821 -838 + 66 1022110 283893 + 67 458725 143747 + 68 273755 -10984 + 69 293760 805861 + 70 466598 160110 + 71 906179 264649 + 72 712619 535794 + 73 240847 212619 + 74 993782 930601 + 75 322034 925655 + 76 954600 443790 + 77 995817 521789 + 78 267943 -26353 + 79 674673 332544 + 80 978160 748015 + 81 353466 1077036 + 82 371788 950118 + 83 779223 446051 + 84 525136 311620 + 85 1026402 609181 + 86 619524 -3330 + 87 644232 440581 + 88 198821 272321 + 89 280990 298348 + 90 475893 278934 + 91 291897 964145 + 92 476091 102274 + 93 34538 935151 + 94 985493 331624 + 95 25533 991767 + 96 1029016 248202 + 97 1041034 983317 + 98 922880 836157 + 99 754748 378532 + 100 193676 209011 + 101 269511 991097 + 102 608351 334935 + 103 221344 712137 + 104 940795 808773 + 105 35503 903653 + 106 194163 -8394 + 107 459581 335048 + 108 331638 1096815 + 109 538796 317093 + 110 505069 123029 + 111 706191 481820 + 112 974314 819460 + 113 335170 808699 + 114 774079 491470 + 115 727757 567077 + 116 469054 308841 + 117 982345 808600 + 118 635739 329982 + 119 559782 199329 + 120 865983 362039 + 121 566229 32945 + 122 945355 443621 + 123 343074 1043145 + 124 456407 356580 + 125 930994 863608 + 126 465030 165426 + 127 585931 271316 + 128 78142 896258 + 129 228762 757017 + 130 641748 302745 + 131 265500 967350 + 132 -18619 985581 + 133 437681 78375 + 134 657303 473671 + 135 207311 190512 + 136 1039916 606173 + 137 501654 342980 + 138 808872 431227 + 139 979141 290493 + 140 962582 325713 + 141 858477 607859 + 142 682062 285319 + 143 1018123 948910 + 144 555686 23786 + 145 895287 454109 + 146 373296 947968 + 147 -3116 976012 + 148 617542 115270 + 149 735268 492611 + 150 954724 617777 + 151 565140 26652 + 152 892688 563248 + 153 911677 841211 + 154 1079810 800957 + 155 778264 555164 + 156 419974 135778 + 157 511106 982963 + 158 682826 550673 + 159 534554 150784 + 160 254767 754810 + 161 340163 932553 + 162 508592 312824 + 163 579508 296187 + 164 961560 301327 + 165 493862 175735 + 166 501386 266573 + 167 463909 88190 + 168 338390 671668 + 169 965235 921962 + 170 710505 507680 + 171 367928 96586 + 172 1061692 290085 + 173 577618 26586 + 174 568778 276180 + 175 120097 667734 + 176 439840 92005 + 177 400650 986098 + 178 944072 769857 + 179 604630 304795 + 180 933823 485086 + 181 336792 47017 + 182 984258 658894 + 183 665887 341226 + 184 683701 313080 + 185 286989 15656 + 186 727013 436681 + 187 196457 232311 + 188 489533 904759 + 189 4838 638626 + 190 964356 620951 + 191 14019 975847 + 192 1011610 457653 + 193 1086560 348419 + 194 331881 905996 + 195 446028 299319 + 196 989521 565952 + 197 638645 343723 + 198 80472 761743 + 199 918795 371845 + 200 962133 405576 + 201 90002 730359 + 202 1066231 519460 + 203 314455 717336 + 204 698977 548286 + 205 990152 861550 + 206 420156 1035929 + 207 989198 480008 + 208 1024997 244075 + 209 675765 277962 + 210 1017295 284449 + 211 279452 70873 + 212 66701 635082 + 213 799479 462913 + 214 359551 959225 + 215 -21508 941499 + 216 179606 816588 + 217 680220 537678 + 218 109416 697746 + 219 1020461 867072 + 220 264488 51021 + 221 513200 119016 + 222 324952 979758 + 223 -23037 907079 + 224 425793 1004271 + 225 245076 731150 + 226 732401 490047 + 227 495432 290024 + 228 863374 857586 + 229 1000845 453198 + 230 5802 937511 + 231 322488 718762 + 232 297064 940211 + 233 78039 176061 + 234 310707 17474 + 235 431057 917939 + 236 1012985 782917 + 237 910332 348187 + 238 1036911 806200 + 239 604167 14088 + 240 1034615 373033 + 241 595552 265288 + 242 480446 146778 + 243 968706 830827 + 244 520827 159727 + 245 927178 891801 + 246 58502 918647 + 247 678857 289512 + 248 921982 539806 + 249 1066895 310233 + 250 982152 537701 + 251 553647 90137 + 252 546523 252022 + 253 970347 920258 + 254 542786 244277 + 255 1038062 501176 + 256 939444 649000 + 257 755201 486107 + 258 245208 17631 + 259 859154 515363 + 260 928209 569207 + 261 228581 290039 + 262 898350 777460 + 263 486326 321618 + 264 354152 925489 + 265 307482 958761 + 266 920851 668651 + 267 96606 655604 + 268 926699 806400 + 269 748417 485823 + 270 633607 235913 + 271 520306 120787 + 272 259081 144892 + 273 459850 274123 + 274 145018 681646 + 275 959481 742510 + 276 -31358 952162 + 277 331686 1086172 + 278 107344 669849 + 279 1038959 454099 + 280 880225 607529 + 281 669490 506855 + 282 548257 296059 + 283 326970 746737 + 284 429285 1062179 + 285 975519 448528 + 286 611622 341592 + 287 989119 800767 + 288 558132 154408 + 289 560470 -6998 + 290 934941 858189 + 291 850650 352948 + 292 954289 573916 + 293 474903 332139 + 294 472412 180641 + 295 271736 832653 + 296 918600 797087 + 297 545895 277676 + 298 60914 739114 + 299 911842 481207 + 300 995987 513246 + 301 336244 924492 + 302 669624 367077 + 303 213113 317798 + 304 382186 966747 + 305 851876 331130 + 306 379917 905379 + 307 479603 310225 + 308 264587 696793 + 309 505738 308854 + 310 1005275 349543 + 311 11743 929818 + 312 966284 432460 + 313 66564 742265 + 314 985933 788152 + 315 177323 269057 + 316 582741 1622 + 317 1041728 969352 + 318 447075 133055 + 319 357224 1073600 + 320 939524 731450 + 321 980763 433554 + 322 466840 281154 + 323 208129 260745 + 324 990651 511078 + 325 875583 392312 + 326 566752 39284 + 327 649829 356055 + 328 583955 -22935 + 329 1055782 306326 + 330 220744 66433 + 331 1068535 307643 + 332 957576 969635 + 333 424155 668 + 334 582864 731 + 335 450704 1012748 + 336 736428 451426 + 337 700624 501219 + 338 594358 80877 + 339 1038313 825056 + 340 1030838 436629 + 341 462130 153079 + 342 415990 924813 + 343 231689 255900 + 344 364279 -43699 + 345 989301 332654 + 346 420978 975030 + 347 224229 -21641 + 348 999754 586633 + 349 662863 512705 + 350 808076 416004 + 351 491677 192175 + 352 6138 954238 + 353 16453 957178 + 354 244797 753540 + 355 1015830 948217 + 356 958908 326754 + 357 580726 30503 + 358 299497 80977 + 359 120877 663858 + 360 1020152 422262 + 361 94578 726847 + 362 611452 362851 + 363 91700 971621 + 364 922396 410703 + 365 407150 188306 + 366 988373 994165 + 367 252224 211268 + 368 1029211 318790 + 369 228228 675784 + 370 181963 160602 + 371 194151 204264 + 372 990429 616589 + 373 962485 471277 + 374 487027 48736 + 375 428212 364305 + 376 736395 465004 + 377 437231 106871 + 378 959325 867596 + 379 629268 270211 + 380 470712 43382 + 381 402693 1013043 + 382 405226 1028002 + 383 194476 210876 + 384 1007126 885952 + 385 1006388 538259 + 386 902672 642791 + 387 994285 638276 + 388 521655 191446 + 389 715231 318286 + 390 729198 445581 + 391 739110 510144 + 392 1043693 908389 + 393 440393 957757 + 394 646914 77788 + 395 701037 273839 + 396 978831 819659 + 397 859182 418430 + 398 971852 787831 + 399 269783 710141 + 400 737963 578273 + 401 484930 251860 + 402 500191 -26033 + 403 362059 68965 + 404 612083 543519 + 405 554854 268201 + 406 878413 471867 + 407 539006 1025381 + 408 245354 726275 + 409 945490 733405 + 410 151112 643610 + 411 819079 401742 + 412 239369 615866 + 413 93844 715303 + 414 654552 326167 + 415 559275 343566 + 416 1006204 947646 + 417 988530 916792 + 418 464115 303033 + 419 523173 100275 + 420 921151 812598 + 421 676588 297348 + 422 933932 531876 + 423 408939 843555 + 424 429721 903177 + 425 468369 64403 + 426 298552 1013038 + 427 706940 538562 + 428 780993 543894 + 429 211184 769048 + 430 -19602 939224 + 431 1011976 334905 + 432 -25612 921356 + 433 924623 947340 + 434 672420 269141 + 435 1024507 896037 + 436 266904 961713 + 437 132613 677948 + 438 875129 479594 + 439 1049423 235210 + 440 588992 53006 + 441 1078221 373636 + 442 550890 270379 + 443 956122 1038055 + 444 231228 167524 + 445 467163 230055 + 446 454650 1052608 + 447 996903 414772 + 448 940924 965838 + 449 1056149 295786 + 450 -32639 948889 + 451 311050 772121 + 452 965473 375774 + 453 582987 18222 + 454 297849 975299 + 455 886062 922681 + 456 125389 669051 + 457 137649 760563 + 458 499475 192284 + 459 1032876 941817 + 460 280443 72557 + 461 467677 274481 + 462 584334 333219 + 463 216596 112130 + 464 355392 316783 + 465 47737 937785 + 466 968865 419997 + 467 968345 900197 + 468 337832 85886 + 469 483020 26164 + 470 630749 18033 + 471 508742 242729 + 472 738072 552741 + 473 -42807 742616 + 474 214132 253225 + 475 427704 102739 + 476 196468 145775 + 477 328593 930881 + 478 676648 481141 + 479 985859 345756 + 480 586228 316703 + 481 241578 733792 + 482 142239 639607 + 483 262460 78923 + 484 1045599 878351 + 485 314906 713219 + 486 705527 573223 + 487 573839 9502 + 488 1020076 930750 + 489 402335 171357 + 490 234089 840628 + 491 604719 10667 + 492 471260 993914 + 493 699782 571009 + 494 803964 497264 + 495 981138 895940 + 496 264833 656457 + 497 205046 212685 + 498 547376 297596 + 499 939129 436355 + 500 276562 54902 + 501 424716 1056496 + 502 374272 338061 + 503 609493 377343 + 504 454903 383462 + 505 980879 445657 + 506 586741 11796 + 507 -66860 946391 + 508 226294 -19579 + 509 633795 201125 + 510 962085 418253 + 511 936941 390671 + 512 951558 612395 + 513 737989 286287 + 514 935538 621822 + 515 429226 1004615 + 516 190397 193917 + 517 527074 282489 + 518 396285 914521 + 519 551607 277715 + 520 354006 1036799 + 521 988606 579963 + 522 292451 90499 + 523 293468 937461 + 524 1021595 559791 + 525 140233 683418 + 526 475448 139665 + 527 704096 464113 + 528 939312 289768 + 529 562795 360371 + 530 264747 679787 + 531 732283 440709 + 532 904865 460315 + 533 880687 814777 + 534 1028738 564102 + 535 701344 585671 + 536 460729 1006780 + 537 17661 665446 + 538 924120 509961 + 539 893668 413430 + 540 724429 448985 + 541 1011477 852681 + 542 944828 1061237 + 543 281717 1074546 + 544 945987 620376 + 545 211889 212670 + 546 338351 993235 + 547 969541 826989 + 548 391960 997694 + 549 620243 361020 + 550 989319 913958 + 551 983241 224412 + 552 31448 1007200 + 553 472642 161804 + 554 3096 681954 + 555 846532 517406 + 556 720385 476030 + 557 901236 407240 + 558 231615 205337 + 559 323564 -14633 + 560 1006297 273107 + 561 959041 593009 + 562 927490 647326 + 563 667168 386980 + 564 63198 960864 + 565 447902 1011589 + 566 706462 496735 + 567 984033 396451 + 568 535890 376567 + 569 538048 -50553 + 570 724926 427909 + 571 1016020 923175 + 572 248641 1355 + 573 153124 652050 + 574 169397 161570 + 575 941971 380204 + 576 985670 802017 + 577 677055 329993 + 578 282891 982700 + 579 732561 479132 + 580 12023 907259 + 581 615106 340654 + 582 705497 450925 + 583 295221 907635 + 584 437884 368808 + 585 886759 823658 + 586 -1009 900487 + 587 674955 460347 + 588 634530 346286 + 589 142076 630144 + 590 127300 752001 + 591 961169 760362 + 592 733859 528201 + 593 685789 568701 + 594 911655 360648 + 595 660257 551875 + 596 -468 937668 + 597 370706 930168 + 598 430828 996317 + 599 465714 101740 + 600 943087 396383 + 601 929131 566287 + 602 625649 234331 + 603 925654 915305 + 604 991261 786323 + 605 687356 478890 + 606 258989 7413 + 607 215395 1004343 + 608 987715 553698 + 609 281449 53771 + 610 946583 603511 + 611 310449 719995 + 612 779078 472474 + 613 477278 57114 + 614 1056501 478555 + 615 1006854 618170 + 616 116475 708021 + 617 539650 122967 + 618 547597 11902 + 619 718327 480379 + 620 946877 571733 + 621 924351 330022 + 622 189682 670820 + 623 969343 849430 + 624 979579 542407 + 625 1035291 679060 + 626 490558 102790 + 627 328361 1072479 + 628 495265 15006 + 629 977943 877833 + 630 70214 708048 + 631 535826 -37128 + 632 997789 456905 + 633 997259 570659 + 634 1017941 490832 + 635 983613 420392 + 636 926340 401716 + 637 546465 13270 + 638 308807 935109 + 639 272709 739256 + 640 1017780 671686 + 641 779705 588491 + 642 932846 419379 + 643 411669 53004 + 644 1072392 859448 + 645 422565 987398 + 646 701179 522878 + 647 25704 903092 + 648 1010606 829382 + 649 1022936 850217 + 650 875726 328781 + 651 871149 581702 + 652 906435 280536 + 653 317997 54917 + 654 442621 153855 + 655 946788 638911 + 656 795330 472684 + 657 982007 805294 + 658 992720 315703 + 659 950304 532116 + 660 503723 322399 + 661 667818 300369 + 662 945726 473613 + 663 314187 765703 + 664 974429 301528 + 665 474524 121509 + 666 957654 468722 + 667 340458 950903 + 668 27376 840979 + 669 484975 24432 + 670 100835 697230 + 671 1040844 329988 + 672 936487 251273 + 673 350473 985367 + 674 447872 361398 + 675 35998 898159 + 676 430131 -46452 + 677 759022 405634 + 678 691853 309522 + 679 946798 691984 + 680 718965 500142 + 681 811686 577423 + 682 963928 321668 + 683 399467 -23317 + 684 601370 352014 + 685 321756 910244 + 686 966051 360943 + 687 800004 480282 + 688 862321 627290 + 689 459074 186439 + 690 944684 447163 + 691 515450 -7619 + 692 499971 199155 + 693 482378 108880 + 694 1015683 276266 + 695 776289 484559 + 696 642784 388059 + 697 357306 1022767 + 698 355571 1022950 + 699 705469 250661 + 700 99143 758382 + 701 539046 163668 + 702 910116 758870 + 703 970865 836094 + 704 987317 396579 + 705 187531 325360 + 706 -55457 984014 + 707 340464 971856 + 708 1056506 924297 + 709 492438 -5725 + 710 493090 36922 + 711 765498 522180 + 712 332241 902072 + 713 409431 960349 + 714 973283 270933 + 715 311128 -28096 + 716 364235 45159 + 717 585415 36684 + 718 1029023 684164 + 719 235270 736169 + 720 708564 515507 + 721 88648 720358 + 722 397266 173977 + 723 615650 45717 + 724 311391 2266 + 725 588785 374935 + 726 483250 361010 + 727 954790 611306 + 728 977133 519341 + 729 1043617 848664 + 730 460937 -58176 + 731 625325 17660 + 732 441303 308739 + 733 257737 689159 + 734 990228 319463 + 735 184916 220310 + 736 524859 174578 + 737 243218 779732 + 738 949909 834209 + 739 -3390 971979 + 740 745598 392546 + 741 887937 674470 + 742 38110 1005395 + 743 778794 450468 + 744 872346 405435 + 745 1038628 984843 + 746 586318 94344 + 747 893464 461786 + 748 919372 368319 + 749 1008882 911406 + 750 925592 254331 + 751 512901 76487 + 752 147433 681941 + 753 154332 729689 + 754 195225 246717 + 755 931133 781389 + 756 721444 512772 + 757 1005945 529653 + 758 572331 127874 + 759 982349 984363 + 760 882545 360660 + 761 52812 655492 + 762 652110 389167 + 763 900140 399150 + 764 416896 948028 + 765 30162 1071796 + 766 426808 882098 + 767 1081531 760691 + 768 347819 911147 + 769 1008862 484618 + 770 683676 273310 + 771 428352 1016931 + 772 220389 186688 + 773 950373 985247 + 774 986560 926213 + 775 474152 282569 + 776 899500 802132 + 777 904784 412284 + 778 282410 679653 + 779 361694 943523 + 780 1005649 914192 + 781 931284 886615 + 782 187218 260511 + 783 352297 948683 + 784 368108 994487 + 785 75677 743816 + 786 1003840 256874 + 787 962545 871498 + 788 743979 530985 + 789 680366 388903 + 790 84928 639998 + 791 445228 118645 + 792 354073 872216 + 793 532794 214994 + 794 339629 968355 + 795 -7351 896931 + 796 762244 519684 + 797 944551 580456 + 798 820477 530979 + 799 460043 68606 + 800 900385 428005 + 801 83117 722049 + 802 349317 802335 + 803 442937 47268 + 804 172669 181061 + 805 169754 262994 + 806 928093 397693 + 807 316341 1011443 + 808 150509 218739 + 809 334349 139 + 810 352228 1014244 + 811 884465 414478 + 812 -1710 971566 + 813 440031 60986 + 814 580725 52013 + 815 455397 72979 + 816 294417 114808 + 817 977455 518526 + 818 596709 -15476 + 819 760043 505809 + 820 -12335 860108 + 821 744488 503129 + 822 946945 785720 + 823 605785 68128 + 824 911400 835499 + 825 896611 521615 + 826 977624 796432 + 827 296205 66839 + 828 695886 286002 + 829 943452 487818 + 830 930102 501223 + 831 459242 199000 + 832 951298 376897 + 833 266151 771467 + 834 371983 1063470 + 835 983827 223334 + 836 929420 264511 + 837 120587 678257 + 838 540368 238586 + 839 479812 302306 + 840 707664 486137 + 841 626603 371290 + 842 979014 669835 + 843 -41255 855960 + 844 674683 582291 + 845 319656 146164 + 846 380686 73443 + 847 616430 236955 + 848 220857 714539 + 849 262205 729044 + 850 516732 171776 + 851 212889 202133 + 852 952026 905293 + 853 357481 971257 + 854 970806 393994 + 855 736611 504924 + 856 351535 706086 + 857 807698 507290 + 858 973108 578200 + 859 638119 260212 + 860 516292 374529 + 861 21469 966722 + 862 1031106 832736 + 863 491449 223659 + 864 1029297 480592 + 865 927124 334453 + 866 6193 910377 + 867 167224 691113 + 868 782967 501808 + 869 150856 706386 + 870 229431 700987 + 871 960562 523857 + 872 187356 772891 + 873 44426 636871 + 874 883633 873681 + 875 292732 56917 + 876 1041102 448822 + 877 634243 43429 + 878 973132 815365 + 879 589981 266128 + 880 515390 187116 + 881 104334 628220 + 882 930933 687697 + 883 450418 38658 + 884 932379 564517 + 885 720955 526394 + 886 1000565 801054 + 887 434311 4843 + 888 522056 34977 + 889 448479 -9391 + 890 624332 -6840 + 891 31184 989240 + 892 903356 511932 + 893 1013770 481816 + 894 642717 317627 + 895 -128049 938535 + 896 950864 474256 + 897 454526 361210 + 898 465537 1034177 + 899 539150 284629 + 900 1025430 456081 + 901 270312 220371 + 902 722401 342889 + 903 544331 -62551 + 904 764125 469810 + 905 691565 533430 + 906 678488 536384 + 907 939684 878762 + 908 732116 577970 + 909 503352 412014 + 910 602628 60605 + 911 91569 616426 + 912 509668 17170 + 913 80611 1040930 + 914 982004 503921 + 915 557669 16852 + 916 993434 909979 + 917 960238 294057 + 918 81477 1011634 + 919 581260 352400 + 920 520607 46851 + 921 677991 501342 + 922 224003 29895 + 923 517623 348081 + 924 445689 97500 + 925 692681 553133 + 926 226268 643936 + 927 76803 611857 + 928 114442 669869 + 929 523291 36705 + 930 919756 474725 + 931 855250 320217 + 932 91707 700865 + 933 477428 264380 + 934 528937 13390 + 935 720723 492863 + 936 471015 121757 + 937 962521 735638 + 938 601802 306710 + 939 253366 765380 + 940 763790 486237 + 941 173215 228150 + 942 911291 784897 + 943 653289 435846 + 944 757300 427229 + 945 326009 899531 + 946 49579 994405 + 947 518363 20767 + 948 624640 334003 + 949 477789 925461 + 950 437175 133612 + 951 632951 312899 + 952 948477 583247 + 953 893520 471855 + 954 245729 198583 + 955 510819 308837 + 956 517765 7553 + 957 357859 983251 + 958 667482 276121 + 959 983726 884744 + 960 313011 1062109 + 961 -75489 969207 + 962 443034 166265 + 963 316916 968159 + 964 984228 650226 + 965 775882 394219 + 966 531154 79184 + 967 993413 605080 + 968 424139 35597 + 969 213934 726127 + 970 975011 280267 + 971 1003439 522486 + 972 317064 969880 + 973 330573 979271 + 974 752757 506388 + 975 114886 677219 + 976 443651 395082 + 977 865120 334131 + 978 514730 337115 + 979 971838 295842 + 980 1050575 262706 + 981 393246 1018921 + 982 694154 518752 + 983 545841 13000 + 984 237960 772181 + 985 502911 52466 + 986 895631 833752 + 987 891249 380318 + 988 955040 963510 + 989 709160 533608 + 990 729378 434347 + 991 797169 329378 + 992 890134 413658 + 993 233217 169506 + 994 958598 392349 + 995 759853 414015 + 996 907200 300490 + 997 951396 473596 + 998 460030 374534 + 999 543108 65803 + 1000 471287 119659 +EOF diff --git a/data/medium/a280.tsp b/data/medium/a280.tsp new file mode 100644 index 0000000..40e506c --- /dev/null +++ b/data/medium/a280.tsp @@ -0,0 +1,287 @@ +NAME : a280 +COMMENT : drilling problem (Ludwig) +TYPE : TSP +DIMENSION: 280 +EDGE_WEIGHT_TYPE : EUC_2D +NODE_COORD_SECTION + 1 288 149 + 2 288 129 + 3 270 133 + 4 256 141 + 5 256 157 + 6 246 157 + 7 236 169 + 8 228 169 + 9 228 161 + 10 220 169 + 11 212 169 + 12 204 169 + 13 196 169 + 14 188 169 + 15 196 161 + 16 188 145 + 17 172 145 + 18 164 145 + 19 156 145 + 20 148 145 + 21 140 145 + 22 148 169 + 23 164 169 + 24 172 169 + 25 156 169 + 26 140 169 + 27 132 169 + 28 124 169 + 29 116 161 + 30 104 153 + 31 104 161 + 32 104 169 + 33 90 165 + 34 80 157 + 35 64 157 + 36 64 165 + 37 56 169 + 38 56 161 + 39 56 153 + 40 56 145 + 41 56 137 + 42 56 129 + 43 56 121 + 44 40 121 + 45 40 129 + 46 40 137 + 47 40 145 + 48 40 153 + 49 40 161 + 50 40 169 + 51 32 169 + 52 32 161 + 53 32 153 + 54 32 145 + 55 32 137 + 56 32 129 + 57 32 121 + 58 32 113 + 59 40 113 + 60 56 113 + 61 56 105 + 62 48 99 + 63 40 99 + 64 32 97 + 65 32 89 + 66 24 89 + 67 16 97 + 68 16 109 + 69 8 109 + 70 8 97 + 71 8 89 + 72 8 81 + 73 8 73 + 74 8 65 + 75 8 57 + 76 16 57 + 77 8 49 + 78 8 41 + 79 24 45 + 80 32 41 + 81 32 49 + 82 32 57 + 83 32 65 + 84 32 73 + 85 32 81 + 86 40 83 + 87 40 73 + 88 40 63 + 89 40 51 + 90 44 43 + 91 44 35 + 92 44 27 + 93 32 25 + 94 24 25 + 95 16 25 + 96 16 17 + 97 24 17 + 98 32 17 + 99 44 11 +100 56 9 +101 56 17 +102 56 25 +103 56 33 +104 56 41 +105 64 41 +106 72 41 +107 72 49 +108 56 49 +109 48 51 +110 56 57 +111 56 65 +112 48 63 +113 48 73 +114 56 73 +115 56 81 +116 48 83 +117 56 89 +118 56 97 +119 104 97 +120 104 105 +121 104 113 +122 104 121 +123 104 129 +124 104 137 +125 104 145 +126 116 145 +127 124 145 +128 132 145 +129 132 137 +130 140 137 +131 148 137 +132 156 137 +133 164 137 +134 172 125 +135 172 117 +136 172 109 +137 172 101 +138 172 93 +139 172 85 +140 180 85 +141 180 77 +142 180 69 +143 180 61 +144 180 53 +145 172 53 +146 172 61 +147 172 69 +148 172 77 +149 164 81 +150 148 85 +151 124 85 +152 124 93 +153 124 109 +154 124 125 +155 124 117 +156 124 101 +157 104 89 +158 104 81 +159 104 73 +160 104 65 +161 104 49 +162 104 41 +163 104 33 +164 104 25 +165 104 17 +166 92 9 +167 80 9 +168 72 9 +169 64 21 +170 72 25 +171 80 25 +172 80 25 +173 80 41 +174 88 49 +175 104 57 +176 124 69 +177 124 77 +178 132 81 +179 140 65 +180 132 61 +181 124 61 +182 124 53 +183 124 45 +184 124 37 +185 124 29 +186 132 21 +187 124 21 +188 120 9 +189 128 9 +190 136 9 +191 148 9 +192 162 9 +193 156 25 +194 172 21 +195 180 21 +196 180 29 +197 172 29 +198 172 37 +199 172 45 +200 180 45 +201 180 37 +202 188 41 +203 196 49 +204 204 57 +205 212 65 +206 220 73 +207 228 69 +208 228 77 +209 236 77 +210 236 69 +211 236 61 +212 228 61 +213 228 53 +214 236 53 +215 236 45 +216 228 45 +217 228 37 +218 236 37 +219 236 29 +220 228 29 +221 228 21 +222 236 21 +223 252 21 +224 260 29 +225 260 37 +226 260 45 +227 260 53 +228 260 61 +229 260 69 +230 260 77 +231 276 77 +232 276 69 +233 276 61 +234 276 53 +235 284 53 +236 284 61 +237 284 69 +238 284 77 +239 284 85 +240 284 93 +241 284 101 +242 288 109 +243 280 109 +244 276 101 +245 276 93 +246 276 85 +247 268 97 +248 260 109 +249 252 101 +250 260 93 +251 260 85 +252 236 85 +253 228 85 +254 228 93 +255 236 93 +256 236 101 +257 228 101 +258 228 109 +259 228 117 +260 228 125 +261 220 125 +262 212 117 +263 204 109 +264 196 101 +265 188 93 +266 180 93 +267 180 101 +268 180 109 +269 180 117 +270 180 125 +271 196 145 +272 204 145 +273 212 145 +274 220 145 +275 228 145 +276 236 145 +277 246 141 +278 252 125 +279 260 129 +280 280 133 +EOF diff --git a/data/medium/pcb442.tsp b/data/medium/pcb442.tsp new file mode 100644 index 0000000..2b74de7 --- /dev/null +++ b/data/medium/pcb442.tsp @@ -0,0 +1,449 @@ +NAME : pcb442 +COMMENT : Drilling problem (Groetschel/Juenger/Reinelt) +TYPE : TSP +DIMENSION : 442 +EDGE_WEIGHT_TYPE : EUC_2D +NODE_COORD_SECTION +1 2.00000e+02 4.00000e+02 +2 2.00000e+02 5.00000e+02 +3 2.00000e+02 6.00000e+02 +4 2.00000e+02 7.00000e+02 +5 2.00000e+02 8.00000e+02 +6 2.00000e+02 9.00000e+02 +7 2.00000e+02 1.00000e+03 +8 2.00000e+02 1.10000e+03 +9 2.00000e+02 1.20000e+03 +10 2.00000e+02 1.30000e+03 +11 2.00000e+02 1.40000e+03 +12 2.00000e+02 1.50000e+03 +13 2.00000e+02 1.60000e+03 +14 2.00000e+02 1.70000e+03 +15 2.00000e+02 1.80000e+03 +16 2.00000e+02 1.90000e+03 +17 2.00000e+02 2.00000e+03 +18 2.00000e+02 2.10000e+03 +19 2.00000e+02 2.20000e+03 +20 2.00000e+02 2.30000e+03 +21 2.00000e+02 2.40000e+03 +22 2.00000e+02 2.50000e+03 +23 2.00000e+02 2.60000e+03 +24 2.00000e+02 2.70000e+03 +25 2.00000e+02 2.80000e+03 +26 2.00000e+02 2.90000e+03 +27 2.00000e+02 3.00000e+03 +28 2.00000e+02 3.10000e+03 +29 2.00000e+02 3.20000e+03 +30 2.00000e+02 3.30000e+03 +31 2.00000e+02 3.40000e+03 +32 2.00000e+02 3.50000e+03 +33 2.00000e+02 3.60000e+03 +34 3.00000e+02 4.00000e+02 +35 3.00000e+02 5.00000e+02 +36 3.00000e+02 6.00000e+02 +37 3.00000e+02 7.00000e+02 +38 3.00000e+02 8.00000e+02 +39 3.00000e+02 9.00000e+02 +40 3.00000e+02 1.00000e+03 +41 3.00000e+02 1.10000e+03 +42 3.00000e+02 1.20000e+03 +43 3.00000e+02 1.30000e+03 +44 3.00000e+02 1.40000e+03 +45 3.00000e+02 1.50000e+03 +46 3.00000e+02 1.60000e+03 +47 3.00000e+02 1.70000e+03 +48 3.00000e+02 1.80000e+03 +49 3.00000e+02 1.90000e+03 +50 3.00000e+02 2.00000e+03 +51 3.00000e+02 2.10000e+03 +52 3.00000e+02 2.20000e+03 +53 3.00000e+02 2.30000e+03 +54 3.00000e+02 2.40000e+03 +55 3.00000e+02 2.50000e+03 +56 3.00000e+02 2.60000e+03 +57 3.00000e+02 2.70000e+03 +58 3.00000e+02 2.80000e+03 +59 3.00000e+02 2.90000e+03 +60 3.00000e+02 3.00000e+03 +61 3.00000e+02 3.10000e+03 +62 3.00000e+02 3.20000e+03 +63 3.00000e+02 3.30000e+03 +64 3.00000e+02 3.40000e+03 +65 3.00000e+02 3.50000e+03 +66 4.00000e+02 4.00000e+02 +67 4.00000e+02 5.00000e+02 +68 4.00000e+02 6.00000e+02 +69 4.00000e+02 7.00000e+02 +70 4.00000e+02 8.00000e+02 +71 4.00000e+02 9.00000e+02 +72 4.00000e+02 1.00000e+03 +73 4.00000e+02 1.10000e+03 +74 4.00000e+02 1.20000e+03 +75 4.00000e+02 1.30000e+03 +76 4.00000e+02 1.40000e+03 +77 4.00000e+02 1.50000e+03 +78 4.00000e+02 1.60000e+03 +79 4.00000e+02 1.70000e+03 +80 4.00000e+02 1.80000e+03 +81 4.00000e+02 1.90000e+03 +82 4.00000e+02 2.00000e+03 +83 4.00000e+02 2.10000e+03 +84 4.00000e+02 2.20000e+03 +85 4.00000e+02 2.30000e+03 +86 4.00000e+02 2.40000e+03 +87 4.00000e+02 2.50000e+03 +88 4.00000e+02 2.60000e+03 +89 4.00000e+02 2.70000e+03 +90 4.00000e+02 2.80000e+03 +91 4.00000e+02 2.90000e+03 +92 4.00000e+02 3.00000e+03 +93 4.00000e+02 3.10000e+03 +94 4.00000e+02 3.20000e+03 +95 4.00000e+02 3.30000e+03 +96 4.00000e+02 3.40000e+03 +97 4.00000e+02 3.50000e+03 +98 4.00000e+02 3.60000e+03 +99 5.00000e+02 1.50000e+03 +100 5.00000e+02 1.82900e+03 +101 5.00000e+02 3.10000e+03 +102 6.00000e+02 4.00000e+02 +103 7.00000e+02 3.00000e+02 +104 7.00000e+02 6.00000e+02 +105 7.00000e+02 1.50000e+03 +106 7.00000e+02 1.60000e+03 +107 7.00000e+02 1.80000e+03 +108 7.00000e+02 2.10000e+03 +109 7.00000e+02 2.40000e+03 +110 7.00000e+02 2.70000e+03 +111 7.00000e+02 3.00000e+03 +112 7.00000e+02 3.30000e+03 +113 7.00000e+02 3.60000e+03 +114 8.00000e+02 3.00000e+02 +115 8.00000e+02 6.00000e+02 +116 8.00000e+02 1.03000e+03 +117 8.00000e+02 1.50000e+03 +118 8.00000e+02 1.80000e+03 +119 8.00000e+02 2.10000e+03 +120 8.00000e+02 2.40000e+03 +121 8.00000e+02 2.60000e+03 +122 8.00000e+02 2.70000e+03 +123 8.00000e+02 3.00000e+03 +124 8.00000e+02 3.30000e+03 +125 8.00000e+02 3.60000e+03 +126 9.00000e+02 3.00000e+02 +127 9.00000e+02 6.00000e+02 +128 9.00000e+02 1.50000e+03 +129 9.00000e+02 1.80000e+03 +130 9.00000e+02 2.10000e+03 +131 9.00000e+02 2.40000e+03 +132 9.00000e+02 2.70000e+03 +133 9.00000e+02 3.00000e+03 +134 9.00000e+02 3.30000e+03 +135 9.00000e+02 3.60000e+03 +136 1.00000e+03 3.00000e+02 +137 1.00000e+03 6.00000e+02 +138 1.00000e+03 1.10000e+03 +139 1.00000e+03 1.50000e+03 +140 1.00000e+03 1.62900e+03 +141 1.00000e+03 1.80000e+03 +142 1.00000e+03 2.10000e+03 +143 1.00000e+03 2.40000e+03 +144 1.00000e+03 2.60000e+03 +145 1.00000e+03 2.70000e+03 +146 1.00000e+03 3.00000e+03 +147 1.00000e+03 3.30000e+03 +148 1.00000e+03 3.60000e+03 +149 1.10000e+03 3.00000e+02 +150 1.10000e+03 6.00000e+02 +151 1.10000e+03 7.00000e+02 +152 1.10000e+03 9.00000e+02 +153 1.10000e+03 1.50000e+03 +154 1.10000e+03 1.80000e+03 +155 1.10000e+03 2.10000e+03 +156 1.10000e+03 2.40000e+03 +157 1.10000e+03 2.70000e+03 +158 1.10000e+03 3.00000e+03 +159 1.10000e+03 3.30000e+03 +160 1.10000e+03 3.60000e+03 +161 1.20000e+03 3.00000e+02 +162 1.20000e+03 6.00000e+02 +163 1.20000e+03 1.50000e+03 +164 1.20000e+03 1.70000e+03 +165 1.20000e+03 1.80000e+03 +166 1.20000e+03 2.10000e+03 +167 1.20000e+03 2.40000e+03 +168 1.20000e+03 2.70000e+03 +169 1.20000e+03 3.00000e+03 +170 1.20000e+03 3.30000e+03 +171 1.20000e+03 3.60000e+03 +172 1.30000e+03 3.00000e+02 +173 1.30000e+03 6.00000e+02 +174 1.30000e+03 7.00000e+02 +175 1.30000e+03 1.13000e+03 +176 1.30000e+03 1.50000e+03 +177 1.30000e+03 1.80000e+03 +178 1.30000e+03 2.10000e+03 +179 1.30000e+03 2.20000e+03 +180 1.30000e+03 2.40000e+03 +181 1.30000e+03 2.70000e+03 +182 1.30000e+03 3.00000e+03 +183 1.30000e+03 3.30000e+03 +184 1.30000e+03 3.60000e+03 +185 1.40000e+03 3.00000e+02 +186 1.40000e+03 6.00000e+02 +187 1.40000e+03 9.30000e+02 +188 1.40000e+03 1.50000e+03 +189 1.40000e+03 1.80000e+03 +190 1.40000e+03 2.00000e+03 +191 1.40000e+03 2.10000e+03 +192 1.40000e+03 2.40000e+03 +193 1.40000e+03 2.50000e+03 +194 1.40000e+03 2.70000e+03 +195 1.40000e+03 2.82000e+03 +196 1.40000e+03 2.90000e+03 +197 1.40000e+03 3.00000e+03 +198 1.40000e+03 3.30000e+03 +199 1.40000e+03 3.60000e+03 +200 1.50000e+03 1.50000e+03 +201 1.50000e+03 1.80000e+03 +202 1.50000e+03 1.90000e+03 +203 1.50000e+03 2.10000e+03 +204 1.50000e+03 2.40000e+03 +205 1.50000e+03 2.70000e+03 +206 1.50000e+03 2.80000e+03 +207 1.50000e+03 2.86000e+03 +208 1.50000e+03 3.00000e+03 +209 1.50000e+03 3.30000e+03 +210 1.50000e+03 3.60000e+03 +211 1.60000e+03 1.10000e+03 +212 1.60000e+03 1.30000e+03 +213 1.60000e+03 1.50000e+03 +214 1.60000e+03 1.80000e+03 +215 1.60000e+03 2.10000e+03 +216 1.60000e+03 2.40000e+03 +217 1.60000e+03 2.70000e+03 +218 1.60000e+03 3.00000e+03 +219 1.60000e+03 3.30000e+03 +220 1.60000e+03 3.60000e+03 +221 1.70000e+03 1.20000e+03 +222 1.70000e+03 1.50000e+03 +223 1.70000e+03 1.80000e+03 +224 1.70000e+03 2.10000e+03 +225 1.70000e+03 2.40000e+03 +226 1.70000e+03 3.60000e+03 +227 1.80000e+03 3.00000e+02 +228 1.80000e+03 6.00000e+02 +229 1.80000e+03 1.23000e+03 +230 1.80000e+03 1.50000e+03 +231 1.80000e+03 1.80000e+03 +232 1.80000e+03 2.10000e+03 +233 1.80000e+03 2.40000e+03 +234 1.90000e+03 3.00000e+02 +235 1.90000e+03 6.00000e+02 +236 1.90000e+03 3.00000e+03 +237 1.90000e+03 3.52000e+03 +238 2.00000e+03 3.00000e+02 +239 2.00000e+03 3.70000e+02 +240 2.00000e+03 6.00000e+02 +241 2.00000e+03 8.00000e+02 +242 2.00000e+03 9.00000e+02 +243 2.00000e+03 1.00000e+03 +244 2.00000e+03 1.10000e+03 +245 2.00000e+03 1.20000e+03 +246 2.00000e+03 1.30000e+03 +247 2.00000e+03 1.40000e+03 +248 2.00000e+03 1.50000e+03 +249 2.00000e+03 1.60000e+03 +250 2.00000e+03 1.70000e+03 +251 2.00000e+03 1.80000e+03 +252 2.00000e+03 1.90000e+03 +253 2.00000e+03 2.00000e+03 +254 2.00000e+03 2.10000e+03 +255 2.00000e+03 2.20000e+03 +256 2.00000e+03 2.30000e+03 +257 2.00000e+03 2.40000e+03 +258 2.00000e+03 2.50000e+03 +259 2.00000e+03 2.60000e+03 +260 2.00000e+03 2.70000e+03 +261 2.00000e+03 2.80000e+03 +262 2.00000e+03 2.90000e+03 +263 2.00000e+03 3.00000e+03 +264 2.00000e+03 3.10000e+03 +265 2.00000e+03 3.50000e+03 +266 2.10000e+03 3.00000e+02 +267 2.10000e+03 6.00000e+02 +268 2.10000e+03 3.20000e+03 +269 2.20000e+03 3.00000e+02 +270 2.20000e+03 4.69000e+02 +271 2.20000e+03 6.00000e+02 +272 2.20000e+03 3.20000e+03 +273 2.30000e+03 3.00000e+02 +274 2.30000e+03 6.00000e+02 +275 2.30000e+03 3.40000e+03 +276 2.40000e+03 3.00000e+02 +277 2.40000e+03 6.00000e+02 +278 2.40000e+03 2.10000e+03 +279 2.50000e+03 3.00000e+02 +280 2.50000e+03 8.00000e+02 +281 2.60000e+03 4.00000e+02 +282 2.60000e+03 5.00000e+02 +283 2.60000e+03 8.00000e+02 +284 2.60000e+03 9.00000e+02 +285 2.60000e+03 1.00000e+03 +286 2.60000e+03 1.10000e+03 +287 2.60000e+03 1.20000e+03 +288 2.60000e+03 1.30000e+03 +289 2.60000e+03 1.40000e+03 +290 2.60000e+03 1.50000e+03 +291 2.60000e+03 1.60000e+03 +292 2.60000e+03 1.70000e+03 +293 2.60000e+03 1.80000e+03 +294 2.60000e+03 1.90000e+03 +295 2.60000e+03 2.00000e+03 +296 2.60000e+03 2.10000e+03 +297 2.60000e+03 2.20000e+03 +298 2.60000e+03 2.30000e+03 +299 2.60000e+03 2.40000e+03 +300 2.60000e+03 2.50000e+03 +301 2.60000e+03 2.60000e+03 +302 2.60000e+03 2.70000e+03 +303 2.60000e+03 2.80000e+03 +304 2.60000e+03 2.90000e+03 +305 2.60000e+03 3.00000e+03 +306 2.60000e+03 3.10000e+03 +307 2.60000e+03 3.40000e+03 +308 2.70000e+03 7.00000e+02 +309 2.70000e+03 8.00000e+02 +310 2.70000e+03 9.00000e+02 +311 2.70000e+03 1.00000e+03 +312 2.70000e+03 1.10000e+03 +313 2.70000e+03 1.20000e+03 +314 2.70000e+03 1.30000e+03 +315 2.70000e+03 1.40000e+03 +316 2.70000e+03 1.50000e+03 +317 2.70000e+03 1.60000e+03 +318 2.70000e+03 1.70000e+03 +319 2.70000e+03 1.80000e+03 +320 2.70000e+03 1.90000e+03 +321 2.70000e+03 2.00000e+03 +322 2.70000e+03 2.10000e+03 +323 2.70000e+03 2.20000e+03 +324 2.70000e+03 2.30000e+03 +325 2.70000e+03 2.50000e+03 +326 2.70000e+03 2.60000e+03 +327 2.70000e+03 2.70000e+03 +328 2.70000e+03 2.80000e+03 +329 2.70000e+03 2.90000e+03 +330 2.70000e+03 3.00000e+03 +331 2.70000e+03 3.10000e+03 +332 2.70000e+03 3.20000e+03 +333 2.70000e+03 3.30000e+03 +334 2.70000e+03 3.40000e+03 +335 2.70000e+03 3.50000e+03 +336 2.70000e+03 3.60000e+03 +337 2.70000e+03 3.70000e+03 +338 2.70000e+03 3.80000e+03 +339 2.80000e+03 9.00000e+02 +340 2.80000e+03 1.13000e+03 +341 2.90000e+03 4.00000e+02 +342 2.90000e+03 5.00000e+02 +343 2.90000e+03 1.40000e+03 +344 2.90000e+03 2.40000e+03 +345 2.90000e+03 3.00000e+03 +346 3.00000e+03 7.00000e+02 +347 3.00000e+03 8.00000e+02 +348 3.00000e+03 9.00000e+02 +349 3.00000e+03 1.00000e+03 +350 3.00000e+03 1.10000e+03 +351 3.00000e+03 1.20000e+03 +352 3.00000e+03 1.30000e+03 +353 3.00000e+03 1.50000e+03 +354 3.00000e+03 1.60000e+03 +355 3.00000e+03 1.70000e+03 +356 3.00000e+03 1.80000e+03 +357 3.00000e+03 1.90000e+03 +358 3.00000e+03 2.00000e+03 +359 3.00000e+03 2.10000e+03 +360 3.00000e+03 2.20000e+03 +361 3.00000e+03 2.30000e+03 +362 3.00000e+03 2.50000e+03 +363 3.00000e+03 2.60000e+03 +364 3.00000e+03 2.70000e+03 +365 3.00000e+03 2.80000e+03 +366 3.00000e+03 2.90000e+03 +367 3.00000e+03 3.00000e+03 +368 3.00000e+03 3.10000e+03 +369 3.00000e+03 3.20000e+03 +370 3.00000e+03 3.30000e+03 +371 3.00000e+03 3.40000e+03 +372 3.00000e+03 3.50000e+03 +373 3.00000e+03 3.60000e+03 +374 3.00000e+03 3.70000e+03 +375 3.00000e+03 3.80000e+03 +376 1.50000e+02 3.50000e+03 +377 1.50000e+02 3.55000e+03 +378 4.69000e+02 2.55000e+03 +379 4.69000e+02 3.35000e+03 +380 4.69000e+02 3.45000e+03 +381 5.40000e+02 2.33000e+03 +382 5.40000e+02 2.43000e+03 +383 6.20000e+02 3.65000e+03 +384 6.20000e+02 3.70900e+03 +385 7.50000e+02 2.55000e+03 +386 8.50000e+02 5.20000e+02 +387 8.50000e+02 7.00000e+02 +388 8.50000e+02 2.28000e+03 +389 9.39000e+02 7.40000e+02 +390 9.50000e+02 2.22000e+03 +391 9.10000e+02 2.60000e+03 +392 1.05000e+03 1.05000e+03 +393 1.15000e+03 1.35000e+03 +394 1.17000e+03 2.28000e+03 +395 1.22000e+03 2.21000e+03 +396 1.35000e+03 7.50000e+02 +397 1.35000e+03 1.70000e+03 +398 1.35000e+03 2.14000e+03 +399 1.45000e+03 7.70000e+02 +400 1.55000e+03 3.00000e+02 +401 1.55000e+03 5.00000e+02 +402 1.55000e+03 1.85000e+03 +403 1.65000e+03 1.05000e+03 +404 1.69000e+03 2.68000e+03 +405 1.71000e+03 3.10000e+02 +406 1.71000e+03 5.10000e+02 +407 1.75000e+03 7.50000e+02 +408 1.79000e+03 2.58000e+03 +409 1.72000e+03 2.61000e+03 +410 1.79000e+03 3.33000e+03 +411 1.72000e+03 3.40900e+03 +412 1.82900e+03 2.70000e+03 +413 1.82900e+03 2.80000e+03 +414 1.82900e+03 3.45000e+03 +415 2.06000e+03 1.65000e+03 +416 2.05000e+03 3.15000e+03 +417 2.17000e+03 1.90000e+03 +418 2.11000e+03 2.00000e+03 +419 2.12000e+03 2.75000e+03 +420 2.15000e+03 3.25000e+03 +421 2.29000e+03 1.40000e+03 +422 2.22000e+03 2.82000e+03 +423 2.28000e+03 3.25000e+03 +424 2.39000e+03 1.30000e+03 +425 2.32000e+03 1.50000e+03 +426 2.45000e+03 7.10000e+02 +427 2.62000e+03 3.65000e+03 +428 2.75000e+03 5.20000e+02 +429 2.76000e+03 2.36000e+03 +430 2.85000e+03 2.20000e+03 +431 2.85000e+03 2.70000e+03 +432 2.85000e+03 3.35000e+03 +433 2.93000e+03 9.50000e+02 +434 2.95000e+03 1.75000e+03 +435 2.95000e+03 2.05000e+03 +436 5.20000e+02 3.20000e+03 +437 2.30000e+03 3.50000e+03 +438 2.32000e+03 3.15000e+03 +439 5.30000e+02 2.10000e+03 +440 2.55000e+03 7.10000e+02 +441 7.50000e+02 4.90000e+02 +442 0.00000e+00 0.00000e+00 +EOF diff --git a/data/simple/att48.tsp b/data/simple/att48.tsp new file mode 100644 index 0000000..a1cf11e --- /dev/null +++ b/data/simple/att48.tsp @@ -0,0 +1,55 @@ +NAME : att48 +COMMENT : 48 capitals of the US (Padberg/Rinaldi) +TYPE : TSP +DIMENSION : 48 +EDGE_WEIGHT_TYPE : ATT +NODE_COORD_SECTION +1 6734 1453 +2 2233 10 +3 5530 1424 +4 401 841 +5 3082 1644 +6 7608 4458 +7 7573 3716 +8 7265 1268 +9 6898 1885 +10 1112 2049 +11 5468 2606 +12 5989 2873 +13 4706 2674 +14 4612 2035 +15 6347 2683 +16 6107 669 +17 7611 5184 +18 7462 3590 +19 7732 4723 +20 5900 3561 +21 4483 3369 +22 6101 1110 +23 5199 2182 +24 1633 2809 +25 4307 2322 +26 675 1006 +27 7555 4819 +28 7541 3981 +29 3177 756 +30 7352 4506 +31 7545 2801 +32 3245 3305 +33 6426 3173 +34 4608 1198 +35 23 2216 +36 7248 3779 +37 7762 4595 +38 7392 2244 +39 3484 2829 +40 6271 2135 +41 4985 140 +42 1916 1569 +43 7280 4899 +44 7509 3239 +45 10 2676 +46 6807 2993 +47 5185 3258 +48 3023 1942 +EOF diff --git a/data/simple/st70.tsp b/data/simple/st70.tsp new file mode 100644 index 0000000..e3abfde --- /dev/null +++ b/data/simple/st70.tsp @@ -0,0 +1,77 @@ +NAME: st70 +TYPE: TSP +COMMENT: 70-city problem (Smith/Thompson) +DIMENSION: 70 +EDGE_WEIGHT_TYPE : EUC_2D +NODE_COORD_SECTION +1 64 96 +2 80 39 +3 69 23 +4 72 42 +5 48 67 +6 58 43 +7 81 34 +8 79 17 +9 30 23 +10 42 67 +11 7 76 +12 29 51 +13 78 92 +14 64 8 +15 95 57 +16 57 91 +17 40 35 +18 68 40 +19 92 34 +20 62 1 +21 28 43 +22 76 73 +23 67 88 +24 93 54 +25 6 8 +26 87 18 +27 30 9 +28 77 13 +29 78 94 +30 55 3 +31 82 88 +32 73 28 +33 20 55 +34 27 43 +35 95 86 +36 67 99 +37 48 83 +38 75 81 +39 8 19 +40 20 18 +41 54 38 +42 63 36 +43 44 33 +44 52 18 +45 12 13 +46 25 5 +47 58 85 +48 5 67 +49 90 9 +50 41 76 +51 25 76 +52 37 64 +53 56 63 +54 10 55 +55 98 7 +56 16 74 +57 89 60 +58 48 82 +59 81 76 +60 29 60 +61 17 22 +62 5 45 +63 79 70 +64 9 100 +65 17 82 +66 74 67 +67 10 68 +68 48 19 +69 83 86 +70 84 94 +EOF diff --git a/data/simple/ulysses16.tsp b/data/simple/ulysses16.tsp new file mode 100644 index 0000000..f6ad82f --- /dev/null +++ b/data/simple/ulysses16.tsp @@ -0,0 +1,25 @@ +NAME: ulysses16.tsp +TYPE: TSP +COMMENT: Odyssey of Ulysses (Groetschel/Padberg) +DIMENSION: 16 +EDGE_WEIGHT_TYPE: GEO +DISPLAY_DATA_TYPE: COORD_DISPLAY +NODE_COORD_SECTION + 1 38.24 20.42 + 2 39.57 26.15 + 3 40.56 25.32 + 4 36.26 23.12 + 5 33.48 10.54 + 6 37.56 12.19 + 7 38.42 13.11 + 8 37.52 20.44 + 9 41.23 9.10 + 10 41.17 13.05 + 11 36.08 -5.21 + 12 38.47 15.13 + 13 38.15 15.35 + 14 37.51 15.17 + 15 35.49 14.32 + 16 39.36 19.56 + EOF + diff --git a/main.py b/main.py new file mode 100644 index 0000000..44da870 --- /dev/null +++ b/main.py @@ -0,0 +1,98 @@ +import os +import argparse + +import json + +import matplotlib +# matplotlib.use('TkAgg') +import matplotlib.pyplot as plt + +from utils import visualize_tsp + +from model.anneal_model import SimAnneal +from model.my_model import MyModel + +def write_to_file(solution, fitness): + with open('output/' + os.path.splitext(os.path.basename(args.tsp_file))[0] + '.txt', "w") as outfile: + outfile.write(", ".join(str(item) for item in solution)) + outfile.write("\n") + outfile.write(str(fitness)) + +def plot_learning(fitness_list): + """ + Plot the fitness through iterations. + """ + plt.plot([i for i in range(len(fitness_list))], fitness_list) + plt.ylabel("Fitness") + plt.xlabel("Iteration") + plt.show() + +def load_data(file): + coords = [] + with open(file, "r") as infile: + line = infile.readline() + # Skip instance header + while "NODE_COORD_SECTION" not in line: + line = infile.readline() + + for line in infile.readlines(): + line = line.replace("\n", "") + if line and 'EOF' not in line: + line = [float(x) for x in line.lstrip().split(" ", 1)[1].split(" ") if x] + coords.append(line) + return coords + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='TSP Solver') + parser.add_argument( + 'tsp_file', + type=str, + help='Path to tsp file.' + ) + parser.add_argument( + '--plot', + action="store_true", + help='Plot results' + ) + args = parser.parse_args() + + coords = load_data(args.tsp_file) + + # model = MyModel(coords) + # best_solution, fitness_list = model.fit(max_it=100000) + + sa = SimAnneal(coords) + best_solution, fitness_list = sa.fit(max_it=100000) + + if best_solution: + if args.plot: + visualize_tsp.plotTSP([best_solution], coords) + if fitness_list: + plot_learning(fitness_list) + print("Writing the best solution to file" ) + write_to_file(best_solution, sa.fitness(best_solution)) + + data = {} + data['nodes'] = [] + for i in range(len(coords)): + data['nodes'].append({ + 'title': str(i), + 'id': i, + 'x': int(coords[i][0]), + 'y': int(coords[i][1]) + }) + data['edges'] = [] + for i in range(len(best_solution)): + if i == len(best_solution)-1: + data['edges'].append({ + 'source': best_solution[i], + 'target': best_solution[0] + }) + else: + data['edges'].append({ + 'source': best_solution[i], + 'target': best_solution[i+1] + }) + + with open('output/' + os.path.splitext(os.path.basename(args.tsp_file))[0] + '.json', 'w') as outfile: + json.dump(data, outfile) diff --git a/model/anneal_model.py b/model/anneal_model.py new file mode 100644 index 0000000..ba49e0a --- /dev/null +++ b/model/anneal_model.py @@ -0,0 +1,83 @@ +import math +import random +import matplotlib.pyplot as plt +from model.base_model import Model + +class SimAnneal(Model): + def __init__(self, coords, T=-1, alpha=-1, stopping_T=-1): + super().__init__(coords) + + self.iteration = 0 + + self.T = math.sqrt(self.N) if T == -1 else T + self.T_save = self.T # save inital T to reset if batch annealing is used + self.alpha = 0.995 if alpha == -1 else alpha + self.stopping_temperature = 1e-8 if stopping_T == -1 else stopping_T + + def initial_solution(self): + """ + Greedy algorithm to get an initial solution (closest-neighbour). + """ + cur_node = random.choice(self.nodes) # start from a random node + solution = [cur_node] + + free_nodes = set(self.nodes) + free_nodes.remove(cur_node) + while free_nodes: + next_node = min(free_nodes, key=lambda x: self.dist(cur_node, x)) # nearest neighbour + free_nodes.remove(next_node) + solution.append(next_node) + cur_node = next_node + + cur_fit = self.fitness(solution) + if cur_fit < self.best_fitness: # If best found so far, update best fitness + self.best_fitness = cur_fit + self.best_solution = solution + self.fitness_list.append(cur_fit) + return solution, cur_fit + + def p_accept(self, candidate_fitness): + """ + Probability of accepting if the candidate is worse than current. + Depends on the current temperature and difference between candidate and current. + """ + return math.exp(-abs(candidate_fitness - self.cur_fitness) / self.T) + + def accept(self, candidate): + """ + Accept with probability 1 if candidate is better than current. + Accept with probabilty p_accept(..) if candidate is worse. + """ + candidate_fitness = self.fitness(candidate) + if candidate_fitness < self.cur_fitness: + self.cur_fitness, self.cur_solution = candidate_fitness, candidate + if candidate_fitness < self.best_fitness: + self.best_fitness, self.best_solution = candidate_fitness, candidate + else: + if random.random() < self.p_accept(candidate_fitness): + self.cur_fitness, self.cur_solution = candidate_fitness, candidate + + def fit(self, max_it=1000): + """ + Execute simulated annealing algorithm. + """ + # Initialize with the greedy solution. + self.cur_solution, self.cur_fitness = self.initial_solution() + + self.log("Starting annealing.") + while self.T >= self.stopping_temperature and self.iteration < max_it: + candidate = list(self.cur_solution) + l = random.randint(2, self.N - 1) + i = random.randint(0, self.N - l) + candidate[i : (i + l)] = reversed(candidate[i : (i + l)]) + self.accept(candidate) + self.T *= self.alpha + self.iteration += 1 + + self.fitness_list.append(self.cur_fitness) + + self.log(f"Best fitness obtained: {self.best_fitness}") + improvement = 100 * (self.fitness_list[0] - self.best_fitness) / (self.fitness_list[0]) + self.log(f"Improvement over greedy heuristic: {improvement : .2f}%") + + return self.best_solution, self.fitness_list diff --git a/model/base_model.py b/model/base_model.py new file mode 100644 index 0000000..047f95c --- /dev/null +++ b/model/base_model.py @@ -0,0 +1,34 @@ +import math + +class Model: + + def __init__(self, coords): + self.coords = coords + self.N = len(coords) + self.nodes = [i for i in range(self.N)] + + self.best_solution = None + self.best_fitness = float("Inf") + self.fitness_list = [] + + def dist(self, node_0, node_1): + """ + Euclidean distance between two nodes. + """ + coord_0, coord_1 = self.coords[node_0], self.coords[node_1] + return math.sqrt((coord_0[0] - coord_1[0]) ** 2 + (coord_0[1] - coord_1[1]) ** 2) + + def fitness(self, solution): + """ + Total distance of the current solution path. + """ + cur_fit = 0 + for i in range(self.N): + cur_fit += self.dist(solution[i % self.N], solution[(i + 1) % self.N]) + return cur_fit + + def fit(self): + raise NotImplementedError("Your fitting method not implemented yet") + + def log(self, message): + print('[{name}] {msg}'.format(name=self.__class__.__name__, msg=message)) diff --git a/model/my_model.py b/model/my_model.py new file mode 100644 index 0000000..a0f99f9 --- /dev/null +++ b/model/my_model.py @@ -0,0 +1,19 @@ +import math +import random +from model.base_model import Model + +class MyModel(Model): + def __init__(self, coords): + super().__init__(coords) + """ + Put your initialization here. + """ + self.log("Nothing to initialize in your model now") + + def fit(self, max_it=1000, visualize=False): + """ + Put your iteration process here. + """ + self.log("Nothing happens in your model now") + + return self.best_solution, self.fitness_list diff --git a/output/a280.json b/output/a280.json new file mode 100644 index 0000000..4c6c6d0 --- /dev/null +++ b/output/a280.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 288, "y": 149}, {"title": "1", "id": 1, "x": 288, "y": 129}, {"title": "2", "id": 2, "x": 270, "y": 133}, {"title": "3", "id": 3, "x": 256, "y": 141}, {"title": "4", "id": 4, "x": 256, "y": 157}, {"title": "5", "id": 5, "x": 246, "y": 157}, {"title": "6", "id": 6, "x": 236, "y": 169}, {"title": "7", "id": 7, "x": 228, "y": 169}, {"title": "8", "id": 8, "x": 228, "y": 161}, {"title": "9", "id": 9, "x": 220, "y": 169}, {"title": "10", "id": 10, "x": 212, "y": 169}, {"title": "11", "id": 11, "x": 204, "y": 169}, {"title": "12", "id": 12, "x": 196, "y": 169}, {"title": "13", "id": 13, "x": 188, "y": 169}, {"title": "14", "id": 14, "x": 196, "y": 161}, {"title": "15", "id": 15, "x": 188, "y": 145}, {"title": "16", "id": 16, "x": 172, "y": 145}, {"title": "17", "id": 17, "x": 164, "y": 145}, {"title": "18", "id": 18, "x": 156, "y": 145}, {"title": "19", "id": 19, "x": 148, "y": 145}, {"title": "20", "id": 20, "x": 140, "y": 145}, {"title": "21", "id": 21, "x": 148, "y": 169}, {"title": "22", "id": 22, "x": 164, "y": 169}, {"title": "23", "id": 23, "x": 172, "y": 169}, {"title": "24", "id": 24, "x": 156, "y": 169}, {"title": "25", "id": 25, "x": 140, "y": 169}, {"title": "26", "id": 26, "x": 132, "y": 169}, {"title": "27", "id": 27, "x": 124, "y": 169}, {"title": "28", "id": 28, "x": 116, "y": 161}, {"title": "29", "id": 29, "x": 104, "y": 153}, {"title": "30", "id": 30, "x": 104, "y": 161}, {"title": "31", "id": 31, "x": 104, "y": 169}, {"title": "32", "id": 32, "x": 90, "y": 165}, {"title": "33", "id": 33, "x": 80, "y": 157}, {"title": "34", "id": 34, "x": 64, "y": 157}, {"title": "35", "id": 35, "x": 64, "y": 165}, {"title": "36", "id": 36, "x": 56, "y": 169}, {"title": "37", "id": 37, "x": 56, "y": 161}, {"title": "38", "id": 38, "x": 56, "y": 153}, {"title": "39", "id": 39, "x": 56, "y": 145}, {"title": "40", "id": 40, "x": 56, "y": 137}, {"title": "41", "id": 41, "x": 56, "y": 129}, {"title": "42", "id": 42, "x": 56, "y": 121}, {"title": "43", "id": 43, "x": 40, "y": 121}, {"title": "44", "id": 44, "x": 40, "y": 129}, {"title": "45", "id": 45, "x": 40, "y": 137}, {"title": "46", "id": 46, "x": 40, "y": 145}, {"title": "47", "id": 47, "x": 40, "y": 153}, {"title": "48", "id": 48, "x": 40, "y": 161}, {"title": "49", "id": 49, "x": 40, "y": 169}, {"title": "50", "id": 50, "x": 32, "y": 169}, {"title": "51", "id": 51, "x": 32, "y": 161}, {"title": "52", "id": 52, "x": 32, "y": 153}, {"title": "53", "id": 53, "x": 32, "y": 145}, {"title": "54", "id": 54, "x": 32, "y": 137}, {"title": "55", "id": 55, "x": 32, "y": 129}, {"title": "56", "id": 56, "x": 32, "y": 121}, {"title": "57", "id": 57, "x": 32, "y": 113}, {"title": "58", "id": 58, "x": 40, "y": 113}, {"title": "59", "id": 59, "x": 56, "y": 113}, {"title": "60", "id": 60, "x": 56, "y": 105}, {"title": "61", "id": 61, "x": 48, "y": 99}, {"title": "62", "id": 62, "x": 40, "y": 99}, {"title": "63", "id": 63, "x": 32, "y": 97}, {"title": "64", "id": 64, "x": 32, "y": 89}, {"title": "65", "id": 65, "x": 24, "y": 89}, {"title": "66", "id": 66, "x": 16, "y": 97}, {"title": "67", "id": 67, "x": 16, "y": 109}, {"title": "68", "id": 68, "x": 8, "y": 109}, {"title": "69", "id": 69, "x": 8, "y": 97}, {"title": "70", "id": 70, "x": 8, "y": 89}, {"title": "71", "id": 71, "x": 8, "y": 81}, {"title": "72", "id": 72, "x": 8, "y": 73}, {"title": "73", "id": 73, "x": 8, "y": 65}, {"title": "74", "id": 74, "x": 8, "y": 57}, {"title": "75", "id": 75, "x": 16, "y": 57}, {"title": "76", "id": 76, "x": 8, "y": 49}, {"title": "77", "id": 77, "x": 8, "y": 41}, {"title": "78", "id": 78, "x": 24, "y": 45}, {"title": "79", "id": 79, "x": 32, "y": 41}, {"title": "80", "id": 80, "x": 32, "y": 49}, {"title": "81", "id": 81, "x": 32, "y": 57}, {"title": "82", "id": 82, "x": 32, "y": 65}, {"title": "83", "id": 83, "x": 32, "y": 73}, {"title": "84", "id": 84, "x": 32, "y": 81}, {"title": "85", "id": 85, "x": 40, "y": 83}, {"title": "86", "id": 86, "x": 40, "y": 73}, {"title": "87", "id": 87, "x": 40, "y": 63}, {"title": "88", "id": 88, "x": 40, "y": 51}, {"title": "89", "id": 89, "x": 44, "y": 43}, {"title": "90", "id": 90, "x": 44, "y": 35}, {"title": "91", "id": 91, "x": 44, "y": 27}, {"title": "92", "id": 92, "x": 32, "y": 25}, {"title": "93", "id": 93, "x": 24, "y": 25}, {"title": "94", "id": 94, "x": 16, "y": 25}, {"title": "95", "id": 95, "x": 16, "y": 17}, {"title": "96", "id": 96, "x": 24, "y": 17}, {"title": "97", "id": 97, "x": 32, "y": 17}, {"title": "98", "id": 98, "x": 44, "y": 11}, {"title": "99", "id": 99, "x": 56, "y": 9}, {"title": "100", "id": 100, "x": 56, "y": 17}, {"title": "101", "id": 101, "x": 56, "y": 25}, {"title": "102", "id": 102, "x": 56, "y": 33}, {"title": "103", "id": 103, "x": 56, "y": 41}, {"title": "104", "id": 104, "x": 64, "y": 41}, {"title": "105", "id": 105, "x": 72, "y": 41}, {"title": "106", "id": 106, "x": 72, "y": 49}, {"title": "107", "id": 107, "x": 56, "y": 49}, {"title": "108", "id": 108, "x": 48, "y": 51}, {"title": "109", "id": 109, "x": 56, "y": 57}, {"title": "110", "id": 110, "x": 56, "y": 65}, {"title": "111", "id": 111, "x": 48, "y": 63}, {"title": "112", "id": 112, "x": 48, "y": 73}, {"title": "113", "id": 113, "x": 56, "y": 73}, {"title": "114", "id": 114, "x": 56, "y": 81}, {"title": "115", "id": 115, "x": 48, "y": 83}, {"title": "116", "id": 116, "x": 56, "y": 89}, {"title": "117", "id": 117, "x": 56, "y": 97}, {"title": "118", "id": 118, "x": 104, "y": 97}, {"title": "119", "id": 119, "x": 104, "y": 105}, {"title": "120", "id": 120, "x": 104, "y": 113}, {"title": "121", "id": 121, "x": 104, "y": 121}, {"title": "122", "id": 122, "x": 104, "y": 129}, {"title": "123", "id": 123, "x": 104, "y": 137}, {"title": "124", "id": 124, "x": 104, "y": 145}, {"title": "125", "id": 125, "x": 116, "y": 145}, {"title": "126", "id": 126, "x": 124, "y": 145}, {"title": "127", "id": 127, "x": 132, "y": 145}, {"title": "128", "id": 128, "x": 132, "y": 137}, {"title": "129", "id": 129, "x": 140, "y": 137}, {"title": "130", "id": 130, "x": 148, "y": 137}, {"title": "131", "id": 131, "x": 156, "y": 137}, {"title": "132", "id": 132, "x": 164, "y": 137}, {"title": "133", "id": 133, "x": 172, "y": 125}, {"title": "134", "id": 134, "x": 172, "y": 117}, {"title": "135", "id": 135, "x": 172, "y": 109}, {"title": "136", "id": 136, "x": 172, "y": 101}, {"title": "137", "id": 137, "x": 172, "y": 93}, {"title": "138", "id": 138, "x": 172, "y": 85}, {"title": "139", "id": 139, "x": 180, "y": 85}, {"title": "140", "id": 140, "x": 180, "y": 77}, {"title": "141", "id": 141, "x": 180, "y": 69}, {"title": "142", "id": 142, "x": 180, "y": 61}, {"title": "143", "id": 143, "x": 180, "y": 53}, {"title": "144", "id": 144, "x": 172, "y": 53}, {"title": "145", "id": 145, "x": 172, "y": 61}, {"title": "146", "id": 146, "x": 172, "y": 69}, {"title": "147", "id": 147, "x": 172, "y": 77}, {"title": "148", "id": 148, "x": 164, "y": 81}, {"title": "149", "id": 149, "x": 148, "y": 85}, {"title": "150", "id": 150, "x": 124, "y": 85}, {"title": "151", "id": 151, "x": 124, "y": 93}, {"title": "152", "id": 152, "x": 124, "y": 109}, {"title": "153", "id": 153, "x": 124, "y": 125}, {"title": "154", "id": 154, "x": 124, "y": 117}, {"title": "155", "id": 155, "x": 124, "y": 101}, {"title": "156", "id": 156, "x": 104, "y": 89}, {"title": "157", "id": 157, "x": 104, "y": 81}, {"title": "158", "id": 158, "x": 104, "y": 73}, {"title": "159", "id": 159, "x": 104, "y": 65}, {"title": "160", "id": 160, "x": 104, "y": 49}, {"title": "161", "id": 161, "x": 104, "y": 41}, {"title": "162", "id": 162, "x": 104, "y": 33}, {"title": "163", "id": 163, "x": 104, "y": 25}, {"title": "164", "id": 164, "x": 104, "y": 17}, {"title": "165", "id": 165, "x": 92, "y": 9}, {"title": "166", "id": 166, "x": 80, "y": 9}, {"title": "167", "id": 167, "x": 72, "y": 9}, {"title": "168", "id": 168, "x": 64, "y": 21}, {"title": "169", "id": 169, "x": 72, "y": 25}, {"title": "170", "id": 170, "x": 80, "y": 25}, {"title": "171", "id": 171, "x": 80, "y": 25}, {"title": "172", "id": 172, "x": 80, "y": 41}, {"title": "173", "id": 173, "x": 88, "y": 49}, {"title": "174", "id": 174, "x": 104, "y": 57}, {"title": "175", "id": 175, "x": 124, "y": 69}, {"title": "176", "id": 176, "x": 124, "y": 77}, {"title": "177", "id": 177, "x": 132, "y": 81}, {"title": "178", "id": 178, "x": 140, "y": 65}, {"title": "179", "id": 179, "x": 132, "y": 61}, {"title": "180", "id": 180, "x": 124, "y": 61}, {"title": "181", "id": 181, "x": 124, "y": 53}, {"title": "182", "id": 182, "x": 124, "y": 45}, {"title": "183", "id": 183, "x": 124, "y": 37}, {"title": "184", "id": 184, "x": 124, "y": 29}, {"title": "185", "id": 185, "x": 132, "y": 21}, {"title": "186", "id": 186, "x": 124, "y": 21}, {"title": "187", "id": 187, "x": 120, "y": 9}, {"title": "188", "id": 188, "x": 128, "y": 9}, {"title": "189", "id": 189, "x": 136, "y": 9}, {"title": "190", "id": 190, "x": 148, "y": 9}, {"title": "191", "id": 191, "x": 162, "y": 9}, {"title": "192", "id": 192, "x": 156, "y": 25}, {"title": "193", "id": 193, "x": 172, "y": 21}, {"title": "194", "id": 194, "x": 180, "y": 21}, {"title": "195", "id": 195, "x": 180, "y": 29}, {"title": "196", "id": 196, "x": 172, "y": 29}, {"title": "197", "id": 197, "x": 172, "y": 37}, {"title": "198", "id": 198, "x": 172, "y": 45}, {"title": "199", "id": 199, "x": 180, "y": 45}, {"title": "200", "id": 200, "x": 180, "y": 37}, {"title": "201", "id": 201, "x": 188, "y": 41}, {"title": "202", "id": 202, "x": 196, "y": 49}, {"title": "203", "id": 203, "x": 204, "y": 57}, {"title": "204", "id": 204, "x": 212, "y": 65}, {"title": "205", "id": 205, "x": 220, "y": 73}, {"title": "206", "id": 206, "x": 228, "y": 69}, {"title": "207", "id": 207, "x": 228, "y": 77}, {"title": "208", "id": 208, "x": 236, "y": 77}, {"title": "209", "id": 209, "x": 236, "y": 69}, {"title": "210", "id": 210, "x": 236, "y": 61}, {"title": "211", "id": 211, "x": 228, "y": 61}, {"title": "212", "id": 212, "x": 228, "y": 53}, {"title": "213", "id": 213, "x": 236, "y": 53}, {"title": "214", "id": 214, "x": 236, "y": 45}, {"title": "215", "id": 215, "x": 228, "y": 45}, {"title": "216", "id": 216, "x": 228, "y": 37}, {"title": "217", "id": 217, "x": 236, "y": 37}, {"title": "218", "id": 218, "x": 236, "y": 29}, {"title": "219", "id": 219, "x": 228, "y": 29}, {"title": "220", "id": 220, "x": 228, "y": 21}, {"title": "221", "id": 221, "x": 236, "y": 21}, {"title": "222", "id": 222, "x": 252, "y": 21}, {"title": "223", "id": 223, "x": 260, "y": 29}, {"title": "224", "id": 224, "x": 260, "y": 37}, {"title": "225", "id": 225, "x": 260, "y": 45}, {"title": "226", "id": 226, "x": 260, "y": 53}, {"title": "227", "id": 227, "x": 260, "y": 61}, {"title": "228", "id": 228, "x": 260, "y": 69}, {"title": "229", "id": 229, "x": 260, "y": 77}, {"title": "230", "id": 230, "x": 276, "y": 77}, {"title": "231", "id": 231, "x": 276, "y": 69}, {"title": "232", "id": 232, "x": 276, "y": 61}, {"title": "233", "id": 233, "x": 276, "y": 53}, {"title": "234", "id": 234, "x": 284, "y": 53}, {"title": "235", "id": 235, "x": 284, "y": 61}, {"title": "236", "id": 236, "x": 284, "y": 69}, {"title": "237", "id": 237, "x": 284, "y": 77}, {"title": "238", "id": 238, "x": 284, "y": 85}, {"title": "239", "id": 239, "x": 284, "y": 93}, {"title": "240", "id": 240, "x": 284, "y": 101}, {"title": "241", "id": 241, "x": 288, "y": 109}, {"title": "242", "id": 242, "x": 280, "y": 109}, {"title": "243", "id": 243, "x": 276, "y": 101}, {"title": "244", "id": 244, "x": 276, "y": 93}, {"title": "245", "id": 245, "x": 276, "y": 85}, {"title": "246", "id": 246, "x": 268, "y": 97}, {"title": "247", "id": 247, "x": 260, "y": 109}, {"title": "248", "id": 248, "x": 252, "y": 101}, {"title": "249", "id": 249, "x": 260, "y": 93}, {"title": "250", "id": 250, "x": 260, "y": 85}, {"title": "251", "id": 251, "x": 236, "y": 85}, {"title": "252", "id": 252, "x": 228, "y": 85}, {"title": "253", "id": 253, "x": 228, "y": 93}, {"title": "254", "id": 254, "x": 236, "y": 93}, {"title": "255", "id": 255, "x": 236, "y": 101}, {"title": "256", "id": 256, "x": 228, "y": 101}, {"title": "257", "id": 257, "x": 228, "y": 109}, {"title": "258", "id": 258, "x": 228, "y": 117}, {"title": "259", "id": 259, "x": 228, "y": 125}, {"title": "260", "id": 260, "x": 220, "y": 125}, {"title": "261", "id": 261, "x": 212, "y": 117}, {"title": "262", "id": 262, "x": 204, "y": 109}, {"title": "263", "id": 263, "x": 196, "y": 101}, {"title": "264", "id": 264, "x": 188, "y": 93}, {"title": "265", "id": 265, "x": 180, "y": 93}, {"title": "266", "id": 266, "x": 180, "y": 101}, {"title": "267", "id": 267, "x": 180, "y": 109}, {"title": "268", "id": 268, "x": 180, "y": 117}, {"title": "269", "id": 269, "x": 180, "y": 125}, {"title": "270", "id": 270, "x": 196, "y": 145}, {"title": "271", "id": 271, "x": 204, "y": 145}, {"title": "272", "id": 272, "x": 212, "y": 145}, {"title": "273", "id": 273, "x": 220, "y": 145}, {"title": "274", "id": 274, "x": 228, "y": 145}, {"title": "275", "id": 275, "x": 236, "y": 145}, {"title": "276", "id": 276, "x": 246, "y": 141}, {"title": "277", "id": 277, "x": 252, "y": 125}, {"title": "278", "id": 278, "x": 260, "y": 129}, {"title": "279", "id": 279, "x": 280, "y": 133}], "edges": [{"source": 198, "target": 199}, {"source": 199, "target": 201}, {"source": 201, "target": 202}, {"source": 202, "target": 142}, {"source": 142, "target": 143}, {"source": 143, "target": 144}, {"source": 144, "target": 145}, {"source": 145, "target": 146}, {"source": 146, "target": 148}, {"source": 148, "target": 149}, {"source": 149, "target": 177}, {"source": 177, "target": 150}, {"source": 150, "target": 151}, {"source": 151, "target": 155}, {"source": 155, "target": 152}, {"source": 152, "target": 154}, {"source": 154, "target": 153}, {"source": 153, "target": 128}, {"source": 128, "target": 129}, {"source": 129, "target": 130}, {"source": 130, "target": 131}, {"source": 131, "target": 132}, {"source": 132, "target": 14}, {"source": 14, "target": 269}, {"source": 269, "target": 133}, {"source": 133, "target": 134}, {"source": 134, "target": 135}, {"source": 135, "target": 136}, {"source": 136, "target": 137}, {"source": 137, "target": 265}, {"source": 265, "target": 264}, {"source": 264, "target": 263}, {"source": 263, "target": 262}, {"source": 262, "target": 261}, {"source": 261, "target": 260}, {"source": 260, "target": 259}, {"source": 259, "target": 258}, {"source": 258, "target": 257}, {"source": 257, "target": 256}, {"source": 256, "target": 253}, {"source": 253, "target": 252}, {"source": 252, "target": 251}, {"source": 251, "target": 254}, {"source": 254, "target": 255}, {"source": 255, "target": 248}, {"source": 248, "target": 247}, {"source": 247, "target": 0}, {"source": 0, "target": 4}, {"source": 4, "target": 5}, {"source": 5, "target": 8}, {"source": 8, "target": 6}, {"source": 6, "target": 7}, {"source": 7, "target": 9}, {"source": 9, "target": 10}, {"source": 10, "target": 11}, {"source": 11, "target": 12}, {"source": 12, "target": 13}, {"source": 13, "target": 23}, {"source": 23, "target": 22}, {"source": 22, "target": 24}, {"source": 24, "target": 21}, {"source": 21, "target": 25}, {"source": 25, "target": 26}, {"source": 26, "target": 27}, {"source": 27, "target": 28}, {"source": 28, "target": 31}, {"source": 31, "target": 30}, {"source": 30, "target": 29}, {"source": 29, "target": 124}, {"source": 124, "target": 125}, {"source": 125, "target": 126}, {"source": 126, "target": 127}, {"source": 127, "target": 20}, {"source": 20, "target": 19}, {"source": 19, "target": 18}, {"source": 18, "target": 17}, {"source": 17, "target": 16}, {"source": 16, "target": 15}, {"source": 15, "target": 270}, {"source": 270, "target": 271}, {"source": 271, "target": 272}, {"source": 272, "target": 273}, {"source": 273, "target": 274}, {"source": 274, "target": 275}, {"source": 275, "target": 276}, {"source": 276, "target": 3}, {"source": 3, "target": 277}, {"source": 277, "target": 278}, {"source": 278, "target": 2}, {"source": 2, "target": 279}, {"source": 279, "target": 1}, {"source": 1, "target": 241}, {"source": 241, "target": 242}, {"source": 242, "target": 244}, {"source": 244, "target": 245}, {"source": 245, "target": 236}, {"source": 236, "target": 235}, {"source": 235, "target": 234}, {"source": 234, "target": 233}, {"source": 233, "target": 232}, {"source": 232, "target": 231}, {"source": 231, "target": 230}, {"source": 230, "target": 237}, {"source": 237, "target": 238}, {"source": 238, "target": 239}, {"source": 239, "target": 240}, {"source": 240, "target": 243}, {"source": 243, "target": 246}, {"source": 246, "target": 249}, {"source": 249, "target": 250}, {"source": 250, "target": 229}, {"source": 229, "target": 228}, {"source": 228, "target": 227}, {"source": 227, "target": 226}, {"source": 226, "target": 225}, {"source": 225, "target": 224}, {"source": 224, "target": 223}, {"source": 223, "target": 222}, {"source": 222, "target": 221}, {"source": 221, "target": 220}, {"source": 220, "target": 219}, {"source": 219, "target": 218}, {"source": 218, "target": 217}, {"source": 217, "target": 216}, {"source": 216, "target": 215}, {"source": 215, "target": 214}, {"source": 214, "target": 213}, {"source": 213, "target": 212}, {"source": 212, "target": 211}, {"source": 211, "target": 206}, {"source": 206, "target": 210}, {"source": 210, "target": 209}, {"source": 209, "target": 208}, {"source": 208, "target": 207}, {"source": 207, "target": 203}, {"source": 203, "target": 204}, {"source": 204, "target": 205}, {"source": 205, "target": 268}, {"source": 268, "target": 267}, {"source": 267, "target": 266}, {"source": 266, "target": 139}, {"source": 139, "target": 138}, {"source": 138, "target": 147}, {"source": 147, "target": 140}, {"source": 140, "target": 141}, {"source": 141, "target": 119}, {"source": 119, "target": 120}, {"source": 120, "target": 121}, {"source": 121, "target": 122}, {"source": 122, "target": 123}, {"source": 123, "target": 33}, {"source": 33, "target": 32}, {"source": 32, "target": 35}, {"source": 35, "target": 34}, {"source": 34, "target": 37}, {"source": 37, "target": 36}, {"source": 36, "target": 38}, {"source": 38, "target": 39}, {"source": 39, "target": 40}, {"source": 40, "target": 41}, {"source": 41, "target": 42}, {"source": 42, "target": 59}, {"source": 59, "target": 60}, {"source": 60, "target": 117}, {"source": 117, "target": 116}, {"source": 116, "target": 114}, {"source": 114, "target": 113}, {"source": 113, "target": 110}, {"source": 110, "target": 109}, {"source": 109, "target": 107}, {"source": 107, "target": 103}, {"source": 103, "target": 82}, {"source": 82, "target": 87}, {"source": 87, "target": 111}, {"source": 111, "target": 108}, {"source": 108, "target": 88}, {"source": 88, "target": 89}, {"source": 89, "target": 90}, {"source": 90, "target": 91}, {"source": 91, "target": 96}, {"source": 96, "target": 95}, {"source": 95, "target": 94}, {"source": 94, "target": 93}, {"source": 93, "target": 92}, {"source": 92, "target": 97}, {"source": 97, "target": 98}, {"source": 98, "target": 99}, {"source": 99, "target": 100}, {"source": 100, "target": 101}, {"source": 101, "target": 102}, {"source": 102, "target": 81}, {"source": 81, "target": 80}, {"source": 80, "target": 79}, {"source": 79, "target": 78}, {"source": 78, "target": 75}, {"source": 75, "target": 74}, {"source": 74, "target": 73}, {"source": 73, "target": 72}, {"source": 72, "target": 71}, {"source": 71, "target": 70}, {"source": 70, "target": 69}, {"source": 69, "target": 66}, {"source": 66, "target": 65}, {"source": 65, "target": 64}, {"source": 64, "target": 63}, {"source": 63, "target": 62}, {"source": 62, "target": 61}, {"source": 61, "target": 115}, {"source": 115, "target": 85}, {"source": 85, "target": 84}, {"source": 84, "target": 83}, {"source": 83, "target": 86}, {"source": 86, "target": 112}, {"source": 112, "target": 106}, {"source": 106, "target": 172}, {"source": 172, "target": 104}, {"source": 104, "target": 105}, {"source": 105, "target": 77}, {"source": 77, "target": 76}, {"source": 76, "target": 68}, {"source": 68, "target": 67}, {"source": 67, "target": 57}, {"source": 57, "target": 56}, {"source": 56, "target": 43}, {"source": 43, "target": 44}, {"source": 44, "target": 45}, {"source": 45, "target": 46}, {"source": 46, "target": 47}, {"source": 47, "target": 48}, {"source": 48, "target": 49}, {"source": 49, "target": 50}, {"source": 50, "target": 51}, {"source": 51, "target": 52}, {"source": 52, "target": 53}, {"source": 53, "target": 54}, {"source": 54, "target": 55}, {"source": 55, "target": 58}, {"source": 58, "target": 118}, {"source": 118, "target": 156}, {"source": 156, "target": 157}, {"source": 157, "target": 158}, {"source": 158, "target": 159}, {"source": 159, "target": 173}, {"source": 173, "target": 160}, {"source": 160, "target": 161}, {"source": 161, "target": 162}, {"source": 162, "target": 163}, {"source": 163, "target": 164}, {"source": 164, "target": 165}, {"source": 165, "target": 166}, {"source": 166, "target": 167}, {"source": 167, "target": 168}, {"source": 168, "target": 169}, {"source": 169, "target": 170}, {"source": 170, "target": 171}, {"source": 171, "target": 174}, {"source": 174, "target": 184}, {"source": 184, "target": 183}, {"source": 183, "target": 182}, {"source": 182, "target": 181}, {"source": 181, "target": 180}, {"source": 180, "target": 175}, {"source": 175, "target": 176}, {"source": 176, "target": 179}, {"source": 179, "target": 178}, {"source": 178, "target": 185}, {"source": 185, "target": 186}, {"source": 186, "target": 187}, {"source": 187, "target": 188}, {"source": 188, "target": 189}, {"source": 189, "target": 190}, {"source": 190, "target": 191}, {"source": 191, "target": 192}, {"source": 192, "target": 200}, {"source": 200, "target": 195}, {"source": 195, "target": 194}, {"source": 194, "target": 193}, {"source": 193, "target": 196}, {"source": 196, "target": 197}, {"source": 197, "target": 198}]} \ No newline at end of file diff --git a/output/a280.txt b/output/a280.txt new file mode 100644 index 0000000..d0dbeac --- /dev/null +++ b/output/a280.txt @@ -0,0 +1 @@ +198, 199, 201, 202, 142, 143, 144, 145, 146, 148, 149, 177, 150, 151, 155, 152, 154, 153, 128, 129, 130, 131, 132, 14, 269, 133, 134, 135, 136, 137, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 253, 252, 251, 254, 255, 248, 247, 0, 4, 5, 8, 6, 7, 9, 10, 11, 12, 13, 23, 22, 24, 21, 25, 26, 27, 28, 31, 30, 29, 124, 125, 126, 127, 20, 19, 18, 17, 16, 15, 270, 271, 272, 273, 274, 275, 276, 3, 277, 278, 2, 279, 1, 241, 242, 244, 245, 236, 235, 234, 233, 232, 231, 230, 237, 238, 239, 240, 243, 246, 249, 250, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 206, 210, 209, 208, 207, 203, 204, 205, 268, 267, 266, 139, 138, 147, 140, 141, 119, 120, 121, 122, 123, 33, 32, 35, 34, 37, 36, 38, 39, 40, 41, 42, 59, 60, 117, 116, 114, 113, 110, 109, 107, 103, 82, 87, 111, 108, 88, 89, 90, 91, 96, 95, 94, 93, 92, 97, 98, 99, 100, 101, 102, 81, 80, 79, 78, 75, 74, 73, 72, 71, 70, 69, 66, 65, 64, 63, 62, 61, 115, 85, 84, 83, 86, 112, 106, 172, 104, 105, 77, 76, 68, 67, 57, 56, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 118, 156, 157, 158, 159, 173, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 184, 183, 182, 181, 180, 175, 176, 179, 178, 185, 186, 187, 188, 189, 190, 191, 192, 200, 195, 194, 193, 196, 197 \ No newline at end of file diff --git a/output/att48.json b/output/att48.json new file mode 100644 index 0000000..e67c599 --- /dev/null +++ b/output/att48.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 6734, "y": 1453}, {"title": "1", "id": 1, "x": 2233, "y": 10}, {"title": "2", "id": 2, "x": 5530, "y": 1424}, {"title": "3", "id": 3, "x": 401, "y": 841}, {"title": "4", "id": 4, "x": 3082, "y": 1644}, {"title": "5", "id": 5, "x": 7608, "y": 4458}, {"title": "6", "id": 6, "x": 7573, "y": 3716}, {"title": "7", "id": 7, "x": 7265, "y": 1268}, {"title": "8", "id": 8, "x": 6898, "y": 1885}, {"title": "9", "id": 9, "x": 1112, "y": 2049}, {"title": "10", "id": 10, "x": 5468, "y": 2606}, {"title": "11", "id": 11, "x": 5989, "y": 2873}, {"title": "12", "id": 12, "x": 4706, "y": 2674}, {"title": "13", "id": 13, "x": 4612, "y": 2035}, {"title": "14", "id": 14, "x": 6347, "y": 2683}, {"title": "15", "id": 15, "x": 6107, "y": 669}, {"title": "16", "id": 16, "x": 7611, "y": 5184}, {"title": "17", "id": 17, "x": 7462, "y": 3590}, {"title": "18", "id": 18, "x": 7732, "y": 4723}, {"title": "19", "id": 19, "x": 5900, "y": 3561}, {"title": "20", "id": 20, "x": 4483, "y": 3369}, {"title": "21", "id": 21, "x": 6101, "y": 1110}, {"title": "22", "id": 22, "x": 5199, "y": 2182}, {"title": "23", "id": 23, "x": 1633, "y": 2809}, {"title": "24", "id": 24, "x": 4307, "y": 2322}, {"title": "25", "id": 25, "x": 675, "y": 1006}, {"title": "26", "id": 26, "x": 7555, "y": 4819}, {"title": "27", "id": 27, "x": 7541, "y": 3981}, {"title": "28", "id": 28, "x": 3177, "y": 756}, {"title": "29", "id": 29, "x": 7352, "y": 4506}, {"title": "30", "id": 30, "x": 7545, "y": 2801}, {"title": "31", "id": 31, "x": 3245, "y": 3305}, {"title": "32", "id": 32, "x": 6426, "y": 3173}, {"title": "33", "id": 33, "x": 4608, "y": 1198}, {"title": "34", "id": 34, "x": 23, "y": 2216}, {"title": "35", "id": 35, "x": 7248, "y": 3779}, {"title": "36", "id": 36, "x": 7762, "y": 4595}, {"title": "37", "id": 37, "x": 7392, "y": 2244}, {"title": "38", "id": 38, "x": 3484, "y": 2829}, {"title": "39", "id": 39, "x": 6271, "y": 2135}, {"title": "40", "id": 40, "x": 4985, "y": 140}, {"title": "41", "id": 41, "x": 1916, "y": 1569}, {"title": "42", "id": 42, "x": 7280, "y": 4899}, {"title": "43", "id": 43, "x": 7509, "y": 3239}, {"title": "44", "id": 44, "x": 10, "y": 2676}, {"title": "45", "id": 45, "x": 6807, "y": 2993}, {"title": "46", "id": 46, "x": 5185, "y": 3258}, {"title": "47", "id": 47, "x": 3023, "y": 1942}], "edges": [{"source": 36, "target": 5}, {"source": 5, "target": 27}, {"source": 27, "target": 6}, {"source": 6, "target": 17}, {"source": 17, "target": 43}, {"source": 43, "target": 30}, {"source": 30, "target": 37}, {"source": 37, "target": 8}, {"source": 8, "target": 7}, {"source": 7, "target": 0}, {"source": 0, "target": 15}, {"source": 15, "target": 21}, {"source": 21, "target": 2}, {"source": 2, "target": 39}, {"source": 39, "target": 14}, {"source": 14, "target": 11}, {"source": 11, "target": 10}, {"source": 10, "target": 22}, {"source": 22, "target": 33}, {"source": 33, "target": 40}, {"source": 40, "target": 1}, {"source": 1, "target": 28}, {"source": 28, "target": 4}, {"source": 4, "target": 47}, {"source": 47, "target": 41}, {"source": 41, "target": 9}, {"source": 9, "target": 25}, {"source": 25, "target": 3}, {"source": 3, "target": 34}, {"source": 34, "target": 44}, {"source": 44, "target": 23}, {"source": 23, "target": 31}, {"source": 31, "target": 38}, {"source": 38, "target": 24}, {"source": 24, "target": 13}, {"source": 13, "target": 12}, {"source": 12, "target": 20}, {"source": 20, "target": 46}, {"source": 46, "target": 19}, {"source": 19, "target": 32}, {"source": 32, "target": 45}, {"source": 45, "target": 35}, {"source": 35, "target": 29}, {"source": 29, "target": 42}, {"source": 42, "target": 16}, {"source": 16, "target": 26}, {"source": 26, "target": 18}, {"source": 18, "target": 36}]} \ No newline at end of file diff --git a/output/att48.txt b/output/att48.txt new file mode 100644 index 0000000..12e58c2 --- /dev/null +++ b/output/att48.txt @@ -0,0 +1,2 @@ +36, 5, 27, 6, 17, 43, 30, 37, 8, 7, 0, 15, 21, 2, 39, 14, 11, 10, 22, 33, 40, 1, 28, 4, 47, 41, 9, 25, 3, 34, 44, 23, 31, 38, 24, 13, 12, 20, 46, 19, 32, 45, 35, 29, 42, 16, 26, 18 +34767.13377984314 \ No newline at end of file diff --git a/output/dsj1000.json b/output/dsj1000.json new file mode 100644 index 0000000..c6086a1 --- /dev/null +++ b/output/dsj1000.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 981036, "y": 508139}, {"title": "1", "id": 1, "x": 534120, "y": -42453}, {"title": "2", "id": 2, "x": 577878, "y": -43732}, {"title": "3", "id": 3, "x": 532890, "y": -96645}, {"title": "4", "id": 4, "x": 205322, "y": 215891}, {"title": "5", "id": 5, "x": 225923, "y": 197950}, {"title": "6", "id": 6, "x": 69842, "y": 667632}, {"title": "7", "id": 7, "x": 391965, "y": 1054524}, {"title": "8", "id": 8, "x": 310065, "y": -10714}, {"title": "9", "id": 9, "x": 247401, "y": 754523}, {"title": "10", "id": 10, "x": 217951, "y": 218350}, {"title": "11", "id": 11, "x": 443097, "y": 54051}, {"title": "12", "id": 12, "x": 47342, "y": 630935}, {"title": "13", "id": 13, "x": 317515, "y": 713679}, {"title": "14", "id": 14, "x": 301816, "y": 1021772}, {"title": "15", "id": 15, "x": 950864, "y": 332234}, {"title": "16", "id": 16, "x": 276433, "y": 725657}, {"title": "17", "id": 17, "x": 921801, "y": 410349}, {"title": "18", "id": 18, "x": 555508, "y": 67090}, {"title": "19", "id": 19, "x": 409959, "y": 379409}, {"title": "20", "id": 20, "x": 968097, "y": 540588}, {"title": "21", "id": 21, "x": 40089, "y": 721860}, {"title": "22", "id": 22, "x": 702011, "y": 527050}, {"title": "23", "id": 23, "x": 726191, "y": 326684}, {"title": "24", "id": 24, "x": 990428, "y": 196959}, {"title": "25", "id": 25, "x": 381890, "y": 1003805}, {"title": "26", "id": 26, "x": 409527, "y": 1056227}, {"title": "27", "id": 27, "x": 675609, "y": 496310}, {"title": "28", "id": 28, "x": 971071, "y": 188552}, {"title": "29", "id": 29, "x": 932494, "y": 818793}, {"title": "30", "id": 30, "x": 936083, "y": 384774}, {"title": "31", "id": 31, "x": 835076, "y": 517826}, {"title": "32", "id": 32, "x": 120444, "y": 663239}, {"title": "33", "id": 33, "x": 648516, "y": 395774}, {"title": "34", "id": 34, "x": 402323, "y": 126508}, {"title": "35", "id": 35, "x": 307839, "y": 57178}, {"title": "36", "id": 36, "x": 397333, "y": 987582}, {"title": "37", "id": 37, "x": 314281, "y": 949219}, {"title": "38", "id": 38, "x": 105042, "y": 667806}, {"title": "39", "id": 39, "x": 1006036, "y": 468020}, {"title": "40", "id": 40, "x": 473356, "y": 311656}, {"title": "41", "id": 41, "x": 970499, "y": 257334}, {"title": "42", "id": 42, "x": 919732, "y": 458332}, {"title": "43", "id": 43, "x": 1033956, "y": 436231}, {"title": "44", "id": 44, "x": 934265, "y": 314744}, {"title": "45", "id": 45, "x": 239142, "y": 55856}, {"title": "46", "id": 46, "x": 720304, "y": 525053}, {"title": "47", "id": 47, "x": 480764, "y": 1058084}, {"title": "48", "id": 48, "x": 970063, "y": 396578}, {"title": "49", "id": 49, "x": 543132, "y": 334794}, {"title": "50", "id": 50, "x": 755587, "y": 491352}, {"title": "51", "id": 51, "x": 975653, "y": 745618}, {"title": "52", "id": 52, "x": 272842, "y": 58331}, {"title": "53", "id": 53, "x": 537123, "y": 165900}, {"title": "54", "id": 54, "x": 519742, "y": 129315}, {"title": "55", "id": 55, "x": 35924, "y": 947451}, {"title": "56", "id": 56, "x": 1064442, "y": 490895}, {"title": "57", "id": 57, "x": 489393, "y": 117496}, {"title": "58", "id": 58, "x": 631320, "y": 277543}, {"title": "59", "id": 59, "x": 261674, "y": 961159}, {"title": "60", "id": 60, "x": 534617, "y": 58056}, {"title": "61", "id": 61, "x": 691689, "y": 512673}, {"title": "62", "id": 62, "x": 182654, "y": 715277}, {"title": "63", "id": 63, "x": 945838, "y": 459916}, {"title": "64", "id": 64, "x": 627821, "y": -838}, {"title": "65", "id": 65, "x": 1022110, "y": 283893}, {"title": "66", "id": 66, "x": 458725, "y": 143747}, {"title": "67", "id": 67, "x": 273755, "y": -10984}, {"title": "68", "id": 68, "x": 293760, "y": 805861}, {"title": "69", "id": 69, "x": 466598, "y": 160110}, {"title": "70", "id": 70, "x": 906179, "y": 264649}, {"title": "71", "id": 71, "x": 712619, "y": 535794}, {"title": "72", "id": 72, "x": 240847, "y": 212619}, {"title": "73", "id": 73, "x": 993782, "y": 930601}, {"title": "74", "id": 74, "x": 322034, "y": 925655}, {"title": "75", "id": 75, "x": 954600, "y": 443790}, {"title": "76", "id": 76, "x": 995817, "y": 521789}, {"title": "77", "id": 77, "x": 267943, "y": -26353}, {"title": "78", "id": 78, "x": 674673, "y": 332544}, {"title": "79", "id": 79, "x": 978160, "y": 748015}, {"title": "80", "id": 80, "x": 353466, "y": 1077036}, {"title": "81", "id": 81, "x": 371788, "y": 950118}, {"title": "82", "id": 82, "x": 779223, "y": 446051}, {"title": "83", "id": 83, "x": 525136, "y": 311620}, {"title": "84", "id": 84, "x": 1026402, "y": 609181}, {"title": "85", "id": 85, "x": 619524, "y": -3330}, {"title": "86", "id": 86, "x": 644232, "y": 440581}, {"title": "87", "id": 87, "x": 198821, "y": 272321}, {"title": "88", "id": 88, "x": 280990, "y": 298348}, {"title": "89", "id": 89, "x": 475893, "y": 278934}, {"title": "90", "id": 90, "x": 291897, "y": 964145}, {"title": "91", "id": 91, "x": 476091, "y": 102274}, {"title": "92", "id": 92, "x": 34538, "y": 935151}, {"title": "93", "id": 93, "x": 985493, "y": 331624}, {"title": "94", "id": 94, "x": 25533, "y": 991767}, {"title": "95", "id": 95, "x": 1029016, "y": 248202}, {"title": "96", "id": 96, "x": 1041034, "y": 983317}, {"title": "97", "id": 97, "x": 922880, "y": 836157}, {"title": "98", "id": 98, "x": 754748, "y": 378532}, {"title": "99", "id": 99, "x": 193676, "y": 209011}, {"title": "100", "id": 100, "x": 269511, "y": 991097}, {"title": "101", "id": 101, "x": 608351, "y": 334935}, {"title": "102", "id": 102, "x": 221344, "y": 712137}, {"title": "103", "id": 103, "x": 940795, "y": 808773}, {"title": "104", "id": 104, "x": 35503, "y": 903653}, {"title": "105", "id": 105, "x": 194163, "y": -8394}, {"title": "106", "id": 106, "x": 459581, "y": 335048}, {"title": "107", "id": 107, "x": 331638, "y": 1096815}, {"title": "108", "id": 108, "x": 538796, "y": 317093}, {"title": "109", "id": 109, "x": 505069, "y": 123029}, {"title": "110", "id": 110, "x": 706191, "y": 481820}, {"title": "111", "id": 111, "x": 974314, "y": 819460}, {"title": "112", "id": 112, "x": 335170, "y": 808699}, {"title": "113", "id": 113, "x": 774079, "y": 491470}, {"title": "114", "id": 114, "x": 727757, "y": 567077}, {"title": "115", "id": 115, "x": 469054, "y": 308841}, {"title": "116", "id": 116, "x": 982345, "y": 808600}, {"title": "117", "id": 117, "x": 635739, "y": 329982}, {"title": "118", "id": 118, "x": 559782, "y": 199329}, {"title": "119", "id": 119, "x": 865983, "y": 362039}, {"title": "120", "id": 120, "x": 566229, "y": 32945}, {"title": "121", "id": 121, "x": 945355, "y": 443621}, {"title": "122", "id": 122, "x": 343074, "y": 1043145}, {"title": "123", "id": 123, "x": 456407, "y": 356580}, {"title": "124", "id": 124, "x": 930994, "y": 863608}, {"title": "125", "id": 125, "x": 465030, "y": 165426}, {"title": "126", "id": 126, "x": 585931, "y": 271316}, {"title": "127", "id": 127, "x": 78142, "y": 896258}, {"title": "128", "id": 128, "x": 228762, "y": 757017}, {"title": "129", "id": 129, "x": 641748, "y": 302745}, {"title": "130", "id": 130, "x": 265500, "y": 967350}, {"title": "131", "id": 131, "x": -18619, "y": 985581}, {"title": "132", "id": 132, "x": 437681, "y": 78375}, {"title": "133", "id": 133, "x": 657303, "y": 473671}, {"title": "134", "id": 134, "x": 207311, "y": 190512}, {"title": "135", "id": 135, "x": 1039916, "y": 606173}, {"title": "136", "id": 136, "x": 501654, "y": 342980}, {"title": "137", "id": 137, "x": 808872, "y": 431227}, {"title": "138", "id": 138, "x": 979141, "y": 290493}, {"title": "139", "id": 139, "x": 962582, "y": 325713}, {"title": "140", "id": 140, "x": 858477, "y": 607859}, {"title": "141", "id": 141, "x": 682062, "y": 285319}, {"title": "142", "id": 142, "x": 1018123, "y": 948910}, {"title": "143", "id": 143, "x": 555686, "y": 23786}, {"title": "144", "id": 144, "x": 895287, "y": 454109}, {"title": "145", "id": 145, "x": 373296, "y": 947968}, {"title": "146", "id": 146, "x": -3116, "y": 976012}, {"title": "147", "id": 147, "x": 617542, "y": 115270}, {"title": "148", "id": 148, "x": 735268, "y": 492611}, {"title": "149", "id": 149, "x": 954724, "y": 617777}, {"title": "150", "id": 150, "x": 565140, "y": 26652}, {"title": "151", "id": 151, "x": 892688, "y": 563248}, {"title": "152", "id": 152, "x": 911677, "y": 841211}, {"title": "153", "id": 153, "x": 1079810, "y": 800957}, {"title": "154", "id": 154, "x": 778264, "y": 555164}, {"title": "155", "id": 155, "x": 419974, "y": 135778}, {"title": "156", "id": 156, "x": 511106, "y": 982963}, {"title": "157", "id": 157, "x": 682826, "y": 550673}, {"title": "158", "id": 158, "x": 534554, "y": 150784}, {"title": "159", "id": 159, "x": 254767, "y": 754810}, {"title": "160", "id": 160, "x": 340163, "y": 932553}, {"title": "161", "id": 161, "x": 508592, "y": 312824}, {"title": "162", "id": 162, "x": 579508, "y": 296187}, {"title": "163", "id": 163, "x": 961560, "y": 301327}, {"title": "164", "id": 164, "x": 493862, "y": 175735}, {"title": "165", "id": 165, "x": 501386, "y": 266573}, {"title": "166", "id": 166, "x": 463909, "y": 88190}, {"title": "167", "id": 167, "x": 338390, "y": 671668}, {"title": "168", "id": 168, "x": 965235, "y": 921962}, {"title": "169", "id": 169, "x": 710505, "y": 507680}, {"title": "170", "id": 170, "x": 367928, "y": 96586}, {"title": "171", "id": 171, "x": 1061692, "y": 290085}, {"title": "172", "id": 172, "x": 577618, "y": 26586}, {"title": "173", "id": 173, "x": 568778, "y": 276180}, {"title": "174", "id": 174, "x": 120097, "y": 667734}, {"title": "175", "id": 175, "x": 439840, "y": 92005}, {"title": "176", "id": 176, "x": 400650, "y": 986098}, {"title": "177", "id": 177, "x": 944072, "y": 769857}, {"title": "178", "id": 178, "x": 604630, "y": 304795}, {"title": "179", "id": 179, "x": 933823, "y": 485086}, {"title": "180", "id": 180, "x": 336792, "y": 47017}, {"title": "181", "id": 181, "x": 984258, "y": 658894}, {"title": "182", "id": 182, "x": 665887, "y": 341226}, {"title": "183", "id": 183, "x": 683701, "y": 313080}, {"title": "184", "id": 184, "x": 286989, "y": 15656}, {"title": "185", "id": 185, "x": 727013, "y": 436681}, {"title": "186", "id": 186, "x": 196457, "y": 232311}, {"title": "187", "id": 187, "x": 489533, "y": 904759}, {"title": "188", "id": 188, "x": 4838, "y": 638626}, {"title": "189", "id": 189, "x": 964356, "y": 620951}, {"title": "190", "id": 190, "x": 14019, "y": 975847}, {"title": "191", "id": 191, "x": 1011610, "y": 457653}, {"title": "192", "id": 192, "x": 1086560, "y": 348419}, {"title": "193", "id": 193, "x": 331881, "y": 905996}, {"title": "194", "id": 194, "x": 446028, "y": 299319}, {"title": "195", "id": 195, "x": 989521, "y": 565952}, {"title": "196", "id": 196, "x": 638645, "y": 343723}, {"title": "197", "id": 197, "x": 80472, "y": 761743}, {"title": "198", "id": 198, "x": 918795, "y": 371845}, {"title": "199", "id": 199, "x": 962133, "y": 405576}, {"title": "200", "id": 200, "x": 90002, "y": 730359}, {"title": "201", "id": 201, "x": 1066231, "y": 519460}, {"title": "202", "id": 202, "x": 314455, "y": 717336}, {"title": "203", "id": 203, "x": 698977, "y": 548286}, {"title": "204", "id": 204, "x": 990152, "y": 861550}, {"title": "205", "id": 205, "x": 420156, "y": 1035929}, {"title": "206", "id": 206, "x": 989198, "y": 480008}, {"title": "207", "id": 207, "x": 1024997, "y": 244075}, {"title": "208", "id": 208, "x": 675765, "y": 277962}, {"title": "209", "id": 209, "x": 1017295, "y": 284449}, {"title": "210", "id": 210, "x": 279452, "y": 70873}, {"title": "211", "id": 211, "x": 66701, "y": 635082}, {"title": "212", "id": 212, "x": 799479, "y": 462913}, {"title": "213", "id": 213, "x": 359551, "y": 959225}, {"title": "214", "id": 214, "x": -21508, "y": 941499}, {"title": "215", "id": 215, "x": 179606, "y": 816588}, {"title": "216", "id": 216, "x": 680220, "y": 537678}, {"title": "217", "id": 217, "x": 109416, "y": 697746}, {"title": "218", "id": 218, "x": 1020461, "y": 867072}, {"title": "219", "id": 219, "x": 264488, "y": 51021}, {"title": "220", "id": 220, "x": 513200, "y": 119016}, {"title": "221", "id": 221, "x": 324952, "y": 979758}, {"title": "222", "id": 222, "x": -23037, "y": 907079}, {"title": "223", "id": 223, "x": 425793, "y": 1004271}, {"title": "224", "id": 224, "x": 245076, "y": 731150}, {"title": "225", "id": 225, "x": 732401, "y": 490047}, {"title": "226", "id": 226, "x": 495432, "y": 290024}, {"title": "227", "id": 227, "x": 863374, "y": 857586}, {"title": "228", "id": 228, "x": 1000845, "y": 453198}, {"title": "229", "id": 229, "x": 5802, "y": 937511}, {"title": "230", "id": 230, "x": 322488, "y": 718762}, {"title": "231", "id": 231, "x": 297064, "y": 940211}, {"title": "232", "id": 232, "x": 78039, "y": 176061}, {"title": "233", "id": 233, "x": 310707, "y": 17474}, {"title": "234", "id": 234, "x": 431057, "y": 917939}, {"title": "235", "id": 235, "x": 1012985, "y": 782917}, {"title": "236", "id": 236, "x": 910332, "y": 348187}, {"title": "237", "id": 237, "x": 1036911, "y": 806200}, {"title": "238", "id": 238, "x": 604167, "y": 14088}, {"title": "239", "id": 239, "x": 1034615, "y": 373033}, {"title": "240", "id": 240, "x": 595552, "y": 265288}, {"title": "241", "id": 241, "x": 480446, "y": 146778}, {"title": "242", "id": 242, "x": 968706, "y": 830827}, {"title": "243", "id": 243, "x": 520827, "y": 159727}, {"title": "244", "id": 244, "x": 927178, "y": 891801}, {"title": "245", "id": 245, "x": 58502, "y": 918647}, {"title": "246", "id": 246, "x": 678857, "y": 289512}, {"title": "247", "id": 247, "x": 921982, "y": 539806}, {"title": "248", "id": 248, "x": 1066895, "y": 310233}, {"title": "249", "id": 249, "x": 982152, "y": 537701}, {"title": "250", "id": 250, "x": 553647, "y": 90137}, {"title": "251", "id": 251, "x": 546523, "y": 252022}, {"title": "252", "id": 252, "x": 970347, "y": 920258}, {"title": "253", "id": 253, "x": 542786, "y": 244277}, {"title": "254", "id": 254, "x": 1038062, "y": 501176}, {"title": "255", "id": 255, "x": 939444, "y": 649000}, {"title": "256", "id": 256, "x": 755201, "y": 486107}, {"title": "257", "id": 257, "x": 245208, "y": 17631}, {"title": "258", "id": 258, "x": 859154, "y": 515363}, {"title": "259", "id": 259, "x": 928209, "y": 569207}, {"title": "260", "id": 260, "x": 228581, "y": 290039}, {"title": "261", "id": 261, "x": 898350, "y": 777460}, {"title": "262", "id": 262, "x": 486326, "y": 321618}, {"title": "263", "id": 263, "x": 354152, "y": 925489}, {"title": "264", "id": 264, "x": 307482, "y": 958761}, {"title": "265", "id": 265, "x": 920851, "y": 668651}, {"title": "266", "id": 266, "x": 96606, "y": 655604}, {"title": "267", "id": 267, "x": 926699, "y": 806400}, {"title": "268", "id": 268, "x": 748417, "y": 485823}, {"title": "269", "id": 269, "x": 633607, "y": 235913}, {"title": "270", "id": 270, "x": 520306, "y": 120787}, {"title": "271", "id": 271, "x": 259081, "y": 144892}, {"title": "272", "id": 272, "x": 459850, "y": 274123}, {"title": "273", "id": 273, "x": 145018, "y": 681646}, {"title": "274", "id": 274, "x": 959481, "y": 742510}, {"title": "275", "id": 275, "x": -31358, "y": 952162}, {"title": "276", "id": 276, "x": 331686, "y": 1086172}, {"title": "277", "id": 277, "x": 107344, "y": 669849}, {"title": "278", "id": 278, "x": 1038959, "y": 454099}, {"title": "279", "id": 279, "x": 880225, "y": 607529}, {"title": "280", "id": 280, "x": 669490, "y": 506855}, {"title": "281", "id": 281, "x": 548257, "y": 296059}, {"title": "282", "id": 282, "x": 326970, "y": 746737}, {"title": "283", "id": 283, "x": 429285, "y": 1062179}, {"title": "284", "id": 284, "x": 975519, "y": 448528}, {"title": "285", "id": 285, "x": 611622, "y": 341592}, {"title": "286", "id": 286, "x": 989119, "y": 800767}, {"title": "287", "id": 287, "x": 558132, "y": 154408}, {"title": "288", "id": 288, "x": 560470, "y": -6998}, {"title": "289", "id": 289, "x": 934941, "y": 858189}, {"title": "290", "id": 290, "x": 850650, "y": 352948}, {"title": "291", "id": 291, "x": 954289, "y": 573916}, {"title": "292", "id": 292, "x": 474903, "y": 332139}, {"title": "293", "id": 293, "x": 472412, "y": 180641}, {"title": "294", "id": 294, "x": 271736, "y": 832653}, {"title": "295", "id": 295, "x": 918600, "y": 797087}, {"title": "296", "id": 296, "x": 545895, "y": 277676}, {"title": "297", "id": 297, "x": 60914, "y": 739114}, {"title": "298", "id": 298, "x": 911842, "y": 481207}, {"title": "299", "id": 299, "x": 995987, "y": 513246}, {"title": "300", "id": 300, "x": 336244, "y": 924492}, {"title": "301", "id": 301, "x": 669624, "y": 367077}, {"title": "302", "id": 302, "x": 213113, "y": 317798}, {"title": "303", "id": 303, "x": 382186, "y": 966747}, {"title": "304", "id": 304, "x": 851876, "y": 331130}, {"title": "305", "id": 305, "x": 379917, "y": 905379}, {"title": "306", "id": 306, "x": 479603, "y": 310225}, {"title": "307", "id": 307, "x": 264587, "y": 696793}, {"title": "308", "id": 308, "x": 505738, "y": 308854}, {"title": "309", "id": 309, "x": 1005275, "y": 349543}, {"title": "310", "id": 310, "x": 11743, "y": 929818}, {"title": "311", "id": 311, "x": 966284, "y": 432460}, {"title": "312", "id": 312, "x": 66564, "y": 742265}, {"title": "313", "id": 313, "x": 985933, "y": 788152}, {"title": "314", "id": 314, "x": 177323, "y": 269057}, {"title": "315", "id": 315, "x": 582741, "y": 1622}, {"title": "316", "id": 316, "x": 1041728, "y": 969352}, {"title": "317", "id": 317, "x": 447075, "y": 133055}, {"title": "318", "id": 318, "x": 357224, "y": 1073600}, {"title": "319", "id": 319, "x": 939524, "y": 731450}, {"title": "320", "id": 320, "x": 980763, "y": 433554}, {"title": "321", "id": 321, "x": 466840, "y": 281154}, {"title": "322", "id": 322, "x": 208129, "y": 260745}, {"title": "323", "id": 323, "x": 990651, "y": 511078}, {"title": "324", "id": 324, "x": 875583, "y": 392312}, {"title": "325", "id": 325, "x": 566752, "y": 39284}, {"title": "326", "id": 326, "x": 649829, "y": 356055}, {"title": "327", "id": 327, "x": 583955, "y": -22935}, {"title": "328", "id": 328, "x": 1055782, "y": 306326}, {"title": "329", "id": 329, "x": 220744, "y": 66433}, {"title": "330", "id": 330, "x": 1068535, "y": 307643}, {"title": "331", "id": 331, "x": 957576, "y": 969635}, {"title": "332", "id": 332, "x": 424155, "y": 668}, {"title": "333", "id": 333, "x": 582864, "y": 731}, {"title": "334", "id": 334, "x": 450704, "y": 1012748}, {"title": "335", "id": 335, "x": 736428, "y": 451426}, {"title": "336", "id": 336, "x": 700624, "y": 501219}, {"title": "337", "id": 337, "x": 594358, "y": 80877}, {"title": "338", "id": 338, "x": 1038313, "y": 825056}, {"title": "339", "id": 339, "x": 1030838, "y": 436629}, {"title": "340", "id": 340, "x": 462130, "y": 153079}, {"title": "341", "id": 341, "x": 415990, "y": 924813}, {"title": "342", "id": 342, "x": 231689, "y": 255900}, {"title": "343", "id": 343, "x": 364279, "y": -43699}, {"title": "344", "id": 344, "x": 989301, "y": 332654}, {"title": "345", "id": 345, "x": 420978, "y": 975030}, {"title": "346", "id": 346, "x": 224229, "y": -21641}, {"title": "347", "id": 347, "x": 999754, "y": 586633}, {"title": "348", "id": 348, "x": 662863, "y": 512705}, {"title": "349", "id": 349, "x": 808076, "y": 416004}, {"title": "350", "id": 350, "x": 491677, "y": 192175}, {"title": "351", "id": 351, "x": 6138, "y": 954238}, {"title": "352", "id": 352, "x": 16453, "y": 957178}, {"title": "353", "id": 353, "x": 244797, "y": 753540}, {"title": "354", "id": 354, "x": 1015830, "y": 948217}, {"title": "355", "id": 355, "x": 958908, "y": 326754}, {"title": "356", "id": 356, "x": 580726, "y": 30503}, {"title": "357", "id": 357, "x": 299497, "y": 80977}, {"title": "358", "id": 358, "x": 120877, "y": 663858}, {"title": "359", "id": 359, "x": 1020152, "y": 422262}, {"title": "360", "id": 360, "x": 94578, "y": 726847}, {"title": "361", "id": 361, "x": 611452, "y": 362851}, {"title": "362", "id": 362, "x": 91700, "y": 971621}, {"title": "363", "id": 363, "x": 922396, "y": 410703}, {"title": "364", "id": 364, "x": 407150, "y": 188306}, {"title": "365", "id": 365, "x": 988373, "y": 994165}, {"title": "366", "id": 366, "x": 252224, "y": 211268}, {"title": "367", "id": 367, "x": 1029211, "y": 318790}, {"title": "368", "id": 368, "x": 228228, "y": 675784}, {"title": "369", "id": 369, "x": 181963, "y": 160602}, {"title": "370", "id": 370, "x": 194151, "y": 204264}, {"title": "371", "id": 371, "x": 990429, "y": 616589}, {"title": "372", "id": 372, "x": 962485, "y": 471277}, {"title": "373", "id": 373, "x": 487027, "y": 48736}, {"title": "374", "id": 374, "x": 428212, "y": 364305}, {"title": "375", "id": 375, "x": 736395, "y": 465004}, {"title": "376", "id": 376, "x": 437231, "y": 106871}, {"title": "377", "id": 377, "x": 959325, "y": 867596}, {"title": "378", "id": 378, "x": 629268, "y": 270211}, {"title": "379", "id": 379, "x": 470712, "y": 43382}, {"title": "380", "id": 380, "x": 402693, "y": 1013043}, {"title": "381", "id": 381, "x": 405226, "y": 1028002}, {"title": "382", "id": 382, "x": 194476, "y": 210876}, {"title": "383", "id": 383, "x": 1007126, "y": 885952}, {"title": "384", "id": 384, "x": 1006388, "y": 538259}, {"title": "385", "id": 385, "x": 902672, "y": 642791}, {"title": "386", "id": 386, "x": 994285, "y": 638276}, {"title": "387", "id": 387, "x": 521655, "y": 191446}, {"title": "388", "id": 388, "x": 715231, "y": 318286}, {"title": "389", "id": 389, "x": 729198, "y": 445581}, {"title": "390", "id": 390, "x": 739110, "y": 510144}, {"title": "391", "id": 391, "x": 1043693, "y": 908389}, {"title": "392", "id": 392, "x": 440393, "y": 957757}, {"title": "393", "id": 393, "x": 646914, "y": 77788}, {"title": "394", "id": 394, "x": 701037, "y": 273839}, {"title": "395", "id": 395, "x": 978831, "y": 819659}, {"title": "396", "id": 396, "x": 859182, "y": 418430}, {"title": "397", "id": 397, "x": 971852, "y": 787831}, {"title": "398", "id": 398, "x": 269783, "y": 710141}, {"title": "399", "id": 399, "x": 737963, "y": 578273}, {"title": "400", "id": 400, "x": 484930, "y": 251860}, {"title": "401", "id": 401, "x": 500191, "y": -26033}, {"title": "402", "id": 402, "x": 362059, "y": 68965}, {"title": "403", "id": 403, "x": 612083, "y": 543519}, {"title": "404", "id": 404, "x": 554854, "y": 268201}, {"title": "405", "id": 405, "x": 878413, "y": 471867}, {"title": "406", "id": 406, "x": 539006, "y": 1025381}, {"title": "407", "id": 407, "x": 245354, "y": 726275}, {"title": "408", "id": 408, "x": 945490, "y": 733405}, {"title": "409", "id": 409, "x": 151112, "y": 643610}, {"title": "410", "id": 410, "x": 819079, "y": 401742}, {"title": "411", "id": 411, "x": 239369, "y": 615866}, {"title": "412", "id": 412, "x": 93844, "y": 715303}, {"title": "413", "id": 413, "x": 654552, "y": 326167}, {"title": "414", "id": 414, "x": 559275, "y": 343566}, {"title": "415", "id": 415, "x": 1006204, "y": 947646}, {"title": "416", "id": 416, "x": 988530, "y": 916792}, {"title": "417", "id": 417, "x": 464115, "y": 303033}, {"title": "418", "id": 418, "x": 523173, "y": 100275}, {"title": "419", "id": 419, "x": 921151, "y": 812598}, {"title": "420", "id": 420, "x": 676588, "y": 297348}, {"title": "421", "id": 421, "x": 933932, "y": 531876}, {"title": "422", "id": 422, "x": 408939, "y": 843555}, {"title": "423", "id": 423, "x": 429721, "y": 903177}, {"title": "424", "id": 424, "x": 468369, "y": 64403}, {"title": "425", "id": 425, "x": 298552, "y": 1013038}, {"title": "426", "id": 426, "x": 706940, "y": 538562}, {"title": "427", "id": 427, "x": 780993, "y": 543894}, {"title": "428", "id": 428, "x": 211184, "y": 769048}, {"title": "429", "id": 429, "x": -19602, "y": 939224}, {"title": "430", "id": 430, "x": 1011976, "y": 334905}, {"title": "431", "id": 431, "x": -25612, "y": 921356}, {"title": "432", "id": 432, "x": 924623, "y": 947340}, {"title": "433", "id": 433, "x": 672420, "y": 269141}, {"title": "434", "id": 434, "x": 1024507, "y": 896037}, {"title": "435", "id": 435, "x": 266904, "y": 961713}, {"title": "436", "id": 436, "x": 132613, "y": 677948}, {"title": "437", "id": 437, "x": 875129, "y": 479594}, {"title": "438", "id": 438, "x": 1049423, "y": 235210}, {"title": "439", "id": 439, "x": 588992, "y": 53006}, {"title": "440", "id": 440, "x": 1078221, "y": 373636}, {"title": "441", "id": 441, "x": 550890, "y": 270379}, {"title": "442", "id": 442, "x": 956122, "y": 1038055}, {"title": "443", "id": 443, "x": 231228, "y": 167524}, {"title": "444", "id": 444, "x": 467163, "y": 230055}, {"title": "445", "id": 445, "x": 454650, "y": 1052608}, {"title": "446", "id": 446, "x": 996903, "y": 414772}, {"title": "447", "id": 447, "x": 940924, "y": 965838}, {"title": "448", "id": 448, "x": 1056149, "y": 295786}, {"title": "449", "id": 449, "x": -32639, "y": 948889}, {"title": "450", "id": 450, "x": 311050, "y": 772121}, {"title": "451", "id": 451, "x": 965473, "y": 375774}, {"title": "452", "id": 452, "x": 582987, "y": 18222}, {"title": "453", "id": 453, "x": 297849, "y": 975299}, {"title": "454", "id": 454, "x": 886062, "y": 922681}, {"title": "455", "id": 455, "x": 125389, "y": 669051}, {"title": "456", "id": 456, "x": 137649, "y": 760563}, {"title": "457", "id": 457, "x": 499475, "y": 192284}, {"title": "458", "id": 458, "x": 1032876, "y": 941817}, {"title": "459", "id": 459, "x": 280443, "y": 72557}, {"title": "460", "id": 460, "x": 467677, "y": 274481}, {"title": "461", "id": 461, "x": 584334, "y": 333219}, {"title": "462", "id": 462, "x": 216596, "y": 112130}, {"title": "463", "id": 463, "x": 355392, "y": 316783}, {"title": "464", "id": 464, "x": 47737, "y": 937785}, {"title": "465", "id": 465, "x": 968865, "y": 419997}, {"title": "466", "id": 466, "x": 968345, "y": 900197}, {"title": "467", "id": 467, "x": 337832, "y": 85886}, {"title": "468", "id": 468, "x": 483020, "y": 26164}, {"title": "469", "id": 469, "x": 630749, "y": 18033}, {"title": "470", "id": 470, "x": 508742, "y": 242729}, {"title": "471", "id": 471, "x": 738072, "y": 552741}, {"title": "472", "id": 472, "x": -42807, "y": 742616}, {"title": "473", "id": 473, "x": 214132, "y": 253225}, {"title": "474", "id": 474, "x": 427704, "y": 102739}, {"title": "475", "id": 475, "x": 196468, "y": 145775}, {"title": "476", "id": 476, "x": 328593, "y": 930881}, {"title": "477", "id": 477, "x": 676648, "y": 481141}, {"title": "478", "id": 478, "x": 985859, "y": 345756}, {"title": "479", "id": 479, "x": 586228, "y": 316703}, {"title": "480", "id": 480, "x": 241578, "y": 733792}, {"title": "481", "id": 481, "x": 142239, "y": 639607}, {"title": "482", "id": 482, "x": 262460, "y": 78923}, {"title": "483", "id": 483, "x": 1045599, "y": 878351}, {"title": "484", "id": 484, "x": 314906, "y": 713219}, {"title": "485", "id": 485, "x": 705527, "y": 573223}, {"title": "486", "id": 486, "x": 573839, "y": 9502}, {"title": "487", "id": 487, "x": 1020076, "y": 930750}, {"title": "488", "id": 488, "x": 402335, "y": 171357}, {"title": "489", "id": 489, "x": 234089, "y": 840628}, {"title": "490", "id": 490, "x": 604719, "y": 10667}, {"title": "491", "id": 491, "x": 471260, "y": 993914}, {"title": "492", "id": 492, "x": 699782, "y": 571009}, {"title": "493", "id": 493, "x": 803964, "y": 497264}, {"title": "494", "id": 494, "x": 981138, "y": 895940}, {"title": "495", "id": 495, "x": 264833, "y": 656457}, {"title": "496", "id": 496, "x": 205046, "y": 212685}, {"title": "497", "id": 497, "x": 547376, "y": 297596}, {"title": "498", "id": 498, "x": 939129, "y": 436355}, {"title": "499", "id": 499, "x": 276562, "y": 54902}, {"title": "500", "id": 500, "x": 424716, "y": 1056496}, {"title": "501", "id": 501, "x": 374272, "y": 338061}, {"title": "502", "id": 502, "x": 609493, "y": 377343}, {"title": "503", "id": 503, "x": 454903, "y": 383462}, {"title": "504", "id": 504, "x": 980879, "y": 445657}, {"title": "505", "id": 505, "x": 586741, "y": 11796}, {"title": "506", "id": 506, "x": -66860, "y": 946391}, {"title": "507", "id": 507, "x": 226294, "y": -19579}, {"title": "508", "id": 508, "x": 633795, "y": 201125}, {"title": "509", "id": 509, "x": 962085, "y": 418253}, {"title": "510", "id": 510, "x": 936941, "y": 390671}, {"title": "511", "id": 511, "x": 951558, "y": 612395}, {"title": "512", "id": 512, "x": 737989, "y": 286287}, {"title": "513", "id": 513, "x": 935538, "y": 621822}, {"title": "514", "id": 514, "x": 429226, "y": 1004615}, {"title": "515", "id": 515, "x": 190397, "y": 193917}, {"title": "516", "id": 516, "x": 527074, "y": 282489}, {"title": "517", "id": 517, "x": 396285, "y": 914521}, {"title": "518", "id": 518, "x": 551607, "y": 277715}, {"title": "519", "id": 519, "x": 354006, "y": 1036799}, {"title": "520", "id": 520, "x": 988606, "y": 579963}, {"title": "521", "id": 521, "x": 292451, "y": 90499}, {"title": "522", "id": 522, "x": 293468, "y": 937461}, {"title": "523", "id": 523, "x": 1021595, "y": 559791}, {"title": "524", "id": 524, "x": 140233, "y": 683418}, {"title": "525", "id": 525, "x": 475448, "y": 139665}, {"title": "526", "id": 526, "x": 704096, "y": 464113}, {"title": "527", "id": 527, "x": 939312, "y": 289768}, {"title": "528", "id": 528, "x": 562795, "y": 360371}, {"title": "529", "id": 529, "x": 264747, "y": 679787}, {"title": "530", "id": 530, "x": 732283, "y": 440709}, {"title": "531", "id": 531, "x": 904865, "y": 460315}, {"title": "532", "id": 532, "x": 880687, "y": 814777}, {"title": "533", "id": 533, "x": 1028738, "y": 564102}, {"title": "534", "id": 534, "x": 701344, "y": 585671}, {"title": "535", "id": 535, "x": 460729, "y": 1006780}, {"title": "536", "id": 536, "x": 17661, "y": 665446}, {"title": "537", "id": 537, "x": 924120, "y": 509961}, {"title": "538", "id": 538, "x": 893668, "y": 413430}, {"title": "539", "id": 539, "x": 724429, "y": 448985}, {"title": "540", "id": 540, "x": 1011477, "y": 852681}, {"title": "541", "id": 541, "x": 944828, "y": 1061237}, {"title": "542", "id": 542, "x": 281717, "y": 1074546}, {"title": "543", "id": 543, "x": 945987, "y": 620376}, {"title": "544", "id": 544, "x": 211889, "y": 212670}, {"title": "545", "id": 545, "x": 338351, "y": 993235}, {"title": "546", "id": 546, "x": 969541, "y": 826989}, {"title": "547", "id": 547, "x": 391960, "y": 997694}, {"title": "548", "id": 548, "x": 620243, "y": 361020}, {"title": "549", "id": 549, "x": 989319, "y": 913958}, {"title": "550", "id": 550, "x": 983241, "y": 224412}, {"title": "551", "id": 551, "x": 31448, "y": 1007200}, {"title": "552", "id": 552, "x": 472642, "y": 161804}, {"title": "553", "id": 553, "x": 3096, "y": 681954}, {"title": "554", "id": 554, "x": 846532, "y": 517406}, {"title": "555", "id": 555, "x": 720385, "y": 476030}, {"title": "556", "id": 556, "x": 901236, "y": 407240}, {"title": "557", "id": 557, "x": 231615, "y": 205337}, {"title": "558", "id": 558, "x": 323564, "y": -14633}, {"title": "559", "id": 559, "x": 1006297, "y": 273107}, {"title": "560", "id": 560, "x": 959041, "y": 593009}, {"title": "561", "id": 561, "x": 927490, "y": 647326}, {"title": "562", "id": 562, "x": 667168, "y": 386980}, {"title": "563", "id": 563, "x": 63198, "y": 960864}, {"title": "564", "id": 564, "x": 447902, "y": 1011589}, {"title": "565", "id": 565, "x": 706462, "y": 496735}, {"title": "566", "id": 566, "x": 984033, "y": 396451}, {"title": "567", "id": 567, "x": 535890, "y": 376567}, {"title": "568", "id": 568, "x": 538048, "y": -50553}, {"title": "569", "id": 569, "x": 724926, "y": 427909}, {"title": "570", "id": 570, "x": 1016020, "y": 923175}, {"title": "571", "id": 571, "x": 248641, "y": 1355}, {"title": "572", "id": 572, "x": 153124, "y": 652050}, {"title": "573", "id": 573, "x": 169397, "y": 161570}, {"title": "574", "id": 574, "x": 941971, "y": 380204}, {"title": "575", "id": 575, "x": 985670, "y": 802017}, {"title": "576", "id": 576, "x": 677055, "y": 329993}, {"title": "577", "id": 577, "x": 282891, "y": 982700}, {"title": "578", "id": 578, "x": 732561, "y": 479132}, {"title": "579", "id": 579, "x": 12023, "y": 907259}, {"title": "580", "id": 580, "x": 615106, "y": 340654}, {"title": "581", "id": 581, "x": 705497, "y": 450925}, {"title": "582", "id": 582, "x": 295221, "y": 907635}, {"title": "583", "id": 583, "x": 437884, "y": 368808}, {"title": "584", "id": 584, "x": 886759, "y": 823658}, {"title": "585", "id": 585, "x": -1009, "y": 900487}, {"title": "586", "id": 586, "x": 674955, "y": 460347}, {"title": "587", "id": 587, "x": 634530, "y": 346286}, {"title": "588", "id": 588, "x": 142076, "y": 630144}, {"title": "589", "id": 589, "x": 127300, "y": 752001}, {"title": "590", "id": 590, "x": 961169, "y": 760362}, {"title": "591", "id": 591, "x": 733859, "y": 528201}, {"title": "592", "id": 592, "x": 685789, "y": 568701}, {"title": "593", "id": 593, "x": 911655, "y": 360648}, {"title": "594", "id": 594, "x": 660257, "y": 551875}, {"title": "595", "id": 595, "x": -468, "y": 937668}, {"title": "596", "id": 596, "x": 370706, "y": 930168}, {"title": "597", "id": 597, "x": 430828, "y": 996317}, {"title": "598", "id": 598, "x": 465714, "y": 101740}, {"title": "599", "id": 599, "x": 943087, "y": 396383}, {"title": "600", "id": 600, "x": 929131, "y": 566287}, {"title": "601", "id": 601, "x": 625649, "y": 234331}, {"title": "602", "id": 602, "x": 925654, "y": 915305}, {"title": "603", "id": 603, "x": 991261, "y": 786323}, {"title": "604", "id": 604, "x": 687356, "y": 478890}, {"title": "605", "id": 605, "x": 258989, "y": 7413}, {"title": "606", "id": 606, "x": 215395, "y": 1004343}, {"title": "607", "id": 607, "x": 987715, "y": 553698}, {"title": "608", "id": 608, "x": 281449, "y": 53771}, {"title": "609", "id": 609, "x": 946583, "y": 603511}, {"title": "610", "id": 610, "x": 310449, "y": 719995}, {"title": "611", "id": 611, "x": 779078, "y": 472474}, {"title": "612", "id": 612, "x": 477278, "y": 57114}, {"title": "613", "id": 613, "x": 1056501, "y": 478555}, {"title": "614", "id": 614, "x": 1006854, "y": 618170}, {"title": "615", "id": 615, "x": 116475, "y": 708021}, {"title": "616", "id": 616, "x": 539650, "y": 122967}, {"title": "617", "id": 617, "x": 547597, "y": 11902}, {"title": "618", "id": 618, "x": 718327, "y": 480379}, {"title": "619", "id": 619, "x": 946877, "y": 571733}, {"title": "620", "id": 620, "x": 924351, "y": 330022}, {"title": "621", "id": 621, "x": 189682, "y": 670820}, {"title": "622", "id": 622, "x": 969343, "y": 849430}, {"title": "623", "id": 623, "x": 979579, "y": 542407}, {"title": "624", "id": 624, "x": 1035291, "y": 679060}, {"title": "625", "id": 625, "x": 490558, "y": 102790}, {"title": "626", "id": 626, "x": 328361, "y": 1072479}, {"title": "627", "id": 627, "x": 495265, "y": 15006}, {"title": "628", "id": 628, "x": 977943, "y": 877833}, {"title": "629", "id": 629, "x": 70214, "y": 708048}, {"title": "630", "id": 630, "x": 535826, "y": -37128}, {"title": "631", "id": 631, "x": 997789, "y": 456905}, {"title": "632", "id": 632, "x": 997259, "y": 570659}, {"title": "633", "id": 633, "x": 1017941, "y": 490832}, {"title": "634", "id": 634, "x": 983613, "y": 420392}, {"title": "635", "id": 635, "x": 926340, "y": 401716}, {"title": "636", "id": 636, "x": 546465, "y": 13270}, {"title": "637", "id": 637, "x": 308807, "y": 935109}, {"title": "638", "id": 638, "x": 272709, "y": 739256}, {"title": "639", "id": 639, "x": 1017780, "y": 671686}, {"title": "640", "id": 640, "x": 779705, "y": 588491}, {"title": "641", "id": 641, "x": 932846, "y": 419379}, {"title": "642", "id": 642, "x": 411669, "y": 53004}, {"title": "643", "id": 643, "x": 1072392, "y": 859448}, {"title": "644", "id": 644, "x": 422565, "y": 987398}, {"title": "645", "id": 645, "x": 701179, "y": 522878}, {"title": "646", "id": 646, "x": 25704, "y": 903092}, {"title": "647", "id": 647, "x": 1010606, "y": 829382}, {"title": "648", "id": 648, "x": 1022936, "y": 850217}, {"title": "649", "id": 649, "x": 875726, "y": 328781}, {"title": "650", "id": 650, "x": 871149, "y": 581702}, {"title": "651", "id": 651, "x": 906435, "y": 280536}, {"title": "652", "id": 652, "x": 317997, "y": 54917}, {"title": "653", "id": 653, "x": 442621, "y": 153855}, {"title": "654", "id": 654, "x": 946788, "y": 638911}, {"title": "655", "id": 655, "x": 795330, "y": 472684}, {"title": "656", "id": 656, "x": 982007, "y": 805294}, {"title": "657", "id": 657, "x": 992720, "y": 315703}, {"title": "658", "id": 658, "x": 950304, "y": 532116}, {"title": "659", "id": 659, "x": 503723, "y": 322399}, {"title": "660", "id": 660, "x": 667818, "y": 300369}, {"title": "661", "id": 661, "x": 945726, "y": 473613}, {"title": "662", "id": 662, "x": 314187, "y": 765703}, {"title": "663", "id": 663, "x": 974429, "y": 301528}, {"title": "664", "id": 664, "x": 474524, "y": 121509}, {"title": "665", "id": 665, "x": 957654, "y": 468722}, {"title": "666", "id": 666, "x": 340458, "y": 950903}, {"title": "667", "id": 667, "x": 27376, "y": 840979}, {"title": "668", "id": 668, "x": 484975, "y": 24432}, {"title": "669", "id": 669, "x": 100835, "y": 697230}, {"title": "670", "id": 670, "x": 1040844, "y": 329988}, {"title": "671", "id": 671, "x": 936487, "y": 251273}, {"title": "672", "id": 672, "x": 350473, "y": 985367}, {"title": "673", "id": 673, "x": 447872, "y": 361398}, {"title": "674", "id": 674, "x": 35998, "y": 898159}, {"title": "675", "id": 675, "x": 430131, "y": -46452}, {"title": "676", "id": 676, "x": 759022, "y": 405634}, {"title": "677", "id": 677, "x": 691853, "y": 309522}, {"title": "678", "id": 678, "x": 946798, "y": 691984}, {"title": "679", "id": 679, "x": 718965, "y": 500142}, {"title": "680", "id": 680, "x": 811686, "y": 577423}, {"title": "681", "id": 681, "x": 963928, "y": 321668}, {"title": "682", "id": 682, "x": 399467, "y": -23317}, {"title": "683", "id": 683, "x": 601370, "y": 352014}, {"title": "684", "id": 684, "x": 321756, "y": 910244}, {"title": "685", "id": 685, "x": 966051, "y": 360943}, {"title": "686", "id": 686, "x": 800004, "y": 480282}, {"title": "687", "id": 687, "x": 862321, "y": 627290}, {"title": "688", "id": 688, "x": 459074, "y": 186439}, {"title": "689", "id": 689, "x": 944684, "y": 447163}, {"title": "690", "id": 690, "x": 515450, "y": -7619}, {"title": "691", "id": 691, "x": 499971, "y": 199155}, {"title": "692", "id": 692, "x": 482378, "y": 108880}, {"title": "693", "id": 693, "x": 1015683, "y": 276266}, {"title": "694", "id": 694, "x": 776289, "y": 484559}, {"title": "695", "id": 695, "x": 642784, "y": 388059}, {"title": "696", "id": 696, "x": 357306, "y": 1022767}, {"title": "697", "id": 697, "x": 355571, "y": 1022950}, {"title": "698", "id": 698, "x": 705469, "y": 250661}, {"title": "699", "id": 699, "x": 99143, "y": 758382}, {"title": "700", "id": 700, "x": 539046, "y": 163668}, {"title": "701", "id": 701, "x": 910116, "y": 758870}, {"title": "702", "id": 702, "x": 970865, "y": 836094}, {"title": "703", "id": 703, "x": 987317, "y": 396579}, {"title": "704", "id": 704, "x": 187531, "y": 325360}, {"title": "705", "id": 705, "x": -55457, "y": 984014}, {"title": "706", "id": 706, "x": 340464, "y": 971856}, {"title": "707", "id": 707, "x": 1056506, "y": 924297}, {"title": "708", "id": 708, "x": 492438, "y": -5725}, {"title": "709", "id": 709, "x": 493090, "y": 36922}, {"title": "710", "id": 710, "x": 765498, "y": 522180}, {"title": "711", "id": 711, "x": 332241, "y": 902072}, {"title": "712", "id": 712, "x": 409431, "y": 960349}, {"title": "713", "id": 713, "x": 973283, "y": 270933}, {"title": "714", "id": 714, "x": 311128, "y": -28096}, {"title": "715", "id": 715, "x": 364235, "y": 45159}, {"title": "716", "id": 716, "x": 585415, "y": 36684}, {"title": "717", "id": 717, "x": 1029023, "y": 684164}, {"title": "718", "id": 718, "x": 235270, "y": 736169}, {"title": "719", "id": 719, "x": 708564, "y": 515507}, {"title": "720", "id": 720, "x": 88648, "y": 720358}, {"title": "721", "id": 721, "x": 397266, "y": 173977}, {"title": "722", "id": 722, "x": 615650, "y": 45717}, {"title": "723", "id": 723, "x": 311391, "y": 2266}, {"title": "724", "id": 724, "x": 588785, "y": 374935}, {"title": "725", "id": 725, "x": 483250, "y": 361010}, {"title": "726", "id": 726, "x": 954790, "y": 611306}, {"title": "727", "id": 727, "x": 977133, "y": 519341}, {"title": "728", "id": 728, "x": 1043617, "y": 848664}, {"title": "729", "id": 729, "x": 460937, "y": -58176}, {"title": "730", "id": 730, "x": 625325, "y": 17660}, {"title": "731", "id": 731, "x": 441303, "y": 308739}, {"title": "732", "id": 732, "x": 257737, "y": 689159}, {"title": "733", "id": 733, "x": 990228, "y": 319463}, {"title": "734", "id": 734, "x": 184916, "y": 220310}, {"title": "735", "id": 735, "x": 524859, "y": 174578}, {"title": "736", "id": 736, "x": 243218, "y": 779732}, {"title": "737", "id": 737, "x": 949909, "y": 834209}, {"title": "738", "id": 738, "x": -3390, "y": 971979}, {"title": "739", "id": 739, "x": 745598, "y": 392546}, {"title": "740", "id": 740, "x": 887937, "y": 674470}, {"title": "741", "id": 741, "x": 38110, "y": 1005395}, {"title": "742", "id": 742, "x": 778794, "y": 450468}, {"title": "743", "id": 743, "x": 872346, "y": 405435}, {"title": "744", "id": 744, "x": 1038628, "y": 984843}, {"title": "745", "id": 745, "x": 586318, "y": 94344}, {"title": "746", "id": 746, "x": 893464, "y": 461786}, {"title": "747", "id": 747, "x": 919372, "y": 368319}, {"title": "748", "id": 748, "x": 1008882, "y": 911406}, {"title": "749", "id": 749, "x": 925592, "y": 254331}, {"title": "750", "id": 750, "x": 512901, "y": 76487}, {"title": "751", "id": 751, "x": 147433, "y": 681941}, {"title": "752", "id": 752, "x": 154332, "y": 729689}, {"title": "753", "id": 753, "x": 195225, "y": 246717}, {"title": "754", "id": 754, "x": 931133, "y": 781389}, {"title": "755", "id": 755, "x": 721444, "y": 512772}, {"title": "756", "id": 756, "x": 1005945, "y": 529653}, {"title": "757", "id": 757, "x": 572331, "y": 127874}, {"title": "758", "id": 758, "x": 982349, "y": 984363}, {"title": "759", "id": 759, "x": 882545, "y": 360660}, {"title": "760", "id": 760, "x": 52812, "y": 655492}, {"title": "761", "id": 761, "x": 652110, "y": 389167}, {"title": "762", "id": 762, "x": 900140, "y": 399150}, {"title": "763", "id": 763, "x": 416896, "y": 948028}, {"title": "764", "id": 764, "x": 30162, "y": 1071796}, {"title": "765", "id": 765, "x": 426808, "y": 882098}, {"title": "766", "id": 766, "x": 1081531, "y": 760691}, {"title": "767", "id": 767, "x": 347819, "y": 911147}, {"title": "768", "id": 768, "x": 1008862, "y": 484618}, {"title": "769", "id": 769, "x": 683676, "y": 273310}, {"title": "770", "id": 770, "x": 428352, "y": 1016931}, {"title": "771", "id": 771, "x": 220389, "y": 186688}, {"title": "772", "id": 772, "x": 950373, "y": 985247}, {"title": "773", "id": 773, "x": 986560, "y": 926213}, {"title": "774", "id": 774, "x": 474152, "y": 282569}, {"title": "775", "id": 775, "x": 899500, "y": 802132}, {"title": "776", "id": 776, "x": 904784, "y": 412284}, {"title": "777", "id": 777, "x": 282410, "y": 679653}, {"title": "778", "id": 778, "x": 361694, "y": 943523}, {"title": "779", "id": 779, "x": 1005649, "y": 914192}, {"title": "780", "id": 780, "x": 931284, "y": 886615}, {"title": "781", "id": 781, "x": 187218, "y": 260511}, {"title": "782", "id": 782, "x": 352297, "y": 948683}, {"title": "783", "id": 783, "x": 368108, "y": 994487}, {"title": "784", "id": 784, "x": 75677, "y": 743816}, {"title": "785", "id": 785, "x": 1003840, "y": 256874}, {"title": "786", "id": 786, "x": 962545, "y": 871498}, {"title": "787", "id": 787, "x": 743979, "y": 530985}, {"title": "788", "id": 788, "x": 680366, "y": 388903}, {"title": "789", "id": 789, "x": 84928, "y": 639998}, {"title": "790", "id": 790, "x": 445228, "y": 118645}, {"title": "791", "id": 791, "x": 354073, "y": 872216}, {"title": "792", "id": 792, "x": 532794, "y": 214994}, {"title": "793", "id": 793, "x": 339629, "y": 968355}, {"title": "794", "id": 794, "x": -7351, "y": 896931}, {"title": "795", "id": 795, "x": 762244, "y": 519684}, {"title": "796", "id": 796, "x": 944551, "y": 580456}, {"title": "797", "id": 797, "x": 820477, "y": 530979}, {"title": "798", "id": 798, "x": 460043, "y": 68606}, {"title": "799", "id": 799, "x": 900385, "y": 428005}, {"title": "800", "id": 800, "x": 83117, "y": 722049}, {"title": "801", "id": 801, "x": 349317, "y": 802335}, {"title": "802", "id": 802, "x": 442937, "y": 47268}, {"title": "803", "id": 803, "x": 172669, "y": 181061}, {"title": "804", "id": 804, "x": 169754, "y": 262994}, {"title": "805", "id": 805, "x": 928093, "y": 397693}, {"title": "806", "id": 806, "x": 316341, "y": 1011443}, {"title": "807", "id": 807, "x": 150509, "y": 218739}, {"title": "808", "id": 808, "x": 334349, "y": 139}, {"title": "809", "id": 809, "x": 352228, "y": 1014244}, {"title": "810", "id": 810, "x": 884465, "y": 414478}, {"title": "811", "id": 811, "x": -1710, "y": 971566}, {"title": "812", "id": 812, "x": 440031, "y": 60986}, {"title": "813", "id": 813, "x": 580725, "y": 52013}, {"title": "814", "id": 814, "x": 455397, "y": 72979}, {"title": "815", "id": 815, "x": 294417, "y": 114808}, {"title": "816", "id": 816, "x": 977455, "y": 518526}, {"title": "817", "id": 817, "x": 596709, "y": -15476}, {"title": "818", "id": 818, "x": 760043, "y": 505809}, {"title": "819", "id": 819, "x": -12335, "y": 860108}, {"title": "820", "id": 820, "x": 744488, "y": 503129}, {"title": "821", "id": 821, "x": 946945, "y": 785720}, {"title": "822", "id": 822, "x": 605785, "y": 68128}, {"title": "823", "id": 823, "x": 911400, "y": 835499}, {"title": "824", "id": 824, "x": 896611, "y": 521615}, {"title": "825", "id": 825, "x": 977624, "y": 796432}, {"title": "826", "id": 826, "x": 296205, "y": 66839}, {"title": "827", "id": 827, "x": 695886, "y": 286002}, {"title": "828", "id": 828, "x": 943452, "y": 487818}, {"title": "829", "id": 829, "x": 930102, "y": 501223}, {"title": "830", "id": 830, "x": 459242, "y": 199000}, {"title": "831", "id": 831, "x": 951298, "y": 376897}, {"title": "832", "id": 832, "x": 266151, "y": 771467}, {"title": "833", "id": 833, "x": 371983, "y": 1063470}, {"title": "834", "id": 834, "x": 983827, "y": 223334}, {"title": "835", "id": 835, "x": 929420, "y": 264511}, {"title": "836", "id": 836, "x": 120587, "y": 678257}, {"title": "837", "id": 837, "x": 540368, "y": 238586}, {"title": "838", "id": 838, "x": 479812, "y": 302306}, {"title": "839", "id": 839, "x": 707664, "y": 486137}, {"title": "840", "id": 840, "x": 626603, "y": 371290}, {"title": "841", "id": 841, "x": 979014, "y": 669835}, {"title": "842", "id": 842, "x": -41255, "y": 855960}, {"title": "843", "id": 843, "x": 674683, "y": 582291}, {"title": "844", "id": 844, "x": 319656, "y": 146164}, {"title": "845", "id": 845, "x": 380686, "y": 73443}, {"title": "846", "id": 846, "x": 616430, "y": 236955}, {"title": "847", "id": 847, "x": 220857, "y": 714539}, {"title": "848", "id": 848, "x": 262205, "y": 729044}, {"title": "849", "id": 849, "x": 516732, "y": 171776}, {"title": "850", "id": 850, "x": 212889, "y": 202133}, {"title": "851", "id": 851, "x": 952026, "y": 905293}, {"title": "852", "id": 852, "x": 357481, "y": 971257}, {"title": "853", "id": 853, "x": 970806, "y": 393994}, {"title": "854", "id": 854, "x": 736611, "y": 504924}, {"title": "855", "id": 855, "x": 351535, "y": 706086}, {"title": "856", "id": 856, "x": 807698, "y": 507290}, {"title": "857", "id": 857, "x": 973108, "y": 578200}, {"title": "858", "id": 858, "x": 638119, "y": 260212}, {"title": "859", "id": 859, "x": 516292, "y": 374529}, {"title": "860", "id": 860, "x": 21469, "y": 966722}, {"title": "861", "id": 861, "x": 1031106, "y": 832736}, {"title": "862", "id": 862, "x": 491449, "y": 223659}, {"title": "863", "id": 863, "x": 1029297, "y": 480592}, {"title": "864", "id": 864, "x": 927124, "y": 334453}, {"title": "865", "id": 865, "x": 6193, "y": 910377}, {"title": "866", "id": 866, "x": 167224, "y": 691113}, {"title": "867", "id": 867, "x": 782967, "y": 501808}, {"title": "868", "id": 868, "x": 150856, "y": 706386}, {"title": "869", "id": 869, "x": 229431, "y": 700987}, {"title": "870", "id": 870, "x": 960562, "y": 523857}, {"title": "871", "id": 871, "x": 187356, "y": 772891}, {"title": "872", "id": 872, "x": 44426, "y": 636871}, {"title": "873", "id": 873, "x": 883633, "y": 873681}, {"title": "874", "id": 874, "x": 292732, "y": 56917}, {"title": "875", "id": 875, "x": 1041102, "y": 448822}, {"title": "876", "id": 876, "x": 634243, "y": 43429}, {"title": "877", "id": 877, "x": 973132, "y": 815365}, {"title": "878", "id": 878, "x": 589981, "y": 266128}, {"title": "879", "id": 879, "x": 515390, "y": 187116}, {"title": "880", "id": 880, "x": 104334, "y": 628220}, {"title": "881", "id": 881, "x": 930933, "y": 687697}, {"title": "882", "id": 882, "x": 450418, "y": 38658}, {"title": "883", "id": 883, "x": 932379, "y": 564517}, {"title": "884", "id": 884, "x": 720955, "y": 526394}, {"title": "885", "id": 885, "x": 1000565, "y": 801054}, {"title": "886", "id": 886, "x": 434311, "y": 4843}, {"title": "887", "id": 887, "x": 522056, "y": 34977}, {"title": "888", "id": 888, "x": 448479, "y": -9391}, {"title": "889", "id": 889, "x": 624332, "y": -6840}, {"title": "890", "id": 890, "x": 31184, "y": 989240}, {"title": "891", "id": 891, "x": 903356, "y": 511932}, {"title": "892", "id": 892, "x": 1013770, "y": 481816}, {"title": "893", "id": 893, "x": 642717, "y": 317627}, {"title": "894", "id": 894, "x": -128049, "y": 938535}, {"title": "895", "id": 895, "x": 950864, "y": 474256}, {"title": "896", "id": 896, "x": 454526, "y": 361210}, {"title": "897", "id": 897, "x": 465537, "y": 1034177}, {"title": "898", "id": 898, "x": 539150, "y": 284629}, {"title": "899", "id": 899, "x": 1025430, "y": 456081}, {"title": "900", "id": 900, "x": 270312, "y": 220371}, {"title": "901", "id": 901, "x": 722401, "y": 342889}, {"title": "902", "id": 902, "x": 544331, "y": -62551}, {"title": "903", "id": 903, "x": 764125, "y": 469810}, {"title": "904", "id": 904, "x": 691565, "y": 533430}, {"title": "905", "id": 905, "x": 678488, "y": 536384}, {"title": "906", "id": 906, "x": 939684, "y": 878762}, {"title": "907", "id": 907, "x": 732116, "y": 577970}, {"title": "908", "id": 908, "x": 503352, "y": 412014}, {"title": "909", "id": 909, "x": 602628, "y": 60605}, {"title": "910", "id": 910, "x": 91569, "y": 616426}, {"title": "911", "id": 911, "x": 509668, "y": 17170}, {"title": "912", "id": 912, "x": 80611, "y": 1040930}, {"title": "913", "id": 913, "x": 982004, "y": 503921}, {"title": "914", "id": 914, "x": 557669, "y": 16852}, {"title": "915", "id": 915, "x": 993434, "y": 909979}, {"title": "916", "id": 916, "x": 960238, "y": 294057}, {"title": "917", "id": 917, "x": 81477, "y": 1011634}, {"title": "918", "id": 918, "x": 581260, "y": 352400}, {"title": "919", "id": 919, "x": 520607, "y": 46851}, {"title": "920", "id": 920, "x": 677991, "y": 501342}, {"title": "921", "id": 921, "x": 224003, "y": 29895}, {"title": "922", "id": 922, "x": 517623, "y": 348081}, {"title": "923", "id": 923, "x": 445689, "y": 97500}, {"title": "924", "id": 924, "x": 692681, "y": 553133}, {"title": "925", "id": 925, "x": 226268, "y": 643936}, {"title": "926", "id": 926, "x": 76803, "y": 611857}, {"title": "927", "id": 927, "x": 114442, "y": 669869}, {"title": "928", "id": 928, "x": 523291, "y": 36705}, {"title": "929", "id": 929, "x": 919756, "y": 474725}, {"title": "930", "id": 930, "x": 855250, "y": 320217}, {"title": "931", "id": 931, "x": 91707, "y": 700865}, {"title": "932", "id": 932, "x": 477428, "y": 264380}, {"title": "933", "id": 933, "x": 528937, "y": 13390}, {"title": "934", "id": 934, "x": 720723, "y": 492863}, {"title": "935", "id": 935, "x": 471015, "y": 121757}, {"title": "936", "id": 936, "x": 962521, "y": 735638}, {"title": "937", "id": 937, "x": 601802, "y": 306710}, {"title": "938", "id": 938, "x": 253366, "y": 765380}, {"title": "939", "id": 939, "x": 763790, "y": 486237}, {"title": "940", "id": 940, "x": 173215, "y": 228150}, {"title": "941", "id": 941, "x": 911291, "y": 784897}, {"title": "942", "id": 942, "x": 653289, "y": 435846}, {"title": "943", "id": 943, "x": 757300, "y": 427229}, {"title": "944", "id": 944, "x": 326009, "y": 899531}, {"title": "945", "id": 945, "x": 49579, "y": 994405}, {"title": "946", "id": 946, "x": 518363, "y": 20767}, {"title": "947", "id": 947, "x": 624640, "y": 334003}, {"title": "948", "id": 948, "x": 477789, "y": 925461}, {"title": "949", "id": 949, "x": 437175, "y": 133612}, {"title": "950", "id": 950, "x": 632951, "y": 312899}, {"title": "951", "id": 951, "x": 948477, "y": 583247}, {"title": "952", "id": 952, "x": 893520, "y": 471855}, {"title": "953", "id": 953, "x": 245729, "y": 198583}, {"title": "954", "id": 954, "x": 510819, "y": 308837}, {"title": "955", "id": 955, "x": 517765, "y": 7553}, {"title": "956", "id": 956, "x": 357859, "y": 983251}, {"title": "957", "id": 957, "x": 667482, "y": 276121}, {"title": "958", "id": 958, "x": 983726, "y": 884744}, {"title": "959", "id": 959, "x": 313011, "y": 1062109}, {"title": "960", "id": 960, "x": -75489, "y": 969207}, {"title": "961", "id": 961, "x": 443034, "y": 166265}, {"title": "962", "id": 962, "x": 316916, "y": 968159}, {"title": "963", "id": 963, "x": 984228, "y": 650226}, {"title": "964", "id": 964, "x": 775882, "y": 394219}, {"title": "965", "id": 965, "x": 531154, "y": 79184}, {"title": "966", "id": 966, "x": 993413, "y": 605080}, {"title": "967", "id": 967, "x": 424139, "y": 35597}, {"title": "968", "id": 968, "x": 213934, "y": 726127}, {"title": "969", "id": 969, "x": 975011, "y": 280267}, {"title": "970", "id": 970, "x": 1003439, "y": 522486}, {"title": "971", "id": 971, "x": 317064, "y": 969880}, {"title": "972", "id": 972, "x": 330573, "y": 979271}, {"title": "973", "id": 973, "x": 752757, "y": 506388}, {"title": "974", "id": 974, "x": 114886, "y": 677219}, {"title": "975", "id": 975, "x": 443651, "y": 395082}, {"title": "976", "id": 976, "x": 865120, "y": 334131}, {"title": "977", "id": 977, "x": 514730, "y": 337115}, {"title": "978", "id": 978, "x": 971838, "y": 295842}, {"title": "979", "id": 979, "x": 1050575, "y": 262706}, {"title": "980", "id": 980, "x": 393246, "y": 1018921}, {"title": "981", "id": 981, "x": 694154, "y": 518752}, {"title": "982", "id": 982, "x": 545841, "y": 13000}, {"title": "983", "id": 983, "x": 237960, "y": 772181}, {"title": "984", "id": 984, "x": 502911, "y": 52466}, {"title": "985", "id": 985, "x": 895631, "y": 833752}, {"title": "986", "id": 986, "x": 891249, "y": 380318}, {"title": "987", "id": 987, "x": 955040, "y": 963510}, {"title": "988", "id": 988, "x": 709160, "y": 533608}, {"title": "989", "id": 989, "x": 729378, "y": 434347}, {"title": "990", "id": 990, "x": 797169, "y": 329378}, {"title": "991", "id": 991, "x": 890134, "y": 413658}, {"title": "992", "id": 992, "x": 233217, "y": 169506}, {"title": "993", "id": 993, "x": 958598, "y": 392349}, {"title": "994", "id": 994, "x": 759853, "y": 414015}, {"title": "995", "id": 995, "x": 907200, "y": 300490}, {"title": "996", "id": 996, "x": 951396, "y": 473596}, {"title": "997", "id": 997, "x": 460030, "y": 374534}, {"title": "998", "id": 998, "x": 543108, "y": 65803}, {"title": "999", "id": 999, "x": 471287, "y": 119659}], "edges": [{"source": 694, "target": 113}, {"source": 113, "target": 939}, {"source": 939, "target": 256}, {"source": 256, "target": 50}, {"source": 50, "target": 268}, {"source": 268, "target": 148}, {"source": 148, "target": 225}, {"source": 225, "target": 578}, {"source": 578, "target": 555}, {"source": 555, "target": 618}, {"source": 618, "target": 839}, {"source": 839, "target": 110}, {"source": 110, "target": 565}, {"source": 565, "target": 336}, {"source": 336, "target": 169}, {"source": 169, "target": 719}, {"source": 719, "target": 645}, {"source": 645, "target": 22}, {"source": 22, "target": 988}, {"source": 988, "target": 71}, {"source": 71, "target": 426}, {"source": 426, "target": 203}, {"source": 203, "target": 924}, {"source": 924, "target": 157}, {"source": 157, "target": 216}, {"source": 216, "target": 905}, {"source": 905, "target": 904}, {"source": 904, "target": 981}, {"source": 981, "target": 61}, {"source": 61, "target": 920}, {"source": 920, "target": 27}, {"source": 27, "target": 280}, {"source": 280, "target": 348}, {"source": 348, "target": 477}, {"source": 477, "target": 604}, {"source": 604, "target": 586}, {"source": 586, "target": 133}, {"source": 133, "target": 86}, {"source": 86, "target": 942}, {"source": 942, "target": 33}, {"source": 33, "target": 761}, {"source": 761, "target": 695}, {"source": 695, "target": 840}, {"source": 840, "target": 548}, {"source": 548, "target": 361}, {"source": 361, "target": 838}, {"source": 838, "target": 226}, {"source": 226, "target": 89}, {"source": 89, "target": 774}, {"source": 774, "target": 321}, {"source": 321, "target": 460}, {"source": 460, "target": 272}, {"source": 272, "target": 932}, {"source": 932, "target": 400}, {"source": 400, "target": 165}, {"source": 165, "target": 470}, {"source": 470, "target": 862}, {"source": 862, "target": 444}, {"source": 444, "target": 830}, {"source": 830, "target": 688}, {"source": 688, "target": 293}, {"source": 293, "target": 125}, {"source": 125, "target": 69}, {"source": 69, "target": 552}, {"source": 552, "target": 340}, {"source": 340, "target": 66}, {"source": 66, "target": 317}, {"source": 317, "target": 949}, {"source": 949, "target": 790}, {"source": 790, "target": 376}, {"source": 376, "target": 474}, {"source": 474, "target": 175}, {"source": 175, "target": 923}, {"source": 923, "target": 166}, {"source": 166, "target": 598}, {"source": 598, "target": 91}, {"source": 91, "target": 692}, {"source": 692, "target": 625}, {"source": 625, "target": 57}, {"source": 57, "target": 664}, {"source": 664, "target": 935}, {"source": 935, "target": 999}, {"source": 999, "target": 525}, {"source": 525, "target": 241}, {"source": 241, "target": 164}, {"source": 164, "target": 350}, {"source": 350, "target": 457}, {"source": 457, "target": 691}, {"source": 691, "target": 879}, {"source": 879, "target": 387}, {"source": 387, "target": 735}, {"source": 735, "target": 849}, {"source": 849, "target": 243}, {"source": 243, "target": 158}, {"source": 158, "target": 700}, {"source": 700, "target": 53}, {"source": 53, "target": 287}, {"source": 287, "target": 757}, {"source": 757, "target": 616}, {"source": 616, "target": 270}, {"source": 270, "target": 220}, {"source": 220, "target": 109}, {"source": 109, "target": 54}, {"source": 54, "target": 418}, {"source": 418, "target": 965}, {"source": 965, "target": 998}, {"source": 998, "target": 60}, {"source": 60, "target": 919}, {"source": 919, "target": 928}, {"source": 928, "target": 887}, {"source": 887, "target": 946}, {"source": 946, "target": 911}, {"source": 911, "target": 955}, {"source": 955, "target": 933}, {"source": 933, "target": 982}, {"source": 982, "target": 636}, {"source": 636, "target": 617}, {"source": 617, "target": 914}, {"source": 914, "target": 143}, {"source": 143, "target": 150}, {"source": 150, "target": 120}, {"source": 120, "target": 325}, {"source": 325, "target": 356}, {"source": 356, "target": 172}, {"source": 172, "target": 452}, {"source": 452, "target": 505}, {"source": 505, "target": 315}, {"source": 315, "target": 333}, {"source": 333, "target": 486}, {"source": 486, "target": 288}, {"source": 288, "target": 327}, {"source": 327, "target": 817}, {"source": 817, "target": 85}, {"source": 85, "target": 889}, {"source": 889, "target": 64}, {"source": 64, "target": 730}, {"source": 730, "target": 469}, {"source": 469, "target": 876}, {"source": 876, "target": 722}, {"source": 722, "target": 909}, {"source": 909, "target": 822}, {"source": 822, "target": 337}, {"source": 337, "target": 745}, {"source": 745, "target": 250}, {"source": 250, "target": 18}, {"source": 18, "target": 813}, {"source": 813, "target": 439}, {"source": 439, "target": 716}, {"source": 716, "target": 238}, {"source": 238, "target": 490}, {"source": 490, "target": 2}, {"source": 2, "target": 902}, {"source": 902, "target": 568}, {"source": 568, "target": 1}, {"source": 1, "target": 630}, {"source": 630, "target": 690}, {"source": 690, "target": 708}, {"source": 708, "target": 627}, {"source": 627, "target": 668}, {"source": 668, "target": 468}, {"source": 468, "target": 709}, {"source": 709, "target": 373}, {"source": 373, "target": 612}, {"source": 612, "target": 424}, {"source": 424, "target": 798}, {"source": 798, "target": 814}, {"source": 814, "target": 132}, {"source": 132, "target": 812}, {"source": 812, "target": 11}, {"source": 11, "target": 802}, {"source": 802, "target": 882}, {"source": 882, "target": 379}, {"source": 379, "target": 984}, {"source": 984, "target": 750}, {"source": 750, "target": 967}, {"source": 967, "target": 642}, {"source": 642, "target": 845}, {"source": 845, "target": 402}, {"source": 402, "target": 715}, {"source": 715, "target": 180}, {"source": 180, "target": 652}, {"source": 652, "target": 35}, {"source": 35, "target": 874}, {"source": 874, "target": 826}, {"source": 826, "target": 357}, {"source": 357, "target": 521}, {"source": 521, "target": 459}, {"source": 459, "target": 210}, {"source": 210, "target": 52}, {"source": 52, "target": 499}, {"source": 499, "target": 608}, {"source": 608, "target": 219}, {"source": 219, "target": 45}, {"source": 45, "target": 329}, {"source": 329, "target": 921}, {"source": 921, "target": 257}, {"source": 257, "target": 571}, {"source": 571, "target": 605}, {"source": 605, "target": 67}, {"source": 67, "target": 77}, {"source": 77, "target": 507}, {"source": 507, "target": 346}, {"source": 346, "target": 105}, {"source": 105, "target": 184}, {"source": 184, "target": 233}, {"source": 233, "target": 723}, {"source": 723, "target": 8}, {"source": 8, "target": 558}, {"source": 558, "target": 808}, {"source": 808, "target": 714}, {"source": 714, "target": 343}, {"source": 343, "target": 682}, {"source": 682, "target": 332}, {"source": 332, "target": 886}, {"source": 886, "target": 888}, {"source": 888, "target": 675}, {"source": 675, "target": 729}, {"source": 729, "target": 401}, {"source": 401, "target": 3}, {"source": 3, "target": 393}, {"source": 393, "target": 147}, {"source": 147, "target": 508}, {"source": 508, "target": 601}, {"source": 601, "target": 269}, {"source": 269, "target": 846}, {"source": 846, "target": 858}, {"source": 858, "target": 378}, {"source": 378, "target": 58}, {"source": 58, "target": 129}, {"source": 129, "target": 950}, {"source": 950, "target": 893}, {"source": 893, "target": 117}, {"source": 117, "target": 947}, {"source": 947, "target": 580}, {"source": 580, "target": 285}, {"source": 285, "target": 101}, {"source": 101, "target": 683}, {"source": 683, "target": 587}, {"source": 587, "target": 196}, {"source": 196, "target": 326}, {"source": 326, "target": 182}, {"source": 182, "target": 78}, {"source": 78, "target": 576}, {"source": 576, "target": 183}, {"source": 183, "target": 677}, {"source": 677, "target": 420}, {"source": 420, "target": 246}, {"source": 246, "target": 141}, {"source": 141, "target": 208}, {"source": 208, "target": 957}, {"source": 957, "target": 433}, {"source": 433, "target": 769}, {"source": 769, "target": 394}, {"source": 394, "target": 827}, {"source": 827, "target": 660}, {"source": 660, "target": 413}, {"source": 413, "target": 301}, {"source": 301, "target": 562}, {"source": 562, "target": 788}, {"source": 788, "target": 569}, {"source": 569, "target": 989}, {"source": 989, "target": 185}, {"source": 185, "target": 530}, {"source": 530, "target": 389}, {"source": 389, "target": 539}, {"source": 539, "target": 335}, {"source": 335, "target": 375}, {"source": 375, "target": 903}, {"source": 903, "target": 742}, {"source": 742, "target": 82}, {"source": 82, "target": 943}, {"source": 943, "target": 994}, {"source": 994, "target": 676}, {"source": 676, "target": 739}, {"source": 739, "target": 98}, {"source": 98, "target": 964}, {"source": 964, "target": 349}, {"source": 349, "target": 137}, {"source": 137, "target": 410}, {"source": 410, "target": 396}, {"source": 396, "target": 743}, {"source": 743, "target": 324}, {"source": 324, "target": 986}, {"source": 986, "target": 762}, {"source": 762, "target": 556}, {"source": 556, "target": 776}, {"source": 776, "target": 538}, {"source": 538, "target": 991}, {"source": 991, "target": 810}, {"source": 810, "target": 799}, {"source": 799, "target": 144}, {"source": 144, "target": 746}, {"source": 746, "target": 952}, {"source": 952, "target": 405}, {"source": 405, "target": 437}, {"source": 437, "target": 531}, {"source": 531, "target": 42}, {"source": 42, "target": 929}, {"source": 929, "target": 298}, {"source": 298, "target": 179}, {"source": 179, "target": 828}, {"source": 828, "target": 661}, {"source": 661, "target": 895}, {"source": 895, "target": 996}, {"source": 996, "target": 665}, {"source": 665, "target": 372}, {"source": 372, "target": 63}, {"source": 63, "target": 689}, {"source": 689, "target": 121}, {"source": 121, "target": 75}, {"source": 75, "target": 311}, {"source": 311, "target": 465}, {"source": 465, "target": 509}, {"source": 509, "target": 199}, {"source": 199, "target": 48}, {"source": 48, "target": 853}, {"source": 853, "target": 993}, {"source": 993, "target": 599}, {"source": 599, "target": 510}, {"source": 510, "target": 30}, {"source": 30, "target": 574}, {"source": 574, "target": 831}, {"source": 831, "target": 451}, {"source": 451, "target": 685}, {"source": 685, "target": 478}, {"source": 478, "target": 344}, {"source": 344, "target": 93}, {"source": 93, "target": 733}, {"source": 733, "target": 657}, {"source": 657, "target": 663}, {"source": 663, "target": 978}, {"source": 978, "target": 138}, {"source": 138, "target": 969}, {"source": 969, "target": 713}, {"source": 713, "target": 41}, {"source": 41, "target": 785}, {"source": 785, "target": 559}, {"source": 559, "target": 693}, {"source": 693, "target": 209}, {"source": 209, "target": 65}, {"source": 65, "target": 979}, {"source": 979, "target": 95}, {"source": 95, "target": 207}, {"source": 207, "target": 438}, {"source": 438, "target": 171}, {"source": 171, "target": 448}, {"source": 448, "target": 328}, {"source": 328, "target": 248}, {"source": 248, "target": 330}, {"source": 330, "target": 670}, {"source": 670, "target": 367}, {"source": 367, "target": 430}, {"source": 430, "target": 309}, {"source": 309, "target": 239}, {"source": 239, "target": 440}, {"source": 440, "target": 192}, {"source": 192, "target": 359}, {"source": 359, "target": 339}, {"source": 339, "target": 43}, {"source": 43, "target": 875}, {"source": 875, "target": 278}, {"source": 278, "target": 899}, {"source": 899, "target": 191}, {"source": 191, "target": 228}, {"source": 228, "target": 631}, {"source": 631, "target": 39}, {"source": 39, "target": 892}, {"source": 892, "target": 768}, {"source": 768, "target": 633}, {"source": 633, "target": 863}, {"source": 863, "target": 254}, {"source": 254, "target": 56}, {"source": 56, "target": 613}, {"source": 613, "target": 201}, {"source": 201, "target": 533}, {"source": 533, "target": 523}, {"source": 523, "target": 384}, {"source": 384, "target": 756}, {"source": 756, "target": 970}, {"source": 970, "target": 76}, {"source": 76, "target": 299}, {"source": 299, "target": 323}, {"source": 323, "target": 0}, {"source": 0, "target": 913}, {"source": 913, "target": 816}, {"source": 816, "target": 727}, {"source": 727, "target": 870}, {"source": 870, "target": 658}, {"source": 658, "target": 421}, {"source": 421, "target": 247}, {"source": 247, "target": 883}, {"source": 883, "target": 600}, {"source": 600, "target": 259}, {"source": 259, "target": 619}, {"source": 619, "target": 291}, {"source": 291, "target": 951}, {"source": 951, "target": 796}, {"source": 796, "target": 560}, {"source": 560, "target": 609}, {"source": 609, "target": 511}, {"source": 511, "target": 726}, {"source": 726, "target": 149}, {"source": 149, "target": 543}, {"source": 543, "target": 513}, {"source": 513, "target": 654}, {"source": 654, "target": 255}, {"source": 255, "target": 561}, {"source": 561, "target": 265}, {"source": 265, "target": 881}, {"source": 881, "target": 678}, {"source": 678, "target": 841}, {"source": 841, "target": 181}, {"source": 181, "target": 963}, {"source": 963, "target": 386}, {"source": 386, "target": 371}, {"source": 371, "target": 966}, {"source": 966, "target": 614}, {"source": 614, "target": 84}, {"source": 84, "target": 135}, {"source": 135, "target": 347}, {"source": 347, "target": 520}, {"source": 520, "target": 632}, {"source": 632, "target": 195}, {"source": 195, "target": 607}, {"source": 607, "target": 623}, {"source": 623, "target": 249}, {"source": 249, "target": 20}, {"source": 20, "target": 857}, {"source": 857, "target": 189}, {"source": 189, "target": 385}, {"source": 385, "target": 740}, {"source": 740, "target": 687}, {"source": 687, "target": 140}, {"source": 140, "target": 279}, {"source": 279, "target": 650}, {"source": 650, "target": 151}, {"source": 151, "target": 824}, {"source": 824, "target": 891}, {"source": 891, "target": 537}, {"source": 537, "target": 829}, {"source": 829, "target": 206}, {"source": 206, "target": 284}, {"source": 284, "target": 504}, {"source": 504, "target": 320}, {"source": 320, "target": 634}, {"source": 634, "target": 446}, {"source": 446, "target": 703}, {"source": 703, "target": 566}, {"source": 566, "target": 805}, {"source": 805, "target": 635}, {"source": 635, "target": 17}, {"source": 17, "target": 363}, {"source": 363, "target": 641}, {"source": 641, "target": 498}, {"source": 498, "target": 198}, {"source": 198, "target": 747}, {"source": 747, "target": 593}, {"source": 593, "target": 236}, {"source": 236, "target": 864}, {"source": 864, "target": 620}, {"source": 620, "target": 44}, {"source": 44, "target": 15}, {"source": 15, "target": 355}, {"source": 355, "target": 139}, {"source": 139, "target": 681}, {"source": 681, "target": 163}, {"source": 163, "target": 916}, {"source": 916, "target": 527}, {"source": 527, "target": 835}, {"source": 835, "target": 749}, {"source": 749, "target": 671}, {"source": 671, "target": 70}, {"source": 70, "target": 651}, {"source": 651, "target": 995}, {"source": 995, "target": 649}, {"source": 649, "target": 976}, {"source": 976, "target": 304}, {"source": 304, "target": 930}, {"source": 930, "target": 290}, {"source": 290, "target": 119}, {"source": 119, "target": 759}, {"source": 759, "target": 990}, {"source": 990, "target": 23}, {"source": 23, "target": 388}, {"source": 388, "target": 901}, {"source": 901, "target": 512}, {"source": 512, "target": 698}, {"source": 698, "target": 240}, {"source": 240, "target": 878}, {"source": 878, "target": 126}, {"source": 126, "target": 251}, {"source": 251, "target": 253}, {"source": 253, "target": 837}, {"source": 837, "target": 792}, {"source": 792, "target": 118}, {"source": 118, "target": 961}, {"source": 961, "target": 653}, {"source": 653, "target": 155}, {"source": 155, "target": 34}, {"source": 34, "target": 488}, {"source": 488, "target": 721}, {"source": 721, "target": 364}, {"source": 364, "target": 844}, {"source": 844, "target": 815}, {"source": 815, "target": 271}, {"source": 271, "target": 992}, {"source": 992, "target": 443}, {"source": 443, "target": 771}, {"source": 771, "target": 5}, {"source": 5, "target": 557}, {"source": 557, "target": 72}, {"source": 72, "target": 366}, {"source": 366, "target": 953}, {"source": 953, "target": 900}, {"source": 900, "target": 10}, {"source": 10, "target": 544}, {"source": 544, "target": 496}, {"source": 496, "target": 4}, {"source": 4, "target": 382}, {"source": 382, "target": 99}, {"source": 99, "target": 370}, {"source": 370, "target": 515}, {"source": 515, "target": 134}, {"source": 134, "target": 850}, {"source": 850, "target": 734}, {"source": 734, "target": 940}, {"source": 940, "target": 186}, {"source": 186, "target": 753}, {"source": 753, "target": 781}, {"source": 781, "target": 314}, {"source": 314, "target": 804}, {"source": 804, "target": 87}, {"source": 87, "target": 322}, {"source": 322, "target": 473}, {"source": 473, "target": 342}, {"source": 342, "target": 260}, {"source": 260, "target": 302}, {"source": 302, "target": 704}, {"source": 704, "target": 88}, {"source": 88, "target": 463}, {"source": 463, "target": 501}, {"source": 501, "target": 19}, {"source": 19, "target": 374}, {"source": 374, "target": 583}, {"source": 583, "target": 673}, {"source": 673, "target": 896}, {"source": 896, "target": 123}, {"source": 123, "target": 997}, {"source": 997, "target": 503}, {"source": 503, "target": 975}, {"source": 975, "target": 725}, {"source": 725, "target": 136}, {"source": 136, "target": 977}, {"source": 977, "target": 922}, {"source": 922, "target": 859}, {"source": 859, "target": 567}, {"source": 567, "target": 528}, {"source": 528, "target": 414}, {"source": 414, "target": 49}, {"source": 49, "target": 292}, {"source": 292, "target": 106}, {"source": 106, "target": 731}, {"source": 731, "target": 194}, {"source": 194, "target": 908}, {"source": 908, "target": 403}, {"source": 403, "target": 594}, {"source": 594, "target": 592}, {"source": 592, "target": 492}, {"source": 492, "target": 485}, {"source": 485, "target": 534}, {"source": 534, "target": 843}, {"source": 843, "target": 114}, {"source": 114, "target": 907}, {"source": 907, "target": 399}, {"source": 399, "target": 471}, {"source": 471, "target": 787}, {"source": 787, "target": 591}, {"source": 591, "target": 884}, {"source": 884, "target": 46}, {"source": 46, "target": 755}, {"source": 755, "target": 679}, {"source": 679, "target": 934}, {"source": 934, "target": 854}, {"source": 854, "target": 390}, {"source": 390, "target": 820}, {"source": 820, "target": 973}, {"source": 973, "target": 818}, {"source": 818, "target": 795}, {"source": 795, "target": 710}, {"source": 710, "target": 427}, {"source": 427, "target": 154}, {"source": 154, "target": 640}, {"source": 640, "target": 680}, {"source": 680, "target": 867}, {"source": 867, "target": 526}, {"source": 526, "target": 581}, {"source": 581, "target": 550}, {"source": 550, "target": 834}, {"source": 834, "target": 24}, {"source": 24, "target": 28}, {"source": 28, "target": 639}, {"source": 639, "target": 717}, {"source": 717, "target": 624}, {"source": 624, "target": 51}, {"source": 51, "target": 79}, {"source": 79, "target": 274}, {"source": 274, "target": 936}, {"source": 936, "target": 408}, {"source": 408, "target": 319}, {"source": 319, "target": 590}, {"source": 590, "target": 177}, {"source": 177, "target": 821}, {"source": 821, "target": 754}, {"source": 754, "target": 295}, {"source": 295, "target": 267}, {"source": 267, "target": 419}, {"source": 419, "target": 29}, {"source": 29, "target": 103}, {"source": 103, "target": 737}, {"source": 737, "target": 242}, {"source": 242, "target": 546}, {"source": 546, "target": 111}, {"source": 111, "target": 877}, {"source": 877, "target": 395}, {"source": 395, "target": 116}, {"source": 116, "target": 656}, {"source": 656, "target": 575}, {"source": 575, "target": 286}, {"source": 286, "target": 885}, {"source": 885, "target": 603}, {"source": 603, "target": 313}, {"source": 313, "target": 825}, {"source": 825, "target": 397}, {"source": 397, "target": 235}, {"source": 235, "target": 237}, {"source": 237, "target": 338}, {"source": 338, "target": 861}, {"source": 861, "target": 648}, {"source": 648, "target": 540}, {"source": 540, "target": 218}, {"source": 218, "target": 383}, {"source": 383, "target": 434}, {"source": 434, "target": 748}, {"source": 748, "target": 779}, {"source": 779, "target": 915}, {"source": 915, "target": 549}, {"source": 549, "target": 416}, {"source": 416, "target": 773}, {"source": 773, "target": 73}, {"source": 73, "target": 415}, {"source": 415, "target": 354}, {"source": 354, "target": 142}, {"source": 142, "target": 458}, {"source": 458, "target": 487}, {"source": 487, "target": 570}, {"source": 570, "target": 391}, {"source": 391, "target": 707}, {"source": 707, "target": 483}, {"source": 483, "target": 728}, {"source": 728, "target": 643}, {"source": 643, "target": 153}, {"source": 153, "target": 766}, {"source": 766, "target": 647}, {"source": 647, "target": 204}, {"source": 204, "target": 628}, {"source": 628, "target": 958}, {"source": 958, "target": 494}, {"source": 494, "target": 466}, {"source": 466, "target": 851}, {"source": 851, "target": 168}, {"source": 168, "target": 252}, {"source": 252, "target": 602}, {"source": 602, "target": 244}, {"source": 244, "target": 780}, {"source": 780, "target": 906}, {"source": 906, "target": 124}, {"source": 124, "target": 289}, {"source": 289, "target": 97}, {"source": 97, "target": 823}, {"source": 823, "target": 152}, {"source": 152, "target": 985}, {"source": 985, "target": 584}, {"source": 584, "target": 532}, {"source": 532, "target": 775}, {"source": 775, "target": 941}, {"source": 941, "target": 261}, {"source": 261, "target": 701}, {"source": 701, "target": 702}, {"source": 702, "target": 622}, {"source": 622, "target": 377}, {"source": 377, "target": 786}, {"source": 786, "target": 873}, {"source": 873, "target": 227}, {"source": 227, "target": 454}, {"source": 454, "target": 432}, {"source": 432, "target": 447}, {"source": 447, "target": 987}, {"source": 987, "target": 331}, {"source": 331, "target": 772}, {"source": 772, "target": 758}, {"source": 758, "target": 365}, {"source": 365, "target": 744}, {"source": 744, "target": 96}, {"source": 96, "target": 316}, {"source": 316, "target": 442}, {"source": 442, "target": 541}, {"source": 541, "target": 406}, {"source": 406, "target": 156}, {"source": 156, "target": 491}, {"source": 491, "target": 535}, {"source": 535, "target": 334}, {"source": 334, "target": 564}, {"source": 564, "target": 514}, {"source": 514, "target": 223}, {"source": 223, "target": 597}, {"source": 597, "target": 644}, {"source": 644, "target": 345}, {"source": 345, "target": 712}, {"source": 712, "target": 763}, {"source": 763, "target": 341}, {"source": 341, "target": 234}, {"source": 234, "target": 423}, {"source": 423, "target": 765}, {"source": 765, "target": 422}, {"source": 422, "target": 791}, {"source": 791, "target": 711}, {"source": 711, "target": 193}, {"source": 193, "target": 944}, {"source": 944, "target": 684}, {"source": 684, "target": 74}, {"source": 74, "target": 476}, {"source": 476, "target": 300}, {"source": 300, "target": 160}, {"source": 160, "target": 263}, {"source": 263, "target": 767}, {"source": 767, "target": 596}, {"source": 596, "target": 778}, {"source": 778, "target": 782}, {"source": 782, "target": 666}, {"source": 666, "target": 793}, {"source": 793, "target": 706}, {"source": 706, "target": 972}, {"source": 972, "target": 221}, {"source": 221, "target": 971}, {"source": 971, "target": 962}, {"source": 962, "target": 264}, {"source": 264, "target": 37}, {"source": 37, "target": 637}, {"source": 637, "target": 231}, {"source": 231, "target": 522}, {"source": 522, "target": 90}, {"source": 90, "target": 453}, {"source": 453, "target": 577}, {"source": 577, "target": 100}, {"source": 100, "target": 130}, {"source": 130, "target": 435}, {"source": 435, "target": 59}, {"source": 59, "target": 582}, {"source": 582, "target": 294}, {"source": 294, "target": 68}, {"source": 68, "target": 450}, {"source": 450, "target": 662}, {"source": 662, "target": 282}, {"source": 282, "target": 230}, {"source": 230, "target": 13}, {"source": 13, "target": 484}, {"source": 484, "target": 202}, {"source": 202, "target": 610}, {"source": 610, "target": 16}, {"source": 16, "target": 638}, {"source": 638, "target": 848}, {"source": 848, "target": 407}, {"source": 407, "target": 224}, {"source": 224, "target": 480}, {"source": 480, "target": 718}, {"source": 718, "target": 353}, {"source": 353, "target": 9}, {"source": 9, "target": 159}, {"source": 159, "target": 938}, {"source": 938, "target": 832}, {"source": 832, "target": 736}, {"source": 736, "target": 983}, {"source": 983, "target": 128}, {"source": 128, "target": 428}, {"source": 428, "target": 871}, {"source": 871, "target": 215}, {"source": 215, "target": 489}, {"source": 489, "target": 112}, {"source": 112, "target": 801}, {"source": 801, "target": 855}, {"source": 855, "target": 167}, {"source": 167, "target": 777}, {"source": 777, "target": 529}, {"source": 529, "target": 732}, {"source": 732, "target": 307}, {"source": 307, "target": 398}, {"source": 398, "target": 869}, {"source": 869, "target": 102}, {"source": 102, "target": 847}, {"source": 847, "target": 968}, {"source": 968, "target": 62}, {"source": 62, "target": 866}, {"source": 866, "target": 751}, {"source": 751, "target": 273}, {"source": 273, "target": 524}, {"source": 524, "target": 436}, {"source": 436, "target": 455}, {"source": 455, "target": 174}, {"source": 174, "target": 358}, {"source": 358, "target": 32}, {"source": 32, "target": 927}, {"source": 927, "target": 277}, {"source": 277, "target": 38}, {"source": 38, "target": 974}, {"source": 974, "target": 836}, {"source": 836, "target": 217}, {"source": 217, "target": 669}, {"source": 669, "target": 931}, {"source": 931, "target": 412}, {"source": 412, "target": 720}, {"source": 720, "target": 800}, {"source": 800, "target": 200}, {"source": 200, "target": 360}, {"source": 360, "target": 784}, {"source": 784, "target": 312}, {"source": 312, "target": 297}, {"source": 297, "target": 21}, {"source": 21, "target": 629}, {"source": 629, "target": 6}, {"source": 6, "target": 760}, {"source": 760, "target": 872}, {"source": 872, "target": 12}, {"source": 12, "target": 211}, {"source": 211, "target": 789}, {"source": 789, "target": 266}, {"source": 266, "target": 880}, {"source": 880, "target": 910}, {"source": 910, "target": 926}, {"source": 926, "target": 588}, {"source": 588, "target": 481}, {"source": 481, "target": 409}, {"source": 409, "target": 572}, {"source": 572, "target": 621}, {"source": 621, "target": 368}, {"source": 368, "target": 925}, {"source": 925, "target": 411}, {"source": 411, "target": 495}, {"source": 495, "target": 868}, {"source": 868, "target": 752}, {"source": 752, "target": 589}, {"source": 589, "target": 456}, {"source": 456, "target": 699}, {"source": 699, "target": 197}, {"source": 197, "target": 615}, {"source": 615, "target": 536}, {"source": 536, "target": 553}, {"source": 553, "target": 188}, {"source": 188, "target": 472}, {"source": 472, "target": 842}, {"source": 842, "target": 819}, {"source": 819, "target": 794}, {"source": 794, "target": 585}, {"source": 585, "target": 865}, {"source": 865, "target": 579}, {"source": 579, "target": 646}, {"source": 646, "target": 104}, {"source": 104, "target": 674}, {"source": 674, "target": 245}, {"source": 245, "target": 464}, {"source": 464, "target": 92}, {"source": 92, "target": 55}, {"source": 55, "target": 352}, {"source": 352, "target": 351}, {"source": 351, "target": 229}, {"source": 229, "target": 595}, {"source": 595, "target": 310}, {"source": 310, "target": 429}, {"source": 429, "target": 214}, {"source": 214, "target": 449}, {"source": 449, "target": 275}, {"source": 275, "target": 431}, {"source": 431, "target": 222}, {"source": 222, "target": 506}, {"source": 506, "target": 960}, {"source": 960, "target": 705}, {"source": 705, "target": 131}, {"source": 131, "target": 146}, {"source": 146, "target": 738}, {"source": 738, "target": 811}, {"source": 811, "target": 190}, {"source": 190, "target": 860}, {"source": 860, "target": 890}, {"source": 890, "target": 94}, {"source": 94, "target": 551}, {"source": 551, "target": 741}, {"source": 741, "target": 945}, {"source": 945, "target": 563}, {"source": 563, "target": 362}, {"source": 362, "target": 917}, {"source": 917, "target": 912}, {"source": 912, "target": 764}, {"source": 764, "target": 127}, {"source": 127, "target": 667}, {"source": 667, "target": 894}, {"source": 894, "target": 606}, {"source": 606, "target": 425}, {"source": 425, "target": 14}, {"source": 14, "target": 806}, {"source": 806, "target": 545}, {"source": 545, "target": 672}, {"source": 672, "target": 956}, {"source": 956, "target": 852}, {"source": 852, "target": 213}, {"source": 213, "target": 81}, {"source": 81, "target": 145}, {"source": 145, "target": 303}, {"source": 303, "target": 36}, {"source": 36, "target": 176}, {"source": 176, "target": 547}, {"source": 547, "target": 25}, {"source": 25, "target": 783}, {"source": 783, "target": 809}, {"source": 809, "target": 697}, {"source": 697, "target": 696}, {"source": 696, "target": 519}, {"source": 519, "target": 122}, {"source": 122, "target": 626}, {"source": 626, "target": 276}, {"source": 276, "target": 107}, {"source": 107, "target": 80}, {"source": 80, "target": 318}, {"source": 318, "target": 833}, {"source": 833, "target": 7}, {"source": 7, "target": 26}, {"source": 26, "target": 500}, {"source": 500, "target": 283}, {"source": 283, "target": 445}, {"source": 445, "target": 897}, {"source": 897, "target": 47}, {"source": 47, "target": 205}, {"source": 205, "target": 381}, {"source": 381, "target": 980}, {"source": 980, "target": 380}, {"source": 380, "target": 770}, {"source": 770, "target": 392}, {"source": 392, "target": 948}, {"source": 948, "target": 187}, {"source": 187, "target": 517}, {"source": 517, "target": 305}, {"source": 305, "target": 959}, {"source": 959, "target": 542}, {"source": 542, "target": 807}, {"source": 807, "target": 803}, {"source": 803, "target": 573}, {"source": 573, "target": 369}, {"source": 369, "target": 475}, {"source": 475, "target": 462}, {"source": 462, "target": 482}, {"source": 482, "target": 467}, {"source": 467, "target": 170}, {"source": 170, "target": 232}, {"source": 232, "target": 417}, {"source": 417, "target": 115}, {"source": 115, "target": 40}, {"source": 40, "target": 306}, {"source": 306, "target": 262}, {"source": 262, "target": 659}, {"source": 659, "target": 308}, {"source": 308, "target": 161}, {"source": 161, "target": 954}, {"source": 954, "target": 83}, {"source": 83, "target": 108}, {"source": 108, "target": 497}, {"source": 497, "target": 281}, {"source": 281, "target": 516}, {"source": 516, "target": 898}, {"source": 898, "target": 296}, {"source": 296, "target": 518}, {"source": 518, "target": 441}, {"source": 441, "target": 404}, {"source": 404, "target": 173}, {"source": 173, "target": 162}, {"source": 162, "target": 178}, {"source": 178, "target": 937}, {"source": 937, "target": 479}, {"source": 479, "target": 461}, {"source": 461, "target": 918}, {"source": 918, "target": 724}, {"source": 724, "target": 502}, {"source": 502, "target": 212}, {"source": 212, "target": 655}, {"source": 655, "target": 686}, {"source": 686, "target": 493}, {"source": 493, "target": 856}, {"source": 856, "target": 797}, {"source": 797, "target": 31}, {"source": 31, "target": 554}, {"source": 554, "target": 258}, {"source": 258, "target": 611}, {"source": 611, "target": 694}]} \ No newline at end of file diff --git a/output/dsj1000.txt b/output/dsj1000.txt new file mode 100644 index 0000000..593b6a6 --- /dev/null +++ b/output/dsj1000.txt @@ -0,0 +1 @@ +694, 113, 939, 256, 50, 268, 148, 225, 578, 555, 618, 839, 110, 565, 336, 169, 719, 645, 22, 988, 71, 426, 203, 924, 157, 216, 905, 904, 981, 61, 920, 27, 280, 348, 477, 604, 586, 133, 86, 942, 33, 761, 695, 840, 548, 361, 838, 226, 89, 774, 321, 460, 272, 932, 400, 165, 470, 862, 444, 830, 688, 293, 125, 69, 552, 340, 66, 317, 949, 790, 376, 474, 175, 923, 166, 598, 91, 692, 625, 57, 664, 935, 999, 525, 241, 164, 350, 457, 691, 879, 387, 735, 849, 243, 158, 700, 53, 287, 757, 616, 270, 220, 109, 54, 418, 965, 998, 60, 919, 928, 887, 946, 911, 955, 933, 982, 636, 617, 914, 143, 150, 120, 325, 356, 172, 452, 505, 315, 333, 486, 288, 327, 817, 85, 889, 64, 730, 469, 876, 722, 909, 822, 337, 745, 250, 18, 813, 439, 716, 238, 490, 2, 902, 568, 1, 630, 690, 708, 627, 668, 468, 709, 373, 612, 424, 798, 814, 132, 812, 11, 802, 882, 379, 984, 750, 967, 642, 845, 402, 715, 180, 652, 35, 874, 826, 357, 521, 459, 210, 52, 499, 608, 219, 45, 329, 921, 257, 571, 605, 67, 77, 507, 346, 105, 184, 233, 723, 8, 558, 808, 714, 343, 682, 332, 886, 888, 675, 729, 401, 3, 393, 147, 508, 601, 269, 846, 858, 378, 58, 129, 950, 893, 117, 947, 580, 285, 101, 683, 587, 196, 326, 182, 78, 576, 183, 677, 420, 246, 141, 208, 957, 433, 769, 394, 827, 660, 413, 301, 562, 788, 569, 989, 185, 530, 389, 539, 335, 375, 903, 742, 82, 943, 994, 676, 739, 98, 964, 349, 137, 410, 396, 743, 324, 986, 762, 556, 776, 538, 991, 810, 799, 144, 746, 952, 405, 437, 531, 42, 929, 298, 179, 828, 661, 895, 996, 665, 372, 63, 689, 121, 75, 311, 465, 509, 199, 48, 853, 993, 599, 510, 30, 574, 831, 451, 685, 478, 344, 93, 733, 657, 663, 978, 138, 969, 713, 41, 785, 559, 693, 209, 65, 979, 95, 207, 438, 171, 448, 328, 248, 330, 670, 367, 430, 309, 239, 440, 192, 359, 339, 43, 875, 278, 899, 191, 228, 631, 39, 892, 768, 633, 863, 254, 56, 613, 201, 533, 523, 384, 756, 970, 76, 299, 323, 0, 913, 816, 727, 870, 658, 421, 247, 883, 600, 259, 619, 291, 951, 796, 560, 609, 511, 726, 149, 543, 513, 654, 255, 561, 265, 881, 678, 841, 181, 963, 386, 371, 966, 614, 84, 135, 347, 520, 632, 195, 607, 623, 249, 20, 857, 189, 385, 740, 687, 140, 279, 650, 151, 824, 891, 537, 829, 206, 284, 504, 320, 634, 446, 703, 566, 805, 635, 17, 363, 641, 498, 198, 747, 593, 236, 864, 620, 44, 15, 355, 139, 681, 163, 916, 527, 835, 749, 671, 70, 651, 995, 649, 976, 304, 930, 290, 119, 759, 990, 23, 388, 901, 512, 698, 240, 878, 126, 251, 253, 837, 792, 118, 961, 653, 155, 34, 488, 721, 364, 844, 815, 271, 992, 443, 771, 5, 557, 72, 366, 953, 900, 10, 544, 496, 4, 382, 99, 370, 515, 134, 850, 734, 940, 186, 753, 781, 314, 804, 87, 322, 473, 342, 260, 302, 704, 88, 463, 501, 19, 374, 583, 673, 896, 123, 997, 503, 975, 725, 136, 977, 922, 859, 567, 528, 414, 49, 292, 106, 731, 194, 908, 403, 594, 592, 492, 485, 534, 843, 114, 907, 399, 471, 787, 591, 884, 46, 755, 679, 934, 854, 390, 820, 973, 818, 795, 710, 427, 154, 640, 680, 867, 526, 581, 550, 834, 24, 28, 639, 717, 624, 51, 79, 274, 936, 408, 319, 590, 177, 821, 754, 295, 267, 419, 29, 103, 737, 242, 546, 111, 877, 395, 116, 656, 575, 286, 885, 603, 313, 825, 397, 235, 237, 338, 861, 648, 540, 218, 383, 434, 748, 779, 915, 549, 416, 773, 73, 415, 354, 142, 458, 487, 570, 391, 707, 483, 728, 643, 153, 766, 647, 204, 628, 958, 494, 466, 851, 168, 252, 602, 244, 780, 906, 124, 289, 97, 823, 152, 985, 584, 532, 775, 941, 261, 701, 702, 622, 377, 786, 873, 227, 454, 432, 447, 987, 331, 772, 758, 365, 744, 96, 316, 442, 541, 406, 156, 491, 535, 334, 564, 514, 223, 597, 644, 345, 712, 763, 341, 234, 423, 765, 422, 791, 711, 193, 944, 684, 74, 476, 300, 160, 263, 767, 596, 778, 782, 666, 793, 706, 972, 221, 971, 962, 264, 37, 637, 231, 522, 90, 453, 577, 100, 130, 435, 59, 582, 294, 68, 450, 662, 282, 230, 13, 484, 202, 610, 16, 638, 848, 407, 224, 480, 718, 353, 9, 159, 938, 832, 736, 983, 128, 428, 871, 215, 489, 112, 801, 855, 167, 777, 529, 732, 307, 398, 869, 102, 847, 968, 62, 866, 751, 273, 524, 436, 455, 174, 358, 32, 927, 277, 38, 974, 836, 217, 669, 931, 412, 720, 800, 200, 360, 784, 312, 297, 21, 629, 6, 760, 872, 12, 211, 789, 266, 880, 910, 926, 588, 481, 409, 572, 621, 368, 925, 411, 495, 868, 752, 589, 456, 699, 197, 615, 536, 553, 188, 472, 842, 819, 794, 585, 865, 579, 646, 104, 674, 245, 464, 92, 55, 352, 351, 229, 595, 310, 429, 214, 449, 275, 431, 222, 506, 960, 705, 131, 146, 738, 811, 190, 860, 890, 94, 551, 741, 945, 563, 362, 917, 912, 764, 127, 667, 894, 606, 425, 14, 806, 545, 672, 956, 852, 213, 81, 145, 303, 36, 176, 547, 25, 783, 809, 697, 696, 519, 122, 626, 276, 107, 80, 318, 833, 7, 26, 500, 283, 445, 897, 47, 205, 381, 980, 380, 770, 392, 948, 187, 517, 305, 959, 542, 807, 803, 573, 369, 475, 462, 482, 467, 170, 232, 417, 115, 40, 306, 262, 659, 308, 161, 954, 83, 108, 497, 281, 516, 898, 296, 518, 441, 404, 173, 162, 178, 937, 479, 461, 918, 724, 502, 212, 655, 686, 493, 856, 797, 31, 554, 258, 611 \ No newline at end of file diff --git a/output/pcb442.json b/output/pcb442.json new file mode 100644 index 0000000..c35d916 --- /dev/null +++ b/output/pcb442.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 200, "y": 400}, {"title": "1", "id": 1, "x": 200, "y": 500}, {"title": "2", "id": 2, "x": 200, "y": 600}, {"title": "3", "id": 3, "x": 200, "y": 700}, {"title": "4", "id": 4, "x": 200, "y": 800}, {"title": "5", "id": 5, "x": 200, "y": 900}, {"title": "6", "id": 6, "x": 200, "y": 1000}, {"title": "7", "id": 7, "x": 200, "y": 1100}, {"title": "8", "id": 8, "x": 200, "y": 1200}, {"title": "9", "id": 9, "x": 200, "y": 1300}, {"title": "10", "id": 10, "x": 200, "y": 1400}, {"title": "11", "id": 11, "x": 200, "y": 1500}, {"title": "12", "id": 12, "x": 200, "y": 1600}, {"title": "13", "id": 13, "x": 200, "y": 1700}, {"title": "14", "id": 14, "x": 200, "y": 1800}, {"title": "15", "id": 15, "x": 200, "y": 1900}, {"title": "16", "id": 16, "x": 200, "y": 2000}, {"title": "17", "id": 17, "x": 200, "y": 2100}, {"title": "18", "id": 18, "x": 200, "y": 2200}, {"title": "19", "id": 19, "x": 200, "y": 2300}, {"title": "20", "id": 20, "x": 200, "y": 2400}, {"title": "21", "id": 21, "x": 200, "y": 2500}, {"title": "22", "id": 22, "x": 200, "y": 2600}, {"title": "23", "id": 23, "x": 200, "y": 2700}, {"title": "24", "id": 24, "x": 200, "y": 2800}, {"title": "25", "id": 25, "x": 200, "y": 2900}, {"title": "26", "id": 26, "x": 200, "y": 3000}, {"title": "27", "id": 27, "x": 200, "y": 3100}, {"title": "28", "id": 28, "x": 200, "y": 3200}, {"title": "29", "id": 29, "x": 200, "y": 3300}, {"title": "30", "id": 30, "x": 200, "y": 3400}, {"title": "31", "id": 31, "x": 200, "y": 3500}, {"title": "32", "id": 32, "x": 200, "y": 3600}, {"title": "33", "id": 33, "x": 300, "y": 400}, {"title": "34", "id": 34, "x": 300, "y": 500}, {"title": "35", "id": 35, "x": 300, "y": 600}, {"title": "36", "id": 36, "x": 300, "y": 700}, {"title": "37", "id": 37, "x": 300, "y": 800}, {"title": "38", "id": 38, "x": 300, "y": 900}, {"title": "39", "id": 39, "x": 300, "y": 1000}, {"title": "40", "id": 40, "x": 300, "y": 1100}, {"title": "41", "id": 41, "x": 300, "y": 1200}, {"title": "42", "id": 42, "x": 300, "y": 1300}, {"title": "43", "id": 43, "x": 300, "y": 1400}, {"title": "44", "id": 44, "x": 300, "y": 1500}, {"title": "45", "id": 45, "x": 300, "y": 1600}, {"title": "46", "id": 46, "x": 300, "y": 1700}, {"title": "47", "id": 47, "x": 300, "y": 1800}, {"title": "48", "id": 48, "x": 300, "y": 1900}, {"title": "49", "id": 49, "x": 300, "y": 2000}, {"title": "50", "id": 50, "x": 300, "y": 2100}, {"title": "51", "id": 51, "x": 300, "y": 2200}, {"title": "52", "id": 52, "x": 300, "y": 2300}, {"title": "53", "id": 53, "x": 300, "y": 2400}, {"title": "54", "id": 54, "x": 300, "y": 2500}, {"title": "55", "id": 55, "x": 300, "y": 2600}, {"title": "56", "id": 56, "x": 300, "y": 2700}, {"title": "57", "id": 57, "x": 300, "y": 2800}, {"title": "58", "id": 58, "x": 300, "y": 2900}, {"title": "59", "id": 59, "x": 300, "y": 3000}, {"title": "60", "id": 60, "x": 300, "y": 3100}, {"title": "61", "id": 61, "x": 300, "y": 3200}, {"title": "62", "id": 62, "x": 300, "y": 3300}, {"title": "63", "id": 63, "x": 300, "y": 3400}, {"title": "64", "id": 64, "x": 300, "y": 3500}, {"title": "65", "id": 65, "x": 400, "y": 400}, {"title": "66", "id": 66, "x": 400, "y": 500}, {"title": "67", "id": 67, "x": 400, "y": 600}, {"title": "68", "id": 68, "x": 400, "y": 700}, {"title": "69", "id": 69, "x": 400, "y": 800}, {"title": "70", "id": 70, "x": 400, "y": 900}, {"title": "71", "id": 71, "x": 400, "y": 1000}, {"title": "72", "id": 72, "x": 400, "y": 1100}, {"title": "73", "id": 73, "x": 400, "y": 1200}, {"title": "74", "id": 74, "x": 400, "y": 1300}, {"title": "75", "id": 75, "x": 400, "y": 1400}, {"title": "76", "id": 76, "x": 400, "y": 1500}, {"title": "77", "id": 77, "x": 400, "y": 1600}, {"title": "78", "id": 78, "x": 400, "y": 1700}, {"title": "79", "id": 79, "x": 400, "y": 1800}, {"title": "80", "id": 80, "x": 400, "y": 1900}, {"title": "81", "id": 81, "x": 400, "y": 2000}, {"title": "82", "id": 82, "x": 400, "y": 2100}, {"title": "83", "id": 83, "x": 400, "y": 2200}, {"title": "84", "id": 84, "x": 400, "y": 2300}, {"title": "85", "id": 85, "x": 400, "y": 2400}, {"title": "86", "id": 86, "x": 400, "y": 2500}, {"title": "87", "id": 87, "x": 400, "y": 2600}, {"title": "88", "id": 88, "x": 400, "y": 2700}, {"title": "89", "id": 89, "x": 400, "y": 2800}, {"title": "90", "id": 90, "x": 400, "y": 2900}, {"title": "91", "id": 91, "x": 400, "y": 3000}, {"title": "92", "id": 92, "x": 400, "y": 3100}, {"title": "93", "id": 93, "x": 400, "y": 3200}, {"title": "94", "id": 94, "x": 400, "y": 3300}, {"title": "95", "id": 95, "x": 400, "y": 3400}, {"title": "96", "id": 96, "x": 400, "y": 3500}, {"title": "97", "id": 97, "x": 400, "y": 3600}, {"title": "98", "id": 98, "x": 500, "y": 1500}, {"title": "99", "id": 99, "x": 500, "y": 1829}, {"title": "100", "id": 100, "x": 500, "y": 3100}, {"title": "101", "id": 101, "x": 600, "y": 400}, {"title": "102", "id": 102, "x": 700, "y": 300}, {"title": "103", "id": 103, "x": 700, "y": 600}, {"title": "104", "id": 104, "x": 700, "y": 1500}, {"title": "105", "id": 105, "x": 700, "y": 1600}, {"title": "106", "id": 106, "x": 700, "y": 1800}, {"title": "107", "id": 107, "x": 700, "y": 2100}, {"title": "108", "id": 108, "x": 700, "y": 2400}, {"title": "109", "id": 109, "x": 700, "y": 2700}, {"title": "110", "id": 110, "x": 700, "y": 3000}, {"title": "111", "id": 111, "x": 700, "y": 3300}, {"title": "112", "id": 112, "x": 700, "y": 3600}, {"title": "113", "id": 113, "x": 800, "y": 300}, {"title": "114", "id": 114, "x": 800, "y": 600}, {"title": "115", "id": 115, "x": 800, "y": 1030}, {"title": "116", "id": 116, "x": 800, "y": 1500}, {"title": "117", "id": 117, "x": 800, "y": 1800}, {"title": "118", "id": 118, "x": 800, "y": 2100}, {"title": "119", "id": 119, "x": 800, "y": 2400}, {"title": "120", "id": 120, "x": 800, "y": 2600}, {"title": "121", "id": 121, "x": 800, "y": 2700}, {"title": "122", "id": 122, "x": 800, "y": 3000}, {"title": "123", "id": 123, "x": 800, "y": 3300}, {"title": "124", "id": 124, "x": 800, "y": 3600}, {"title": "125", "id": 125, "x": 900, "y": 300}, {"title": "126", "id": 126, "x": 900, "y": 600}, {"title": "127", "id": 127, "x": 900, "y": 1500}, {"title": "128", "id": 128, "x": 900, "y": 1800}, {"title": "129", "id": 129, "x": 900, "y": 2100}, {"title": "130", "id": 130, "x": 900, "y": 2400}, {"title": "131", "id": 131, "x": 900, "y": 2700}, {"title": "132", "id": 132, "x": 900, "y": 3000}, {"title": "133", "id": 133, "x": 900, "y": 3300}, {"title": "134", "id": 134, "x": 900, "y": 3600}, {"title": "135", "id": 135, "x": 1000, "y": 300}, {"title": "136", "id": 136, "x": 1000, "y": 600}, {"title": "137", "id": 137, "x": 1000, "y": 1100}, {"title": "138", "id": 138, "x": 1000, "y": 1500}, {"title": "139", "id": 139, "x": 1000, "y": 1629}, {"title": "140", "id": 140, "x": 1000, "y": 1800}, {"title": "141", "id": 141, "x": 1000, "y": 2100}, {"title": "142", "id": 142, "x": 1000, "y": 2400}, {"title": "143", "id": 143, "x": 1000, "y": 2600}, {"title": "144", "id": 144, "x": 1000, "y": 2700}, {"title": "145", "id": 145, "x": 1000, "y": 3000}, {"title": "146", "id": 146, "x": 1000, "y": 3300}, {"title": "147", "id": 147, "x": 1000, "y": 3600}, {"title": "148", "id": 148, "x": 1100, "y": 300}, {"title": "149", "id": 149, "x": 1100, "y": 600}, {"title": "150", "id": 150, "x": 1100, "y": 700}, {"title": "151", "id": 151, "x": 1100, "y": 900}, {"title": "152", "id": 152, "x": 1100, "y": 1500}, {"title": "153", "id": 153, "x": 1100, "y": 1800}, {"title": "154", "id": 154, "x": 1100, "y": 2100}, {"title": "155", "id": 155, "x": 1100, "y": 2400}, {"title": "156", "id": 156, "x": 1100, "y": 2700}, {"title": "157", "id": 157, "x": 1100, "y": 3000}, {"title": "158", "id": 158, "x": 1100, "y": 3300}, {"title": "159", "id": 159, "x": 1100, "y": 3600}, {"title": "160", "id": 160, "x": 1200, "y": 300}, {"title": "161", "id": 161, "x": 1200, "y": 600}, {"title": "162", "id": 162, "x": 1200, "y": 1500}, {"title": "163", "id": 163, "x": 1200, "y": 1700}, {"title": "164", "id": 164, "x": 1200, "y": 1800}, {"title": "165", "id": 165, "x": 1200, "y": 2100}, {"title": "166", "id": 166, "x": 1200, "y": 2400}, {"title": "167", "id": 167, "x": 1200, "y": 2700}, {"title": "168", "id": 168, "x": 1200, "y": 3000}, {"title": "169", "id": 169, "x": 1200, "y": 3300}, {"title": "170", "id": 170, "x": 1200, "y": 3600}, {"title": "171", "id": 171, "x": 1300, "y": 300}, {"title": "172", "id": 172, "x": 1300, "y": 600}, {"title": "173", "id": 173, "x": 1300, "y": 700}, {"title": "174", "id": 174, "x": 1300, "y": 1130}, {"title": "175", "id": 175, "x": 1300, "y": 1500}, {"title": "176", "id": 176, "x": 1300, "y": 1800}, {"title": "177", "id": 177, "x": 1300, "y": 2100}, {"title": "178", "id": 178, "x": 1300, "y": 2200}, {"title": "179", "id": 179, "x": 1300, "y": 2400}, {"title": "180", "id": 180, "x": 1300, "y": 2700}, {"title": "181", "id": 181, "x": 1300, "y": 3000}, {"title": "182", "id": 182, "x": 1300, "y": 3300}, {"title": "183", "id": 183, "x": 1300, "y": 3600}, {"title": "184", "id": 184, "x": 1400, "y": 300}, {"title": "185", "id": 185, "x": 1400, "y": 600}, {"title": "186", "id": 186, "x": 1400, "y": 930}, {"title": "187", "id": 187, "x": 1400, "y": 1500}, {"title": "188", "id": 188, "x": 1400, "y": 1800}, {"title": "189", "id": 189, "x": 1400, "y": 2000}, {"title": "190", "id": 190, "x": 1400, "y": 2100}, {"title": "191", "id": 191, "x": 1400, "y": 2400}, {"title": "192", "id": 192, "x": 1400, "y": 2500}, {"title": "193", "id": 193, "x": 1400, "y": 2700}, {"title": "194", "id": 194, "x": 1400, "y": 2820}, {"title": "195", "id": 195, "x": 1400, "y": 2900}, {"title": "196", "id": 196, "x": 1400, "y": 3000}, {"title": "197", "id": 197, "x": 1400, "y": 3300}, {"title": "198", "id": 198, "x": 1400, "y": 3600}, {"title": "199", "id": 199, "x": 1500, "y": 1500}, {"title": "200", "id": 200, "x": 1500, "y": 1800}, {"title": "201", "id": 201, "x": 1500, "y": 1900}, {"title": "202", "id": 202, "x": 1500, "y": 2100}, {"title": "203", "id": 203, "x": 1500, "y": 2400}, {"title": "204", "id": 204, "x": 1500, "y": 2700}, {"title": "205", "id": 205, "x": 1500, "y": 2800}, {"title": "206", "id": 206, "x": 1500, "y": 2860}, {"title": "207", "id": 207, "x": 1500, "y": 3000}, {"title": "208", "id": 208, "x": 1500, "y": 3300}, {"title": "209", "id": 209, "x": 1500, "y": 3600}, {"title": "210", "id": 210, "x": 1600, "y": 1100}, {"title": "211", "id": 211, "x": 1600, "y": 1300}, {"title": "212", "id": 212, "x": 1600, "y": 1500}, {"title": "213", "id": 213, "x": 1600, "y": 1800}, {"title": "214", "id": 214, "x": 1600, "y": 2100}, {"title": "215", "id": 215, "x": 1600, "y": 2400}, {"title": "216", "id": 216, "x": 1600, "y": 2700}, {"title": "217", "id": 217, "x": 1600, "y": 3000}, {"title": "218", "id": 218, "x": 1600, "y": 3300}, {"title": "219", "id": 219, "x": 1600, "y": 3600}, {"title": "220", "id": 220, "x": 1700, "y": 1200}, {"title": "221", "id": 221, "x": 1700, "y": 1500}, {"title": "222", "id": 222, "x": 1700, "y": 1800}, {"title": "223", "id": 223, "x": 1700, "y": 2100}, {"title": "224", "id": 224, "x": 1700, "y": 2400}, {"title": "225", "id": 225, "x": 1700, "y": 3600}, {"title": "226", "id": 226, "x": 1800, "y": 300}, {"title": "227", "id": 227, "x": 1800, "y": 600}, {"title": "228", "id": 228, "x": 1800, "y": 1230}, {"title": "229", "id": 229, "x": 1800, "y": 1500}, {"title": "230", "id": 230, "x": 1800, "y": 1800}, {"title": "231", "id": 231, "x": 1800, "y": 2100}, {"title": "232", "id": 232, "x": 1800, "y": 2400}, {"title": "233", "id": 233, "x": 1900, "y": 300}, {"title": "234", "id": 234, "x": 1900, "y": 600}, {"title": "235", "id": 235, "x": 1900, "y": 3000}, {"title": "236", "id": 236, "x": 1900, "y": 3520}, {"title": "237", "id": 237, "x": 2000, "y": 300}, {"title": "238", "id": 238, "x": 2000, "y": 370}, {"title": "239", "id": 239, "x": 2000, "y": 600}, {"title": "240", "id": 240, "x": 2000, "y": 800}, {"title": "241", "id": 241, "x": 2000, "y": 900}, {"title": "242", "id": 242, "x": 2000, "y": 1000}, {"title": "243", "id": 243, "x": 2000, "y": 1100}, {"title": "244", "id": 244, "x": 2000, "y": 1200}, {"title": "245", "id": 245, "x": 2000, "y": 1300}, {"title": "246", "id": 246, "x": 2000, "y": 1400}, {"title": "247", "id": 247, "x": 2000, "y": 1500}, {"title": "248", "id": 248, "x": 2000, "y": 1600}, {"title": "249", "id": 249, "x": 2000, "y": 1700}, {"title": "250", "id": 250, "x": 2000, "y": 1800}, {"title": "251", "id": 251, "x": 2000, "y": 1900}, {"title": "252", "id": 252, "x": 2000, "y": 2000}, {"title": "253", "id": 253, "x": 2000, "y": 2100}, {"title": "254", "id": 254, "x": 2000, "y": 2200}, {"title": "255", "id": 255, "x": 2000, "y": 2300}, {"title": "256", "id": 256, "x": 2000, "y": 2400}, {"title": "257", "id": 257, "x": 2000, "y": 2500}, {"title": "258", "id": 258, "x": 2000, "y": 2600}, {"title": "259", "id": 259, "x": 2000, "y": 2700}, {"title": "260", "id": 260, "x": 2000, "y": 2800}, {"title": "261", "id": 261, "x": 2000, "y": 2900}, {"title": "262", "id": 262, "x": 2000, "y": 3000}, {"title": "263", "id": 263, "x": 2000, "y": 3100}, {"title": "264", "id": 264, "x": 2000, "y": 3500}, {"title": "265", "id": 265, "x": 2100, "y": 300}, {"title": "266", "id": 266, "x": 2100, "y": 600}, {"title": "267", "id": 267, "x": 2100, "y": 3200}, {"title": "268", "id": 268, "x": 2200, "y": 300}, {"title": "269", "id": 269, "x": 2200, "y": 469}, {"title": "270", "id": 270, "x": 2200, "y": 600}, {"title": "271", "id": 271, "x": 2200, "y": 3200}, {"title": "272", "id": 272, "x": 2300, "y": 300}, {"title": "273", "id": 273, "x": 2300, "y": 600}, {"title": "274", "id": 274, "x": 2300, "y": 3400}, {"title": "275", "id": 275, "x": 2400, "y": 300}, {"title": "276", "id": 276, "x": 2400, "y": 600}, {"title": "277", "id": 277, "x": 2400, "y": 2100}, {"title": "278", "id": 278, "x": 2500, "y": 300}, {"title": "279", "id": 279, "x": 2500, "y": 800}, {"title": "280", "id": 280, "x": 2600, "y": 400}, {"title": "281", "id": 281, "x": 2600, "y": 500}, {"title": "282", "id": 282, "x": 2600, "y": 800}, {"title": "283", "id": 283, "x": 2600, "y": 900}, {"title": "284", "id": 284, "x": 2600, "y": 1000}, {"title": "285", "id": 285, "x": 2600, "y": 1100}, {"title": "286", "id": 286, "x": 2600, "y": 1200}, {"title": "287", "id": 287, "x": 2600, "y": 1300}, {"title": "288", "id": 288, "x": 2600, "y": 1400}, {"title": "289", "id": 289, "x": 2600, "y": 1500}, {"title": "290", "id": 290, "x": 2600, "y": 1600}, {"title": "291", "id": 291, "x": 2600, "y": 1700}, {"title": "292", "id": 292, "x": 2600, "y": 1800}, {"title": "293", "id": 293, "x": 2600, "y": 1900}, {"title": "294", "id": 294, "x": 2600, "y": 2000}, {"title": "295", "id": 295, "x": 2600, "y": 2100}, {"title": "296", "id": 296, "x": 2600, "y": 2200}, {"title": "297", "id": 297, "x": 2600, "y": 2300}, {"title": "298", "id": 298, "x": 2600, "y": 2400}, {"title": "299", "id": 299, "x": 2600, "y": 2500}, {"title": "300", "id": 300, "x": 2600, "y": 2600}, {"title": "301", "id": 301, "x": 2600, "y": 2700}, {"title": "302", "id": 302, "x": 2600, "y": 2800}, {"title": "303", "id": 303, "x": 2600, "y": 2900}, {"title": "304", "id": 304, "x": 2600, "y": 3000}, {"title": "305", "id": 305, "x": 2600, "y": 3100}, {"title": "306", "id": 306, "x": 2600, "y": 3400}, {"title": "307", "id": 307, "x": 2700, "y": 700}, {"title": "308", "id": 308, "x": 2700, "y": 800}, {"title": "309", "id": 309, "x": 2700, "y": 900}, {"title": "310", "id": 310, "x": 2700, "y": 1000}, {"title": "311", "id": 311, "x": 2700, "y": 1100}, {"title": "312", "id": 312, "x": 2700, "y": 1200}, {"title": "313", "id": 313, "x": 2700, "y": 1300}, {"title": "314", "id": 314, "x": 2700, "y": 1400}, {"title": "315", "id": 315, "x": 2700, "y": 1500}, {"title": "316", "id": 316, "x": 2700, "y": 1600}, {"title": "317", "id": 317, "x": 2700, "y": 1700}, {"title": "318", "id": 318, "x": 2700, "y": 1800}, {"title": "319", "id": 319, "x": 2700, "y": 1900}, {"title": "320", "id": 320, "x": 2700, "y": 2000}, {"title": "321", "id": 321, "x": 2700, "y": 2100}, {"title": "322", "id": 322, "x": 2700, "y": 2200}, {"title": "323", "id": 323, "x": 2700, "y": 2300}, {"title": "324", "id": 324, "x": 2700, "y": 2500}, {"title": "325", "id": 325, "x": 2700, "y": 2600}, {"title": "326", "id": 326, "x": 2700, "y": 2700}, {"title": "327", "id": 327, "x": 2700, "y": 2800}, {"title": "328", "id": 328, "x": 2700, "y": 2900}, {"title": "329", "id": 329, "x": 2700, "y": 3000}, {"title": "330", "id": 330, "x": 2700, "y": 3100}, {"title": "331", "id": 331, "x": 2700, "y": 3200}, {"title": "332", "id": 332, "x": 2700, "y": 3300}, {"title": "333", "id": 333, "x": 2700, "y": 3400}, {"title": "334", "id": 334, "x": 2700, "y": 3500}, {"title": "335", "id": 335, "x": 2700, "y": 3600}, {"title": "336", "id": 336, "x": 2700, "y": 3700}, {"title": "337", "id": 337, "x": 2700, "y": 3800}, {"title": "338", "id": 338, "x": 2800, "y": 900}, {"title": "339", "id": 339, "x": 2800, "y": 1130}, {"title": "340", "id": 340, "x": 2900, "y": 400}, {"title": "341", "id": 341, "x": 2900, "y": 500}, {"title": "342", "id": 342, "x": 2900, "y": 1400}, {"title": "343", "id": 343, "x": 2900, "y": 2400}, {"title": "344", "id": 344, "x": 2900, "y": 3000}, {"title": "345", "id": 345, "x": 3000, "y": 700}, {"title": "346", "id": 346, "x": 3000, "y": 800}, {"title": "347", "id": 347, "x": 3000, "y": 900}, {"title": "348", "id": 348, "x": 3000, "y": 1000}, {"title": "349", "id": 349, "x": 3000, "y": 1100}, {"title": "350", "id": 350, "x": 3000, "y": 1200}, {"title": "351", "id": 351, "x": 3000, "y": 1300}, {"title": "352", "id": 352, "x": 3000, "y": 1500}, {"title": "353", "id": 353, "x": 3000, "y": 1600}, {"title": "354", "id": 354, "x": 3000, "y": 1700}, {"title": "355", "id": 355, "x": 3000, "y": 1800}, {"title": "356", "id": 356, "x": 3000, "y": 1900}, {"title": "357", "id": 357, "x": 3000, "y": 2000}, {"title": "358", "id": 358, "x": 3000, "y": 2100}, {"title": "359", "id": 359, "x": 3000, "y": 2200}, {"title": "360", "id": 360, "x": 3000, "y": 2300}, {"title": "361", "id": 361, "x": 3000, "y": 2500}, {"title": "362", "id": 362, "x": 3000, "y": 2600}, {"title": "363", "id": 363, "x": 3000, "y": 2700}, {"title": "364", "id": 364, "x": 3000, "y": 2800}, {"title": "365", "id": 365, "x": 3000, "y": 2900}, {"title": "366", "id": 366, "x": 3000, "y": 3000}, {"title": "367", "id": 367, "x": 3000, "y": 3100}, {"title": "368", "id": 368, "x": 3000, "y": 3200}, {"title": "369", "id": 369, "x": 3000, "y": 3300}, {"title": "370", "id": 370, "x": 3000, "y": 3400}, {"title": "371", "id": 371, "x": 3000, "y": 3500}, {"title": "372", "id": 372, "x": 3000, "y": 3600}, {"title": "373", "id": 373, "x": 3000, "y": 3700}, {"title": "374", "id": 374, "x": 3000, "y": 3800}, {"title": "375", "id": 375, "x": 150, "y": 3500}, {"title": "376", "id": 376, "x": 150, "y": 3550}, {"title": "377", "id": 377, "x": 469, "y": 2550}, {"title": "378", "id": 378, "x": 469, "y": 3350}, {"title": "379", "id": 379, "x": 469, "y": 3450}, {"title": "380", "id": 380, "x": 540, "y": 2330}, {"title": "381", "id": 381, "x": 540, "y": 2430}, {"title": "382", "id": 382, "x": 620, "y": 3650}, {"title": "383", "id": 383, "x": 620, "y": 3709}, {"title": "384", "id": 384, "x": 750, "y": 2550}, {"title": "385", "id": 385, "x": 850, "y": 520}, {"title": "386", "id": 386, "x": 850, "y": 700}, {"title": "387", "id": 387, "x": 850, "y": 2280}, {"title": "388", "id": 388, "x": 939, "y": 740}, {"title": "389", "id": 389, "x": 950, "y": 2220}, {"title": "390", "id": 390, "x": 910, "y": 2600}, {"title": "391", "id": 391, "x": 1050, "y": 1050}, {"title": "392", "id": 392, "x": 1150, "y": 1350}, {"title": "393", "id": 393, "x": 1170, "y": 2280}, {"title": "394", "id": 394, "x": 1220, "y": 2210}, {"title": "395", "id": 395, "x": 1350, "y": 750}, {"title": "396", "id": 396, "x": 1350, "y": 1700}, {"title": "397", "id": 397, "x": 1350, "y": 2140}, {"title": "398", "id": 398, "x": 1450, "y": 770}, {"title": "399", "id": 399, "x": 1550, "y": 300}, {"title": "400", "id": 400, "x": 1550, "y": 500}, {"title": "401", "id": 401, "x": 1550, "y": 1850}, {"title": "402", "id": 402, "x": 1650, "y": 1050}, {"title": "403", "id": 403, "x": 1690, "y": 2680}, {"title": "404", "id": 404, "x": 1710, "y": 310}, {"title": "405", "id": 405, "x": 1710, "y": 510}, {"title": "406", "id": 406, "x": 1750, "y": 750}, {"title": "407", "id": 407, "x": 1790, "y": 2580}, {"title": "408", "id": 408, "x": 1720, "y": 2610}, {"title": "409", "id": 409, "x": 1790, "y": 3330}, {"title": "410", "id": 410, "x": 1720, "y": 3409}, {"title": "411", "id": 411, "x": 1829, "y": 2700}, {"title": "412", "id": 412, "x": 1829, "y": 2800}, {"title": "413", "id": 413, "x": 1829, "y": 3450}, {"title": "414", "id": 414, "x": 2060, "y": 1650}, {"title": "415", "id": 415, "x": 2050, "y": 3150}, {"title": "416", "id": 416, "x": 2170, "y": 1900}, {"title": "417", "id": 417, "x": 2110, "y": 2000}, {"title": "418", "id": 418, "x": 2120, "y": 2750}, {"title": "419", "id": 419, "x": 2150, "y": 3250}, {"title": "420", "id": 420, "x": 2290, "y": 1400}, {"title": "421", "id": 421, "x": 2220, "y": 2820}, {"title": "422", "id": 422, "x": 2280, "y": 3250}, {"title": "423", "id": 423, "x": 2390, "y": 1300}, {"title": "424", "id": 424, "x": 2320, "y": 1500}, {"title": "425", "id": 425, "x": 2450, "y": 710}, {"title": "426", "id": 426, "x": 2620, "y": 3650}, {"title": "427", "id": 427, "x": 2750, "y": 520}, {"title": "428", "id": 428, "x": 2760, "y": 2360}, {"title": "429", "id": 429, "x": 2850, "y": 2200}, {"title": "430", "id": 430, "x": 2850, "y": 2700}, {"title": "431", "id": 431, "x": 2850, "y": 3350}, {"title": "432", "id": 432, "x": 2930, "y": 950}, {"title": "433", "id": 433, "x": 2950, "y": 1750}, {"title": "434", "id": 434, "x": 2950, "y": 2050}, {"title": "435", "id": 435, "x": 520, "y": 3200}, {"title": "436", "id": 436, "x": 2300, "y": 3500}, {"title": "437", "id": 437, "x": 2320, "y": 3150}, {"title": "438", "id": 438, "x": 530, "y": 2100}, {"title": "439", "id": 439, "x": 2550, "y": 710}, {"title": "440", "id": 440, "x": 750, "y": 490}, {"title": "441", "id": 441, "x": 0, "y": 0}], "edges": [{"source": 18, "target": 17}, {"source": 17, "target": 16}, {"source": 16, "target": 15}, {"source": 15, "target": 14}, {"source": 14, "target": 13}, {"source": 13, "target": 70}, {"source": 70, "target": 71}, {"source": 71, "target": 72}, {"source": 72, "target": 73}, {"source": 73, "target": 74}, {"source": 74, "target": 75}, {"source": 75, "target": 99}, {"source": 99, "target": 78}, {"source": 78, "target": 79}, {"source": 79, "target": 80}, {"source": 80, "target": 47}, {"source": 47, "target": 46}, {"source": 46, "target": 45}, {"source": 45, "target": 44}, {"source": 44, "target": 43}, {"source": 43, "target": 42}, {"source": 42, "target": 41}, {"source": 41, "target": 40}, {"source": 40, "target": 39}, {"source": 39, "target": 38}, {"source": 38, "target": 37}, {"source": 37, "target": 36}, {"source": 36, "target": 35}, {"source": 35, "target": 34}, {"source": 34, "target": 33}, {"source": 33, "target": 0}, {"source": 0, "target": 1}, {"source": 1, "target": 2}, {"source": 2, "target": 3}, {"source": 3, "target": 4}, {"source": 4, "target": 441}, {"source": 441, "target": 69}, {"source": 69, "target": 68}, {"source": 68, "target": 67}, {"source": 67, "target": 66}, {"source": 66, "target": 65}, {"source": 65, "target": 101}, {"source": 101, "target": 102}, {"source": 102, "target": 113}, {"source": 113, "target": 125}, {"source": 125, "target": 135}, {"source": 135, "target": 148}, {"source": 148, "target": 160}, {"source": 160, "target": 171}, {"source": 171, "target": 184}, {"source": 184, "target": 399}, {"source": 399, "target": 404}, {"source": 404, "target": 226}, {"source": 226, "target": 233}, {"source": 233, "target": 237}, {"source": 237, "target": 238}, {"source": 238, "target": 265}, {"source": 265, "target": 268}, {"source": 268, "target": 272}, {"source": 272, "target": 275}, {"source": 275, "target": 278}, {"source": 278, "target": 280}, {"source": 280, "target": 281}, {"source": 281, "target": 427}, {"source": 427, "target": 341}, {"source": 341, "target": 340}, {"source": 340, "target": 345}, {"source": 345, "target": 346}, {"source": 346, "target": 347}, {"source": 347, "target": 432}, {"source": 432, "target": 348}, {"source": 348, "target": 349}, {"source": 349, "target": 350}, {"source": 350, "target": 351}, {"source": 351, "target": 342}, {"source": 342, "target": 352}, {"source": 352, "target": 353}, {"source": 353, "target": 354}, {"source": 354, "target": 433}, {"source": 433, "target": 355}, {"source": 355, "target": 356}, {"source": 356, "target": 357}, {"source": 357, "target": 434}, {"source": 434, "target": 358}, {"source": 358, "target": 359}, {"source": 359, "target": 360}, {"source": 360, "target": 343}, {"source": 343, "target": 361}, {"source": 361, "target": 362}, {"source": 362, "target": 363}, {"source": 363, "target": 364}, {"source": 364, "target": 365}, {"source": 365, "target": 366}, {"source": 366, "target": 344}, {"source": 344, "target": 367}, {"source": 367, "target": 368}, {"source": 368, "target": 369}, {"source": 369, "target": 370}, {"source": 370, "target": 371}, {"source": 371, "target": 372}, {"source": 372, "target": 373}, {"source": 373, "target": 374}, {"source": 374, "target": 337}, {"source": 337, "target": 336}, {"source": 336, "target": 426}, {"source": 426, "target": 335}, {"source": 335, "target": 334}, {"source": 334, "target": 333}, {"source": 333, "target": 306}, {"source": 306, "target": 332}, {"source": 332, "target": 331}, {"source": 331, "target": 330}, {"source": 330, "target": 305}, {"source": 305, "target": 304}, {"source": 304, "target": 303}, {"source": 303, "target": 302}, {"source": 302, "target": 301}, {"source": 301, "target": 300}, {"source": 300, "target": 299}, {"source": 299, "target": 298}, {"source": 298, "target": 297}, {"source": 297, "target": 296}, {"source": 296, "target": 295}, {"source": 295, "target": 294}, {"source": 294, "target": 293}, {"source": 293, "target": 292}, {"source": 292, "target": 291}, {"source": 291, "target": 290}, {"source": 290, "target": 289}, {"source": 289, "target": 288}, {"source": 288, "target": 287}, {"source": 287, "target": 286}, {"source": 286, "target": 285}, {"source": 285, "target": 284}, {"source": 284, "target": 283}, {"source": 283, "target": 282}, {"source": 282, "target": 279}, {"source": 279, "target": 425}, {"source": 425, "target": 439}, {"source": 439, "target": 307}, {"source": 307, "target": 308}, {"source": 308, "target": 309}, {"source": 309, "target": 310}, {"source": 310, "target": 311}, {"source": 311, "target": 312}, {"source": 312, "target": 313}, {"source": 313, "target": 314}, {"source": 314, "target": 315}, {"source": 315, "target": 316}, {"source": 316, "target": 317}, {"source": 317, "target": 318}, {"source": 318, "target": 319}, {"source": 319, "target": 320}, {"source": 320, "target": 321}, {"source": 321, "target": 322}, {"source": 322, "target": 323}, {"source": 323, "target": 428}, {"source": 428, "target": 324}, {"source": 324, "target": 325}, {"source": 325, "target": 326}, {"source": 326, "target": 327}, {"source": 327, "target": 328}, {"source": 328, "target": 329}, {"source": 329, "target": 430}, {"source": 430, "target": 429}, {"source": 429, "target": 277}, {"source": 277, "target": 416}, {"source": 416, "target": 417}, {"source": 417, "target": 252}, {"source": 252, "target": 431}, {"source": 431, "target": 421}, {"source": 421, "target": 418}, {"source": 418, "target": 411}, {"source": 411, "target": 412}, {"source": 412, "target": 206}, {"source": 206, "target": 205}, {"source": 205, "target": 194}, {"source": 194, "target": 195}, {"source": 195, "target": 110}, {"source": 110, "target": 122}, {"source": 122, "target": 132}, {"source": 132, "target": 145}, {"source": 145, "target": 157}, {"source": 157, "target": 168}, {"source": 168, "target": 181}, {"source": 181, "target": 196}, {"source": 196, "target": 207}, {"source": 207, "target": 217}, {"source": 217, "target": 225}, {"source": 225, "target": 219}, {"source": 219, "target": 209}, {"source": 209, "target": 198}, {"source": 198, "target": 183}, {"source": 183, "target": 170}, {"source": 170, "target": 159}, {"source": 159, "target": 147}, {"source": 147, "target": 134}, {"source": 134, "target": 124}, {"source": 124, "target": 112}, {"source": 112, "target": 383}, {"source": 383, "target": 382}, {"source": 382, "target": 97}, {"source": 97, "target": 96}, {"source": 96, "target": 379}, {"source": 379, "target": 95}, {"source": 95, "target": 378}, {"source": 378, "target": 94}, {"source": 94, "target": 62}, {"source": 62, "target": 63}, {"source": 63, "target": 64}, {"source": 64, "target": 32}, {"source": 32, "target": 376}, {"source": 376, "target": 375}, {"source": 375, "target": 31}, {"source": 31, "target": 30}, {"source": 30, "target": 29}, {"source": 29, "target": 28}, {"source": 28, "target": 61}, {"source": 61, "target": 93}, {"source": 93, "target": 92}, {"source": 92, "target": 100}, {"source": 100, "target": 435}, {"source": 435, "target": 111}, {"source": 111, "target": 123}, {"source": 123, "target": 133}, {"source": 133, "target": 146}, {"source": 146, "target": 158}, {"source": 158, "target": 169}, {"source": 169, "target": 182}, {"source": 182, "target": 197}, {"source": 197, "target": 208}, {"source": 208, "target": 218}, {"source": 218, "target": 410}, {"source": 410, "target": 409}, {"source": 409, "target": 413}, {"source": 413, "target": 236}, {"source": 236, "target": 264}, {"source": 264, "target": 436}, {"source": 436, "target": 274}, {"source": 274, "target": 437}, {"source": 437, "target": 422}, {"source": 422, "target": 271}, {"source": 271, "target": 419}, {"source": 419, "target": 267}, {"source": 267, "target": 415}, {"source": 415, "target": 263}, {"source": 263, "target": 235}, {"source": 235, "target": 262}, {"source": 262, "target": 261}, {"source": 261, "target": 260}, {"source": 260, "target": 259}, {"source": 259, "target": 258}, {"source": 258, "target": 257}, {"source": 257, "target": 256}, {"source": 256, "target": 255}, {"source": 255, "target": 254}, {"source": 254, "target": 253}, {"source": 253, "target": 231}, {"source": 231, "target": 223}, {"source": 223, "target": 214}, {"source": 214, "target": 202}, {"source": 202, "target": 178}, {"source": 178, "target": 394}, {"source": 394, "target": 393}, {"source": 393, "target": 389}, {"source": 389, "target": 387}, {"source": 387, "target": 143}, {"source": 143, "target": 390}, {"source": 390, "target": 384}, {"source": 384, "target": 120}, {"source": 120, "target": 109}, {"source": 109, "target": 121}, {"source": 121, "target": 131}, {"source": 131, "target": 144}, {"source": 144, "target": 156}, {"source": 156, "target": 167}, {"source": 167, "target": 180}, {"source": 180, "target": 193}, {"source": 193, "target": 204}, {"source": 204, "target": 216}, {"source": 216, "target": 403}, {"source": 403, "target": 408}, {"source": 408, "target": 407}, {"source": 407, "target": 232}, {"source": 232, "target": 224}, {"source": 224, "target": 215}, {"source": 215, "target": 203}, {"source": 203, "target": 192}, {"source": 192, "target": 191}, {"source": 191, "target": 179}, {"source": 179, "target": 166}, {"source": 166, "target": 155}, {"source": 155, "target": 142}, {"source": 142, "target": 130}, {"source": 130, "target": 119}, {"source": 119, "target": 108}, {"source": 108, "target": 381}, {"source": 381, "target": 380}, {"source": 380, "target": 438}, {"source": 438, "target": 107}, {"source": 107, "target": 118}, {"source": 118, "target": 129}, {"source": 129, "target": 141}, {"source": 141, "target": 154}, {"source": 154, "target": 165}, {"source": 165, "target": 177}, {"source": 177, "target": 397}, {"source": 397, "target": 190}, {"source": 190, "target": 189}, {"source": 189, "target": 201}, {"source": 201, "target": 401}, {"source": 401, "target": 200}, {"source": 200, "target": 188}, {"source": 188, "target": 176}, {"source": 176, "target": 163}, {"source": 163, "target": 164}, {"source": 164, "target": 153}, {"source": 153, "target": 140}, {"source": 140, "target": 128}, {"source": 128, "target": 117}, {"source": 117, "target": 106}, {"source": 106, "target": 105}, {"source": 105, "target": 104}, {"source": 104, "target": 116}, {"source": 116, "target": 115}, {"source": 115, "target": 137}, {"source": 137, "target": 391}, {"source": 391, "target": 151}, {"source": 151, "target": 150}, {"source": 150, "target": 388}, {"source": 388, "target": 386}, {"source": 386, "target": 440}, {"source": 440, "target": 103}, {"source": 103, "target": 114}, {"source": 114, "target": 385}, {"source": 385, "target": 126}, {"source": 126, "target": 136}, {"source": 136, "target": 149}, {"source": 149, "target": 161}, {"source": 161, "target": 172}, {"source": 172, "target": 185}, {"source": 185, "target": 400}, {"source": 400, "target": 405}, {"source": 405, "target": 227}, {"source": 227, "target": 234}, {"source": 234, "target": 239}, {"source": 239, "target": 240}, {"source": 240, "target": 241}, {"source": 241, "target": 242}, {"source": 242, "target": 243}, {"source": 243, "target": 244}, {"source": 244, "target": 245}, {"source": 245, "target": 246}, {"source": 246, "target": 247}, {"source": 247, "target": 248}, {"source": 248, "target": 414}, {"source": 414, "target": 249}, {"source": 249, "target": 250}, {"source": 250, "target": 251}, {"source": 251, "target": 230}, {"source": 230, "target": 222}, {"source": 222, "target": 213}, {"source": 213, "target": 396}, {"source": 396, "target": 175}, {"source": 175, "target": 162}, {"source": 162, "target": 152}, {"source": 152, "target": 138}, {"source": 138, "target": 127}, {"source": 127, "target": 139}, {"source": 139, "target": 392}, {"source": 392, "target": 174}, {"source": 174, "target": 186}, {"source": 186, "target": 398}, {"source": 398, "target": 395}, {"source": 395, "target": 173}, {"source": 173, "target": 406}, {"source": 406, "target": 402}, {"source": 402, "target": 210}, {"source": 210, "target": 220}, {"source": 220, "target": 228}, {"source": 228, "target": 211}, {"source": 211, "target": 212}, {"source": 212, "target": 199}, {"source": 199, "target": 187}, {"source": 187, "target": 221}, {"source": 221, "target": 229}, {"source": 229, "target": 420}, {"source": 420, "target": 424}, {"source": 424, "target": 423}, {"source": 423, "target": 339}, {"source": 339, "target": 338}, {"source": 338, "target": 276}, {"source": 276, "target": 273}, {"source": 273, "target": 270}, {"source": 270, "target": 266}, {"source": 266, "target": 269}, {"source": 269, "target": 98}, {"source": 98, "target": 77}, {"source": 77, "target": 76}, {"source": 76, "target": 5}, {"source": 5, "target": 6}, {"source": 6, "target": 7}, {"source": 7, "target": 8}, {"source": 8, "target": 9}, {"source": 9, "target": 10}, {"source": 10, "target": 11}, {"source": 11, "target": 12}, {"source": 12, "target": 48}, {"source": 48, "target": 49}, {"source": 49, "target": 50}, {"source": 50, "target": 51}, {"source": 51, "target": 52}, {"source": 52, "target": 53}, {"source": 53, "target": 54}, {"source": 54, "target": 55}, {"source": 55, "target": 56}, {"source": 56, "target": 19}, {"source": 19, "target": 20}, {"source": 20, "target": 21}, {"source": 21, "target": 22}, {"source": 22, "target": 23}, {"source": 23, "target": 24}, {"source": 24, "target": 25}, {"source": 25, "target": 26}, {"source": 26, "target": 27}, {"source": 27, "target": 60}, {"source": 60, "target": 57}, {"source": 57, "target": 58}, {"source": 58, "target": 59}, {"source": 59, "target": 91}, {"source": 91, "target": 90}, {"source": 90, "target": 89}, {"source": 89, "target": 88}, {"source": 88, "target": 87}, {"source": 87, "target": 377}, {"source": 377, "target": 86}, {"source": 86, "target": 85}, {"source": 85, "target": 84}, {"source": 84, "target": 83}, {"source": 83, "target": 82}, {"source": 82, "target": 81}, {"source": 81, "target": 18}]} \ No newline at end of file diff --git a/output/pcb442.txt b/output/pcb442.txt new file mode 100644 index 0000000..e007b1b --- /dev/null +++ b/output/pcb442.txt @@ -0,0 +1 @@ +18, 17, 16, 15, 14, 13, 70, 71, 72, 73, 74, 75, 99, 78, 79, 80, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 0, 1, 2, 3, 4, 441, 69, 68, 67, 66, 65, 101, 102, 113, 125, 135, 148, 160, 171, 184, 399, 404, 226, 233, 237, 238, 265, 268, 272, 275, 278, 280, 281, 427, 341, 340, 345, 346, 347, 432, 348, 349, 350, 351, 342, 352, 353, 354, 433, 355, 356, 357, 434, 358, 359, 360, 343, 361, 362, 363, 364, 365, 366, 344, 367, 368, 369, 370, 371, 372, 373, 374, 337, 336, 426, 335, 334, 333, 306, 332, 331, 330, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 279, 425, 439, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 428, 324, 325, 326, 327, 328, 329, 430, 429, 277, 416, 417, 252, 431, 421, 418, 411, 412, 206, 205, 194, 195, 110, 122, 132, 145, 157, 168, 181, 196, 207, 217, 225, 219, 209, 198, 183, 170, 159, 147, 134, 124, 112, 383, 382, 97, 96, 379, 95, 378, 94, 62, 63, 64, 32, 376, 375, 31, 30, 29, 28, 61, 93, 92, 100, 435, 111, 123, 133, 146, 158, 169, 182, 197, 208, 218, 410, 409, 413, 236, 264, 436, 274, 437, 422, 271, 419, 267, 415, 263, 235, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 231, 223, 214, 202, 178, 394, 393, 389, 387, 143, 390, 384, 120, 109, 121, 131, 144, 156, 167, 180, 193, 204, 216, 403, 408, 407, 232, 224, 215, 203, 192, 191, 179, 166, 155, 142, 130, 119, 108, 381, 380, 438, 107, 118, 129, 141, 154, 165, 177, 397, 190, 189, 201, 401, 200, 188, 176, 163, 164, 153, 140, 128, 117, 106, 105, 104, 116, 115, 137, 391, 151, 150, 388, 386, 440, 103, 114, 385, 126, 136, 149, 161, 172, 185, 400, 405, 227, 234, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 414, 249, 250, 251, 230, 222, 213, 396, 175, 162, 152, 138, 127, 139, 392, 174, 186, 398, 395, 173, 406, 402, 210, 220, 228, 211, 212, 199, 187, 221, 229, 420, 424, 423, 339, 338, 276, 273, 270, 266, 269, 98, 77, 76, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 50, 51, 52, 53, 54, 55, 56, 19, 20, 21, 22, 23, 24, 25, 26, 27, 60, 57, 58, 59, 91, 90, 89, 88, 87, 377, 86, 85, 84, 83, 82, 81 \ No newline at end of file diff --git a/output/st70.json b/output/st70.json new file mode 100644 index 0000000..c3c812a --- /dev/null +++ b/output/st70.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 64, "y": 96}, {"title": "1", "id": 1, "x": 80, "y": 39}, {"title": "2", "id": 2, "x": 69, "y": 23}, {"title": "3", "id": 3, "x": 72, "y": 42}, {"title": "4", "id": 4, "x": 48, "y": 67}, {"title": "5", "id": 5, "x": 58, "y": 43}, {"title": "6", "id": 6, "x": 81, "y": 34}, {"title": "7", "id": 7, "x": 79, "y": 17}, {"title": "8", "id": 8, "x": 30, "y": 23}, {"title": "9", "id": 9, "x": 42, "y": 67}, {"title": "10", "id": 10, "x": 7, "y": 76}, {"title": "11", "id": 11, "x": 29, "y": 51}, {"title": "12", "id": 12, "x": 78, "y": 92}, {"title": "13", "id": 13, "x": 64, "y": 8}, {"title": "14", "id": 14, "x": 95, "y": 57}, {"title": "15", "id": 15, "x": 57, "y": 91}, {"title": "16", "id": 16, "x": 40, "y": 35}, {"title": "17", "id": 17, "x": 68, "y": 40}, {"title": "18", "id": 18, "x": 92, "y": 34}, {"title": "19", "id": 19, "x": 62, "y": 1}, {"title": "20", "id": 20, "x": 28, "y": 43}, {"title": "21", "id": 21, "x": 76, "y": 73}, {"title": "22", "id": 22, "x": 67, "y": 88}, {"title": "23", "id": 23, "x": 93, "y": 54}, {"title": "24", "id": 24, "x": 6, "y": 8}, {"title": "25", "id": 25, "x": 87, "y": 18}, {"title": "26", "id": 26, "x": 30, "y": 9}, {"title": "27", "id": 27, "x": 77, "y": 13}, {"title": "28", "id": 28, "x": 78, "y": 94}, {"title": "29", "id": 29, "x": 55, "y": 3}, {"title": "30", "id": 30, "x": 82, "y": 88}, {"title": "31", "id": 31, "x": 73, "y": 28}, {"title": "32", "id": 32, "x": 20, "y": 55}, {"title": "33", "id": 33, "x": 27, "y": 43}, {"title": "34", "id": 34, "x": 95, "y": 86}, {"title": "35", "id": 35, "x": 67, "y": 99}, {"title": "36", "id": 36, "x": 48, "y": 83}, {"title": "37", "id": 37, "x": 75, "y": 81}, {"title": "38", "id": 38, "x": 8, "y": 19}, {"title": "39", "id": 39, "x": 20, "y": 18}, {"title": "40", "id": 40, "x": 54, "y": 38}, {"title": "41", "id": 41, "x": 63, "y": 36}, {"title": "42", "id": 42, "x": 44, "y": 33}, {"title": "43", "id": 43, "x": 52, "y": 18}, {"title": "44", "id": 44, "x": 12, "y": 13}, {"title": "45", "id": 45, "x": 25, "y": 5}, {"title": "46", "id": 46, "x": 58, "y": 85}, {"title": "47", "id": 47, "x": 5, "y": 67}, {"title": "48", "id": 48, "x": 90, "y": 9}, {"title": "49", "id": 49, "x": 41, "y": 76}, {"title": "50", "id": 50, "x": 25, "y": 76}, {"title": "51", "id": 51, "x": 37, "y": 64}, {"title": "52", "id": 52, "x": 56, "y": 63}, {"title": "53", "id": 53, "x": 10, "y": 55}, {"title": "54", "id": 54, "x": 98, "y": 7}, {"title": "55", "id": 55, "x": 16, "y": 74}, {"title": "56", "id": 56, "x": 89, "y": 60}, {"title": "57", "id": 57, "x": 48, "y": 82}, {"title": "58", "id": 58, "x": 81, "y": 76}, {"title": "59", "id": 59, "x": 29, "y": 60}, {"title": "60", "id": 60, "x": 17, "y": 22}, {"title": "61", "id": 61, "x": 5, "y": 45}, {"title": "62", "id": 62, "x": 79, "y": 70}, {"title": "63", "id": 63, "x": 9, "y": 100}, {"title": "64", "id": 64, "x": 17, "y": 82}, {"title": "65", "id": 65, "x": 74, "y": 67}, {"title": "66", "id": 66, "x": 10, "y": 68}, {"title": "67", "id": 67, "x": 48, "y": 19}, {"title": "68", "id": 68, "x": 83, "y": 86}, {"title": "69", "id": 69, "x": 84, "y": 94}], "edges": [{"source": 63, "target": 10}, {"source": 10, "target": 66}, {"source": 66, "target": 47}, {"source": 47, "target": 53}, {"source": 53, "target": 32}, {"source": 32, "target": 59}, {"source": 59, "target": 51}, {"source": 51, "target": 9}, {"source": 9, "target": 4}, {"source": 4, "target": 52}, {"source": 52, "target": 20}, {"source": 20, "target": 16}, {"source": 16, "target": 42}, {"source": 42, "target": 40}, {"source": 40, "target": 3}, {"source": 3, "target": 17}, {"source": 17, "target": 41}, {"source": 41, "target": 5}, {"source": 5, "target": 11}, {"source": 11, "target": 33}, {"source": 33, "target": 61}, {"source": 61, "target": 60}, {"source": 60, "target": 39}, {"source": 39, "target": 38}, {"source": 38, "target": 24}, {"source": 24, "target": 44}, {"source": 44, "target": 45}, {"source": 45, "target": 26}, {"source": 26, "target": 8}, {"source": 8, "target": 67}, {"source": 67, "target": 43}, {"source": 43, "target": 29}, {"source": 29, "target": 19}, {"source": 19, "target": 13}, {"source": 13, "target": 27}, {"source": 27, "target": 7}, {"source": 7, "target": 25}, {"source": 25, "target": 48}, {"source": 48, "target": 54}, {"source": 54, "target": 18}, {"source": 18, "target": 6}, {"source": 6, "target": 31}, {"source": 31, "target": 2}, {"source": 2, "target": 1}, {"source": 1, "target": 23}, {"source": 23, "target": 14}, {"source": 14, "target": 56}, {"source": 56, "target": 62}, {"source": 62, "target": 65}, {"source": 65, "target": 21}, {"source": 21, "target": 58}, {"source": 58, "target": 37}, {"source": 37, "target": 22}, {"source": 22, "target": 12}, {"source": 12, "target": 68}, {"source": 68, "target": 30}, {"source": 30, "target": 34}, {"source": 34, "target": 69}, {"source": 69, "target": 28}, {"source": 28, "target": 35}, {"source": 35, "target": 0}, {"source": 0, "target": 15}, {"source": 15, "target": 46}, {"source": 46, "target": 36}, {"source": 36, "target": 57}, {"source": 57, "target": 49}, {"source": 49, "target": 50}, {"source": 50, "target": 55}, {"source": 55, "target": 64}, {"source": 64, "target": 63}]} \ No newline at end of file diff --git a/output/st70.txt b/output/st70.txt new file mode 100644 index 0000000..03e5089 --- /dev/null +++ b/output/st70.txt @@ -0,0 +1 @@ +63, 10, 66, 47, 53, 32, 59, 51, 9, 4, 52, 20, 16, 42, 40, 3, 17, 41, 5, 11, 33, 61, 60, 39, 38, 24, 44, 45, 26, 8, 67, 43, 29, 19, 13, 27, 7, 25, 48, 54, 18, 6, 31, 2, 1, 23, 14, 56, 62, 65, 21, 58, 37, 22, 12, 68, 30, 34, 69, 28, 35, 0, 15, 46, 36, 57, 49, 50, 55, 64 \ No newline at end of file diff --git a/output/ulysses16.json b/output/ulysses16.json new file mode 100644 index 0000000..86bae59 --- /dev/null +++ b/output/ulysses16.json @@ -0,0 +1 @@ +{"nodes": [{"title": "0", "id": 0, "x": 38, "y": 20}, {"title": "1", "id": 1, "x": 39, "y": 26}, {"title": "2", "id": 2, "x": 40, "y": 25}, {"title": "3", "id": 3, "x": 36, "y": 23}, {"title": "4", "id": 4, "x": 33, "y": 10}, {"title": "5", "id": 5, "x": 37, "y": 12}, {"title": "6", "id": 6, "x": 38, "y": 13}, {"title": "7", "id": 7, "x": 37, "y": 20}, {"title": "8", "id": 8, "x": 41, "y": 9}, {"title": "9", "id": 9, "x": 41, "y": 13}, {"title": "10", "id": 10, "x": 36, "y": -5}, {"title": "11", "id": 11, "x": 38, "y": 15}, {"title": "12", "id": 12, "x": 38, "y": 15}, {"title": "13", "id": 13, "x": 37, "y": 15}, {"title": "14", "id": 14, "x": 35, "y": 14}, {"title": "15", "id": 15, "x": 39, "y": 19}], "edges": [{"source": 7, "target": 3}, {"source": 3, "target": 1}, {"source": 1, "target": 2}, {"source": 2, "target": 0}, {"source": 0, "target": 15}, {"source": 15, "target": 12}, {"source": 12, "target": 11}, {"source": 11, "target": 6}, {"source": 6, "target": 5}, {"source": 5, "target": 9}, {"source": 9, "target": 8}, {"source": 8, "target": 10}, {"source": 10, "target": 4}, {"source": 4, "target": 14}, {"source": 14, "target": 13}, {"source": 13, "target": 7}]} \ No newline at end of file diff --git a/output/ulysses16.txt b/output/ulysses16.txt new file mode 100644 index 0000000..25ede6a --- /dev/null +++ b/output/ulysses16.txt @@ -0,0 +1 @@ +7, 3, 1, 2, 0, 15, 12, 11, 6, 5, 9, 8, 10, 4, 14, 13 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ae9a165 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +matplotlib +scikit-learn +scipy +numpy diff --git a/run_all.sh b/run_all.sh new file mode 100644 index 0000000..8778417 --- /dev/null +++ b/run_all.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +pip install -r requirements.txt + +python main.py data/simple/ulysses16.tsp +python main.py data/simple/att48.tsp +python main.py data/simple/st70.tsp + +python main.py data/medium/a280.tsp +python main.py data/medium/pcb442.tsp + +python main.py data/hard/dsj1000.tsp diff --git a/utils/visualize_tsp.py b/utils/visualize_tsp.py new file mode 100644 index 0000000..381a881 --- /dev/null +++ b/utils/visualize_tsp.py @@ -0,0 +1,54 @@ +import matplotlib.pyplot as plt + +def plotTSP(paths, points, num_iters=1): + + """ + path: List of lists with the different orders in which the nodes are visited + points: coordinates for the different nodes + num_iters: number of paths that are in the path list + + """ + + # Unpack the primary TSP path and transform it into a list of ordered + # coordinates + + x = []; y = [] + for i in paths[0]: + x.append(points[i][0]) + y.append(points[i][1]) + + plt.plot(x, y, 'co') + + # Set a scale for the arrow heads (there should be a reasonable default for this, WTF?) + # a_scale = float(max(x))/float(100) + + # Draw the older paths, if provided + if num_iters > 1: + + for i in range(1, num_iters): + + # Transform the old paths into a list of coordinates + xi = []; yi = []; + for j in paths[i]: + xi.append(points[j][0]) + yi.append(points[j][1]) + + plt.arrow(xi[-1], yi[-1], (xi[0] - xi[-1]), (yi[0] - yi[-1]), + color = 'r', length_includes_head = True, ls = 'dashed', + width = 0.001/float(num_iters)) + for i in range(0, len(x) - 1): + plt.arrow(xi[i], yi[i], (xi[i+1] - xi[i]), (yi[i+1] - yi[i]), + color = 'r', length_includes_head = True, + ls = 'dashed', width = 0.001/float(num_iters)) + + # Draw the primary path for the TSP problem + plt.arrow(x[-1], y[-1], (x[0] - x[-1]), (y[0] - y[-1]), + color ='g', length_includes_head=True) + for i in range(0,len(x)-1): + plt.arrow(x[i], y[i], (x[i+1] - x[i]), (y[i+1] - y[i]), + color = 'g', length_includes_head = True) + + #Set axis too slitghtly larger than the set of x and y + # plt.xlim(min(x)*1.1, max(x)*1.1) + # plt.ylim(min(y)*1.1, max(y)*1.1) + plt.show()