In [2]:
import networkx as nx
import numpy as np

from snpp.utils.matrix import load_sparse_csr
from snpp.cores.correlation_clustering import sampling_wrapper, \
    agglomerative

dataset = 'wiki'

In [3]:
g = nx.from_scipy_sparse_matrix(load_sparse_csr('data/{}.npz'.format(dataset)),
                                create_using=nx.Graph(), edge_attribute='sign')

In [4]:
print('number of nodes {}'.format(g.number_of_nodes()))


number of nodes 11259

In [5]:
sample_size = 2000
threshold = -0.7

In [6]:
clus = sampling_wrapper(g, agglomerative,
                        threshold=threshold,
                        sample_size=sample_size)


0it [00:00, ?it/s]
sample_size 2000
928it [01:49, 61.23it/s]
  0%|          | 27/9259 [00:00<00:34, 264.95it/s]
partition on the samples produces 1073 clusters
remainign nodes to assign clusters 9259
100%|██████████| 9259/9259 [00:42<00:00, 217.54it/s]
0it [00:00, ?it/s]
singleton_nodes (3173)
113it [00:06,  2.16it/s]
{0: {2}, 1: {8}, 2: {2732}, 3: {11}, 4: {8204}, 5: {8206}, 6: {17}, 7: {22}, 8: {24}, 9: {25}, 10: {26}, 11: {8219}, 12: {31}, 13: {8228}, 14: {39}, 15: {40}, 16: {41}, 17: {8235}, 18: {2738}, 19: {8239}, 20: {48}, 21: {50}, 22: {8245}, 23: {55}, 24: {60}, 25: {8253}, 26: {8255}, 27: {64}, 28: {8257}, 29: {8259}, 30: {71}, 31: {8265}, 32: {75}, 33: {78}, 34: {79}, 35: {80}, 36: {8273}, 37: {1379}, 38: {84}, 39: {14}, 40: {86}, 41: {88}, 42: {90}, 43: {8285}, 44: {94}, 45: {8287}, 46: {8288}, 47: {101}, 48: {8294}, 49: {8296}, 50: {105, 11076}, 51: {106}, 52: {107}, 53: {108}, 54: {8301}, 55: {8302}, 56: {8303}, 57: {113}, 58: {116}, 59: {117}, 60: {118}, 61: {8311}, 62: {121}, 63: {6847}, 64: {124}, 65: {126}, 66: {129}, 67: {133}, 68: {134}, 69: {135}, 70: {137}, 71: {8330}, 72: {8331}, 73: {141}, 74: {142}, 75: {144}, 76: {145}, 77: {8339}, 78: {8340, 3367}, 79: {149}, 80: {151}, 81: {8348}, 82: {158}, 83: {8352}, 84: {8353}, 85: {162}, 86: {8358}, 87: {167}, 88: {168}, 89: {169}, 90: {8363}, 91: {173}, 92: {174}, 93: {175}, 94: {8369}, 95: {180}, 96: {181}, 97: {8375}, 98: {184}, 99: {186}, 100: {8379}, 101: {192}, 102: {193}, 103: {198}, 104: {199}, 105: {200, 5614}, 106: {8393}, 107: {202}, 108: {8395}, 109: {205}, 110: {207}, 111: {209}, 112: {8403}, 113: {8552, 452, 214}, 114: {215}, 115: {216}, 116: {217}, 117: {219}, 118: {220}, 119: {221}, 120: {222}, 121: {223}, 122: {8419}, 123: {229}, 124: {231}, 125: {237}, 126: {239}, 127: {240}, 128: {242}, 129: {8435}, 130: {244}, 131: {8438}, 132: {8233}, 133: {248}, 134: {250}, 135: {8444}, 136: {253}, 137: {8451}, 138: {260}, 139: {8453}, 140: {265}, 141: {8458}, 142: {267}, 143: {8460}, 144: {272}, 145: {274}, 146: {275}, 147: {276}, 148: {281}, 149: {283}, 150: {285}, 151: {4433, 6389, 5657, 286}, 152: {8480}, 153: {289}, 154: {291}, 155: {292}, 156: {8486}, 157: {295}, 158: {297}, 159: {8494}, 160: {304}, 161: {305}, 162: {307}, 163: {308}, 164: {8501}, 165: {313}, 166: {8508}, 167: {320}, 168: {2784}, 169: {8514}, 170: {8515}, 171: {8517}, 172: {330}, 173: {331}, 174: {8525}, 175: {8527}, 176: {336}, 177: {337}, 178: {8530}, 179: {8531}, 180: {340}, 181: {341}, 182: {342}, 183: {343}, 184: {344}, 185: {8537}, 186: {347}, 187: {7160, 8541}, 188: {1137, 350}, 189: {352}, 190: {353}, 191: {354}, 192: {8547}, 193: {3180, 356, 6645, 2397}, 194: {357}, 195: {358}, 196: {359}, 197: {8553}, 198: {364}, 199: {8557}, 200: {4443, 366}, 201: {8560}, 202: {8562}, 203: {371}, 204: {372}, 205: {9620}, 206: {378}, 207: {381}, 208: {383}, 209: {384}, 210: {386}, 211: {387}, 212: {388}, 213: {8582}, 214: {391}, 215: {392}, 216: {393}, 217: {394}, 218: {395}, 219: {8588}, 220: {8595}, 221: {405}, 222: {407}, 223: {408}, 224: {411}, 225: {412}, 226: {413}, 227: {415}, 228: {417}, 229: {418}, 230: {419}, 231: {420}, 232: {421}, 233: {423}, 234: {8616}, 235: {425}, 236: {426}, 237: {8619}, 238: {429}, 239: {8625}, 240: {435}, 241: {437}, 242: {8630}, 243: {2017, 8634}, 244: {444}, 245: {8637}, 246: {8641}, 247: {8642}, 248: {8267}, 249: {6017, 870, 454}, 250: {455}, 251: {457}, 252: {458}, 253: {8651}, 254: {8652}, 255: {461}, 256: {8654}, 257: {463}, 258: {8656}, 259: {465}, 260: {466}, 261: {468}, 262: {8270}, 263: {8665}, 264: {8666}, 265: {477}, 266: {478}, 267: {8671}, 268: {482}, 269: {485}, 270: {486}, 271: {487}, 272: {489}, 273: {8682}, 274: {491}, 275: {492}, 276: {8688}, 277: {497}, 278: {498}, 279: {8692}, 280: {8693}, 281: {8695}, 282: {8696}, 283: {506}, 284: {508}, 285: {8702}, 286: {511}, 287: {512}, 288: {513}, 289: {8706}, 290: {517}, 291: {518}, 292: {8711}, 293: {520}, 294: {8713}, 295: {8714}, 296: {523}, 297: {10976, 2434, 10020, 4933, 6406, 10059, 8716, 7245, 10484, 3668}, 298: {526}, 299: {528}, 300: {2819}, 301: {534}, 302: {535}, 303: {538}, 304: {9647}, 305: {540}, 306: {541}, 307: {542}, 308: {543}, 309: {545}, 310: {546}, 311: {548}, 312: {550}, 313: {8743}, 314: {8744, 9947}, 315: {554}, 316: {8747, 6390}, 317: {556}, 318: {560}, 319: {562}, 320: {563}, 321: {8756}, 322: {8757}, 323: {566}, 324: {8760}, 325: {569}, 326: {570}, 327: {573}, 328: {575}, 329: {8770, 5803, 10182}, 330: {579}, 331: {8772}, 332: {583}, 333: {8778}, 334: {8781}, 335: {8782}, 336: {8784}, 337: {6966, 8785, 5862}, 338: {597}, 339: {599}, 340: {8792}, 341: {602}, 342: {603}, 343: {604}, 344: {607}, 345: {2832}, 346: {610}, 347: {613}, 348: {8806}, 349: {8807}, 350: {8812}, 351: {621}, 352: {8815}, 353: {624}, 354: {104}, 355: {7113}, 356: {627}, 357: {631}, 358: {8825}, 359: {635}, 360: {636}, 361: {638}, 362: {639}, 363: {640}, 364: {8834}, 365: {8836}, 366: {645}, 367: {8838}, 368: {8839}, 369: {648}, 370: {8841}, 371: {652}, 372: {653}, 373: {656}, 374: {8849}, 375: {658}, 376: {661}, 377: {8855}, 378: {664, 5377}, 379: {8857}, 380: {666}, 381: {667}, 382: {669}, 383: {670}, 384: {8863}, 385: {674}, 386: {675}, 387: {676}, 388: {679}, 389: {681}, 390: {682}, 391: {683}, 392: {8876}, 393: {687}, 394: {8881}, 395: {690}, 396: {8883}, 397: {8884, 7781}, 398: {693}, 399: {695}, 400: {696}, 401: {697}, 402: {699}, 403: {700}, 404: {8893}, 405: {8894}, 406: {703}, 407: {8897}, 408: {8898}, 409: {707}, 410: {710}, 411: {712}, 412: {8907}, 413: {716}, 414: {8909}, 415: {718}, 416: {719}, 417: {722}, 418: {723}, 419: {724}, 420: {725}, 421: {726}, 422: {728}, 423: {8922}, 424: {8923}, 425: {733}, 426: {735}, 427: {8930}, 428: {739}, 429: {740}, 430: {741}, 431: {6696, 1763, 8935}, 432: {745}, 433: {8938}, 434: {11033, 8939}, 435: {748}, 436: {752}, 437: {8948}, 438: {757}, 439: {8954}, 440: {763}, 441: {8956}, 442: {8957}, 443: {770}, 444: {774}, 445: {8972}, 446: {783}, 447: {784, 9361, 6142}, 448: {785, 7188}, 449: {8978}, 450: {788}, 451: {790}, 452: {791}, 453: {794}, 454: {795}, 455: {796}, 456: {797}, 457: {798}, 458: {802}, 459: {805}, 460: {8999}, 461: {809}, 462: {9004}, 463: {9005}, 464: {9006}, 465: {815}, 466: {9010}, 467: {820}, 468: {821}, 469: {822}, 470: {823}, 471: {9016}, 472: {830}, 473: {9023}, 474: {832}, 475: {833}, 476: {835}, 477: {837}, 478: {838}, 479: {9031}, 480: {840}, 481: {842}, 482: {846}, 483: {847}, 484: {849}, 485: {851}, 486: {852}, 487: {9046}, 488: {2505, 10758, 855}, 489: {857}, 490: {9050}, 491: {9052}, 492: {861}, 493: {862}, 494: {9056}, 495: {865}, 496: {867}, 497: {868}, 498: {871}, 499: {9066}, 500: {876}, 501: {877}, 502: {879}, 503: {881}, 504: {9077}, 505: {886}, 506: {887}, 507: {891}, 508: {895}, 509: {2880}, 510: {900}, 511: {902}, 512: {903}, 513: {904}, 514: {905}, 515: {906}, 516: {9099}, 517: {908}, 518: {910}, 519: {912}, 520: {9106}, 521: {9107}, 522: {9109}, 523: {9112}, 524: {922}, 525: {924}, 526: {9117}, 527: {9120}, 528: {9121}, 529: {9123}, 530: {2886}, 531: {9126}, 532: {935}, 533: {9128}, 534: {9129}, 535: {938}, 536: {9132}, 537: {9133}, 538: {942}, 539: {945}, 540: {946}, 541: {948}, 542: {7060, 949}, 543: {952}, 544: {955}, 545: {956}, 546: {957}, 547: {960}, 548: {9153}, 549: {962}, 550: {9155}, 551: {9156}, 552: {9157}, 553: {968}, 554: {971}, 555: {9164}, 556: {974}, 557: {9167}, 558: {9168}, 559: {977}, 560: {9172}, 561: {981}, 562: {983}, 563: {9176}, 564: {985}, 565: {990}, 566: {992}, 567: {993}, 568: {994}, 569: {995}, 570: {9190}, 571: {999}, 572: {2898}, 573: {9199}, 574: {1009}, 575: {9202}, 576: {9203}, 577: {1012}, 578: {9205}, 579: {1014}, 580: {1016}, 581: {1018}, 582: {1020}, 583: {1024}, 584: {1025}, 585: {9220}, 586: {1029}, 587: {9223}, 588: {1032}, 589: {9225}, 590: {1034}, 591: {1039}, 592: {1043}, 593: {1044}, 594: {9237}, 595: {1048}, 596: {1049}, 597: {1050}, 598: {1055}, 599: {1056}, 600: {9254}, 601: {9255}, 602: {9256}, 603: {1069}, 604: {1070}, 605: {9265}, 606: {1074}, 607: {9267}, 608: {1076}, 609: {1078}, 610: {1079}, 611: {1082}, 612: {1086}, 613: {36, 10935}, 614: {9281}, 615: {9038}, 616: {6294, 9286}, 617: {183}, 618: {9292}, 619: {9293}, 620: {9294}, 621: {9298}, 622: {2915}, 623: {1108}, 624: {1111}, 625: {9305}, 626: {9307}, 627: {1117}, 628: {1118}, 629: {9311}, 630: {1120}, 631: {1121}, 632: {187}, 633: {1124}, 634: {2918}, 635: {1126}, 636: {1127}, 637: {1130, 1274, 3871}, 638: {1131}, 639: {1132}, 640: {9325}, 641: {1134}, 642: {9327}, 643: {1139}, 644: {1140}, 645: {1141}, 646: {9337}, 647: {9339}, 648: {1149}, 649: {1150}, 650: {1155}, 651: {9348}, 652: {9352}, 653: {1161}, 654: {9354}, 655: {1165}, 656: {1166}, 657: {1167}, 658: {1168}, 659: {1169}, 660: {1170}, 661: {1171}, 662: {1172}, 663: {1173}, 664: {1174}, 665: {9367}, 666: {1178}, 667: {1179}, 668: {9372}, 669: {9373}, 670: {1182}, 671: {1186}, 672: {1189}, 673: {1191}, 674: {9385}, 675: {1197}, 676: {1200}, 677: {1201}, 678: {1204}, 679: {1205}, 680: {9398}, 681: {201}, 682: {1209}, 683: {1210}, 684: {9404, 2389, 3782, 1431}, 685: {1214}, 686: {1219}, 687: {1221}, 688: {1223}, 689: {1224}, 690: {9419}, 691: {9422}, 692: {1231}, 693: {1233}, 694: {1864, 1237}, 695: {9430}, 696: {1239}, 697: {9432}, 698: {1241}, 699: {1242}, 700: {1246}, 701: {1248}, 702: {9444}, 703: {1253}, 704: {1255}, 705: {1256}, 706: {1258}, 707: {1260, 7885, 5502}, 708: {9453}, 709: {1262}, 710: {1264}, 711: {9457}, 712: {211}, 713: {1269}, 714: {1270}, 715: {9769, 7438}, 716: {1273}, 717: {9468}, 718: {1277}, 719: {1278}, 720: {1280}, 721: {9473}, 722: {9474}, 723: {1283}, 724: {9478}, 725: {1288, 4033, 10035}, 726: {1289}, 727: {9484}, 728: {1293}, 729: {1297}, 730: {9490}, 731: {1299}, 732: {9493}, 733: {1302}, 734: {8409}, 735: {9499}, 736: {1309}, 737: {9503}, 738: {1312}, 739: {1314}, 740: {9507}, 741: {1316}, 742: {9510}, 743: {1320}, 744: {9513}, 745: {1322}, 746: {9516}, 747: {9517}, 748: {1327}, 749: {1328}, 750: {1332}, 751: {1333}, 752: {1334}, 753: {1335}, 754: {9780}, 755: {9535}, 756: {1344}, 757: {1346}, 758: {9539}, 759: {1348}, 760: {1351}, 761: {1352}, 762: {1355}, 763: {1356}, 764: {1357}, 765: {1359}, 766: {1360}, 767: {1363}, 768: {1364}, 769: {2958}, 770: {9559}, 771: {1368}, 772: {1369}, 773: {1370}, 774: {9563}, 775: {1372}, 776: {9569}, 777: {9571}, 778: {9573}, 779: {1382}, 780: {3069, 9575}, 781: {1384}, 782: {1386}, 783: {1389}, 784: {1391}, 785: {9584}, 786: {1394}, 787: {1398}, 788: {1399}, 789: {9593}, 790: {1403}, 791: {1404}, 792: {1405}, 793: {1407}, 794: {1410}, 795: {1412}, 796: {9607}, 797: {1416}, 798: {1417}, 799: {6328, 6354, 1419}, 800: {1422}, 801: {1423}, 802: {1424}, 803: {1428}, 804: {1429}, 805: {7306, 9908, 1430}, 806: {9625}, 807: {9595}, 808: {1436}, 809: {9629}, 810: {1439}, 811: {1442}, 812: {1443}, 813: {1445}, 814: {9639}, 815: {1448}, 816: {9642}, 817: {1451}, 818: {1452}, 819: {1455}, 820: {1456}, 821: {9649}, 822: {1460}, 823: {9654}, 824: {1958}, 825: {9656}, 826: {1466}, 827: {1467}, 828: {1470}, 829: {1474}, 830: {9667}, 831: {1477}, 832: {1479}, 833: {1481}, 834: {9674}, 835: {9675}, 836: {1485}, 837: {1486}, 838: {1488}, 839: {1489, 10163}, 840: {9683}, 841: {1492}, 842: {9685}, 843: {9688}, 844: {1497}, 845: {1498}, 846: {1501}, 847: {1504}, 848: {1506}, 849: {1509}, 850: {9703}, 851: {1512}, 852: {1513}, 853: {1514}, 854: {9708}, 855: {1517}, 856: {1519}, 857: {9714}, 858: {1524}, 859: {1528}, 860: {1529}, 861: {1531}, 862: {9726}, 863: {9727}, 864: {9730}, 865: {9733}, 866: {9734}, 867: {9735}, 868: {9739}, 869: {1550}, 870: {1552}, 871: {1554}, 872: {9747}, 873: {1556}, 874: {9749}, 875: {10114, 4087, 5284, 1558, 5199}, 876: {1559}, 877: {11183}, 878: {9756}, 879: {9757}, 880: {9761}, 881: {9763}, 882: {1572}, 883: {1575}, 884: {1576}, 885: {1577}, 886: {9770}, 887: {1581}, 888: {1583}, 889: {1585, 7989}, 890: {1587}, 891: {1588}, 892: {6839}, 893: {9786}, 894: {1595}, 895: {1596}, 896: {266}, 897: {1600, 6457, 7665}, 898: {9796}, 899: {5843, 1605, 4021}, 900: {9798}, 901: {1607}, 902: {9801}, 903: {1610}, 904: {9803}, 905: {1615}, 906: {1616}, 907: {3000}, 908: {1621}, 909: {1623}, 910: {9818}, 911: {1627}, 912: {1628}, 913: {1631}, 914: {9826}, 915: {1635}, 916: {9828}, 917: {1637}, 918: {9832}, 919: {1641}, 920: {9834}, 921: {1644}, 922: {1646}, 923: {3005}, 924: {1650}, 925: {1651}, 926: {9845}, 927: {1654}, 928: {1655}, 929: {1656}, 930: {1657}, 931: {1658}, 932: {9854}, 933: {6496, 1663}, 934: {1664}, 935: {9858}, 936: {1668}, 937: {1671}, 938: {1672}, 939: {1673}, 940: {9868}, 941: {1677}, 942: {1680}, 943: {1683}, 944: {9838}, 945: {1686}, 946: {1689}, 947: {5801, 9883}, 948: {1693}, 949: {1694}, 950: {9887}, 951: {1696}, 952: {5744}, 953: {1698}, 954: {9892}, 955: {9895}, 956: {1705}, 957: {9604}, 958: {1708}, 959: {9901}, 960: {1710}, 961: {9903}, 962: {1712}, 963: {1713}, 964: {1714}, 965: {9907}, 966: {1718}, 967: {1719}, 968: {9915}, 969: {1724}, 970: {1725}, 971: {8762}, 972: {9921}, 973: {9923}, 974: {9924}, 975: {9925}, 976: {9926}, 977: {1735}, 978: {9928}, 979: {9929}, 980: {1739}, 981: {1741}, 982: {1742}, 983: {1745}, 984: {8483}, 985: {500, 1749}, 986: {9944}, 987: {9946}, 988: {1755}, 989: {9956}, 990: {294}, 991: {1768}, 992: {1770}, 993: {1771}, 994: {1773}, 995: {1778}, 996: {9971}, 997: {9973}, 998: {9974}, 999: {9977}, 1000: {9978}, 1001: {1789}, 1002: {1790}, 1003: {1792}, 1004: {9986}, 1005: {1797}, 1006: {9991}, 1007: {9992}, 1008: {9993}, 1009: {9994}, 1010: {1803}, 1011: {1666}, 1012: {1809}, 1013: {1811}, 1014: {10004}, 1015: {302}, 1016: {1814}, 1017: {1815}, 1018: {9860}, 1019: {1818}, 1020: {1820}, 1021: {1822}, 1022: {8496}, 1023: {1826}, 1024: {1827}, 1025: {1830}, 1026: {1831}, 1027: {1832}, 1028: {10025}, 1029: {1835}, 1030: {9864}, 1031: {1844}, 1032: {1845}, 1033: {5209, 10039}, 1034: {1850}, 1035: {1851}, 1036: {1854}, 1037: {1855}, 1038: {1856}, 1039: {1858}, 1040: {1859}, 1041: {1860}, 1042: {9014}, 1043: {1676}, 1044: {1866}, 1045: {10060}, 1046: {1869}, 1047: {10062}, 1048: {10074}, 1049: {10076}, 1050: {10077}, 1051: {1887}, 1052: {10080}, 1053: {1893}, 1054: {1894}, 1055: {1897}, 1056: {1899}, 1057: {1900}, 1058: {1901}, 1059: {1903}, 1060: {1904}, 1061: {1905}, 1062: {10102}, 1063: {1917}, 1064: {9877}, 1065: {1920}, 1066: {10115}, 1067: {1924}, 1068: {1925}, 1069: {1926}, 1070: {10120}, 1071: {1936}, 1072: {1938}, 1073: {10132}, 1074: {10133}, 1075: {10135}, 1076: {1945}, 1077: {1946}, 1078: {1947}, 1079: {1949}, 1080: {1952}, 1081: {1956}, 1082: {10149}, 1083: {65}, 1084: {1960}, 1085: {10154}, 1086: {10161}, 1087: {10162}, 1088: {1972}, 1089: {10168}, 1090: {1977}, 1091: {10170, 7828}, 1092: {7816, 10172}, 1093: {8522}, 1094: {10176, 3170}, 1095: {1987}, 1096: {1988}, 1097: {10183}, 1098: {10184}, 1099: {1995}, 1100: {1997}, 1101: {1998}, 1102: {2001}, 1103: {10200}, 1104: {10201}, 1105: {10202}, 1106: {2015}, 1107: {67}, 1108: {2019}, 1109: {2020}, 1110: {10213}, 1111: {2024}, 1112: {10217}, 1113: {2028}, 1114: {10222}, 1115: {10223}, 1116: {2037}, 1117: {2039}, 1118: {2044}, 1119: {9898}, 1120: {10238}, 1121: {2049}, 1122: {2057}, 1123: {2058}, 1124: {8535}, 1125: {2060}, 1126: {2065}, 1127: {10150}, 1128: {2072}, 1129: {2073}, 1130: {2074}, 1131: {10268}, 1132: {2077}, 1133: {10270}, 1134: {2079}, 1135: {9904, 4743}, 1136: {2083}, 1137: {2087}, 1138: {2090}, 1139: {2092}, 1140: {2093}, 1141: {10286}, 1142: {2095}, 1143: {2097}, 1144: {10290}, 1145: {1715}, 1146: {2100}, 1147: {10293}, 1148: {2102}, 1149: {2104}, 1150: {2107}, 1151: {2114}, 1152: {2115}, 1153: {2119}, 1154: {10312}, 1155: {10314}, 1156: {10315, 5583}, 1157: {2125}, 1158: {10319}, 1159: {2128}, 1160: {2129}, 1161: {10322}, 1162: {355}, 1163: {10325}, 1164: {10326}, 1165: {2135}, 1166: {2140}, 1167: {10333}, 1168: {2142}, 1169: {2143}, 1170: {10336, 4269}, 1171: {2146}, 1172: {1723}, 1173: {2148}, 1174: {2150}, 1175: {10344}, 1176: {2155}, 1177: {2157}, 1178: {2160}, 1179: {2161}, 1180: {2169}, 1181: {10362}, 1182: {2173}, 1183: {2175}, 1184: {2176}, 1185: {2177}, 1186: {10371}, 1187: {5341, 10501, 10372, 4397, 4727}, 1188: {2181}, 1189: {2186}, 1190: {2187}, 1191: {10380}, 1192: {2191}, 1193: {2192}, 1194: {2194}, 1195: {1731}, 1196: {10388}, 1197: {10389}, 1198: {10392}, 1199: {2204}, 1200: {2206}, 1201: {2207}, 1202: {2208}, 1203: {2209}, 1204: {2210}, 1205: {2216}, 1206: {9927}, 1207: {10413}, 1208: {1736}, 1209: {2231}, 1210: {10425}, 1211: {2236}, 1212: {10431}, 1213: {2240}, 1214: {2242}, 1215: {2245}, 1216: {10438}, 1217: {10440}, 1218: {2249}, 1219: {2253}, 1220: {10446}, 1221: {2259}, 1222: {10452}, 1223: {2261}, 1224: {10455}, 1225: {2264}, 1226: {2266}, 1227: {2267}, 1228: {2268}, 1229: {2269}, 1230: {2273}, 1231: {2274}, 1232: {2275}, 1233: {10470}, 1234: {2285}, 1235: {10478}, 1236: {2294}, 1237: {2297}, 1238: {2298}, 1239: {2299}, 1240: {2300}, 1241: {2301}, 1242: {2302}, 1243: {2305}, 1244: {10498}, 1245: {2308}, 1246: {2310}, 1247: {2311}, 1248: {2314}, 1249: {10508}, 1250: {2317}, 1251: {2323}, 1252: {10518}, 1253: {2328}, 1254: {2333}, 1255: {2335}, 1256: {2337}, 1257: {2338}, 1258: {2343}, 1259: {2346}, 1260: {2348}, 1261: {10542}, 1262: {10543}, 1263: {2357}, 1264: {10550}, 1265: {2359}, 1266: {10552}, 1267: {2365}, 1268: {10558}, 1269: {2368}, 1270: {10564}, 1271: {3825, 2373}, 1272: {2374}, 1273: {2377}, 1274: {2378}, 1275: {2379}, 1276: {2380}, 1277: {2383}, 1278: {2384}, 1279: {2387}, 1280: {2388}, 1281: {1765}, 1282: {2406}, 1283: {2407}, 1284: {2408}, 1285: {2412}, 1286: {10605}, 1287: {2418}, 1288: {2419}, 1289: {7779, 2420, 10635}, 1290: {2421}, 1291: {2422}, 1292: {2423}, 1293: {2424}, 1294: {2425}, 1295: {2426}, 1296: {10620}, 1297: {10621}, 1298: {2435}, 1299: {81}, 1300: {2439}, 1301: {2440}, 1302: {2444}, 1303: {2453}, 1304: {1991}, 1305: {10649, 3319}, 1306: {10650}, 1307: {10652}, 1308: {10653}, 1309: {2464}, 1310: {2466}, 1311: {10661}, 1312: {10665}, 1313: {10666}, 1314: {2476}, 1315: {8605}, 1316: {10672}, 1317: {10673}, 1318: {1779}, 1319: {2485}, 1320: {2486}, 1321: {2489}, 1322: {10682}, 1323: {2492}, 1324: {11255}, 1325: {10687}, 1326: {2500}, 1327: {2501}, 1328: {2502}, 1329: {2504}, 1330: {2506}, 1331: {2507}, 1332: {2508}, 1333: {10701}, 1334: {8611}, 1335: {2516}, 1336: {10710}, 1337: {2519}, 1338: {2522}, 1339: {10715}, 1340: {2524}, 1341: {2525}, 1342: {8613}, 1343: {2528}, 1344: {2530}, 1345: {2533}, 1346: {2538}, 1347: {2540, 3421}, 1348: {10734}, 1349: {2543}, 1350: {2546}, 1351: {8617}, 1352: {2553}, 1353: {2554}, 1354: {2556}, 1355: {2557}, 1356: {2560}, 1357: {2562}, 1358: {2563}, 1359: {2567}, 1360: {2568}, 1361: {4927}, 1362: {10763}, 1363: {2572}, 1364: {10768}, 1365: {2580}, 1366: {2582}, 1367: {10779}, 1368: {2589}, 1369: {2591}, 1370: {2593}, 1371: {10786}, 1372: {2596}, 1373: {2600}, 1374: {10793}, 1375: {10794}, 1376: {4451}, 1377: {2604}, 1378: {10800}, 1379: {1800}, 1380: {8528}, 1381: {10813}, 1382: {2624}, 1383: {2625}, 1384: {2631}, 1385: {2637}, 1386: {1805}, 1387: {2640}, 1388: {9878}, 1389: {10835}, 1390: {2645}, 1391: {2650}, 1392: {10843}, 1393: {442}, 1394: {10849}, 1395: {10851, 7039}, 1396: {2661}, 1397: {2665}, 1398: {2668}, 1399: {2669}, 1400: {2671}, 1401: {2672}, 1402: {10866}, 1403: {2675}, 1404: {10872}, 1405: {2685}, 1406: {2686}, 1407: {2687}, 1408: {2688}, 1409: {10883}, 1410: {2695}, 1411: {2697}, 1412: {5911}, 1413: {2700}, 1414: {10895}, 1415: {10897}, 1416: {2707}, 1417: {2712}, 1418: {2713}, 1419: {2714}, 1420: {10907}, 1421: {2718}, 1422: {2719}, 1423: {2720}, 1424: {10914}, 1425: {2723}, 1426: {2724}, 1427: {2727}, 1428: {2730}, 1429: {10923}, 1430: {10924}, 1431: {2733}, 1432: {2735}, 1433: {2737}, 1434: {10930}, 1435: {2739}, 1436: {2740}, 1437: {2741}, 1438: {10936}, 1439: {10938}, 1440: {2751}, 1441: {2753, 6910}, 1442: {2754}, 1443: {2756}, 1444: {2758}, 1445: {1825}, 1446: {2760}, 1447: {2763}, 1448: {10958}, 1449: {8653}, 1450: {10960}, 1451: {2770}, 1452: {2771}, 1453: {2773}, 1454: {10966}, 1455: {365}, 1456: {8655}, 1457: {2780}, 1458: {2783}, 1459: {2785}, 1460: {9640}, 1461: {2789}, 1462: {2790}, 1463: {10984}, 1464: {2794}, 1465: {2795}, 1466: {2796}, 1467: {2801}, 1468: {10995}, 1469: {10996}, 1470: {2806}, 1471: {1833}, 1472: {2809}, 1473: {2811}, 1474: {2816}, 1475: {11011}, 1476: {11012}, 1477: {2827}, 1478: {2874, 11091, 2829}, 1479: {2831}, 1480: {11024}, 1481: {2835}, 1482: {2836}, 1483: {11029}, 1484: {2840}, 1485: {2841}, 1486: {2842}, 1487: {2843}, 1488: {2844}, 1489: {2847}, 1490: {2848}, 1491: {2851}, 1492: {2853}, 1493: {2854}, 1494: {2858}, 1495: {2859}, 1496: {2863}, 1497: {2864}, 1498: {2865}, 1499: {11058}, 1500: {11059}, 1501: {11060}, 1502: {2869}, 1503: {11063}, 1504: {2872}, 1505: {11065}, 1506: {11066}, 1507: {2875}, 1508: {2877}, 1509: {2879}, 1510: {11072}, 1511: {2881, 4954}, 1512: {11078}, 1513: {2887}, 1514: {2889}, 1515: {2890}, 1516: {1847}, 1517: {2893}, 1518: {2894}, 1519: {1383}, 1520: {11090}, 1521: {11093}, 1522: {2904}, 1523: {2905}, 1524: {11099}, 1525: {11101}, 1526: {2910}, 1527: {11107}, 1528: {11108}, 1529: {11110}, 1530: {2919}, 1531: {2922}, 1532: {2923}, 1533: {2925}, 1534: {2938}, 1535: {2939}, 1536: {2941}, 1537: {2943}, 1538: {2945}, 1539: {8683}, 1540: {2948}, 1541: {11142}, 1542: {11144}, 1543: {2956}, 1544: {11150}, 1545: {2962, 5308}, 1546: {10051, 5763}, 1547: {2964}, 1548: {2968}, 1549: {2969}, 1550: {2970}, 1551: {2973}, 1552: {11169}, 1553: {11173}, 1554: {2984}, 1555: {2985}, 1556: {2989}, 1557: {2991}, 1558: {2992}, 1559: {11186}, 1560: {2996}, 1561: {11192}, 1562: {11197}, 1563: {11200}, 1564: {3012}, 1565: {11205}, 1566: {3014}, 1567: {3015}, 1568: {3016}, 1569: {3017}, 1570: {3018}, 1571: {11211}, 1572: {3021}, 1573: {11214}, 1574: {11215}, 1575: {3024}, 1576: {3031}, 1577: {11227}, 1578: {3036}, 1579: {11229}, 1580: {3043}, 1581: {3050}, 1582: {11243}, 1583: {3055}, 1584: {3057}, 1585: {3058}, 1586: {8558}, 1587: {3063}, 1588: {3064}, 1589: {3067}, 1590: {3070}, 1591: {3071}, 1592: {3074}, 1593: {3082}, 1594: {3087}, 1595: {3092}, 1596: {3094}, 1597: {3096}, 1598: {4613}, 1599: {3109}, 1600: {3110}, 1601: {3114}, 1602: {3115}, 1603: {3116}, 1604: {3119}, 1605: {3121}, 1606: {3123}, 1607: {3124}, 1608: {3125}, 1609: {3132}, 1610: {3133}, 1611: {3140}, 1612: {3141}, 1613: {3145}, 1614: {3146}, 1615: {3148}, 1616: {3150}, 1617: {3153}, 1618: {3154}, 1619: {3157}, 1620: {3158}, 1621: {3160}, 1622: {3161}, 1623: {3163}, 1624: {3171}, 1625: {3173}, 1626: {3174}, 1627: {3179}, 1628: {3184}, 1629: {3185}, 1630: {3187}, 1631: {3189}, 1632: {4185, 10089}, 1633: {3192}, 1634: {3194}, 1635: {3200}, 1636: {3203}, 1637: {3206}, 1638: {3207}, 1639: {3211}, 1640: {3213}, 1641: {3215}, 1642: {3217}, 1643: {3218}, 1644: {3220}, 1645: {3224}, 1646: {3230}, 1647: {3232}, 1648: {3233}, 1649: {3234}, 1650: {3236}, 1651: {3240}, 1652: {3242}, 1653: {3245}, 1654: {3251}, 1655: {3255}, 1656: {3256}, 1657: {3258}, 1658: {3267}, 1659: {3270}, 1660: {3272}, 1661: {3273}, 1662: {3274}, 1663: {3276}, 1664: {3277}, 1665: {3278}, 1666: {3281}, 1667: {3287}, 1668: {3288}, 1669: {8740}, 1670: {3296}, 1671: {3298}, 1672: {3304}, 1673: {3306}, 1674: {3312}, 1675: {552}, 1676: {3316}, 1677: {3320}, 1678: {3321}, 1679: {1919}, 1680: {3328}, 1681: {3331, 7291}, 1682: {3334}, 1683: {3335}, 1684: {3339}, 1685: {1922}, 1686: {1923}, 1687: {3349}, 1688: {3352}, 1689: {3353}, 1690: {3354}, 1691: {4207, 3355, 4095}, 1692: {3360}, 1693: {3363}, 1694: {3366}, 1695: {3368}, 1696: {3371}, 1697: {3372}, 1698: {3376}, 1699: {3377}, 1700: {3380}, 1701: {3382}, 1702: {3384}, 1703: {3388}, 1704: {288}, 1705: {3390}, 1706: {565}, 1707: {8758}, 1708: {3399}, 1709: {3402}, 1710: {3403}, 1711: {3404}, 1712: {3406}, 1713: {3407}, 1714: {3411}, 1715: {3414}, 1716: {3420}, 1717: {3428}, 1718: {3430}, 1719: {11043}, 1720: {3436}, 1721: {3438}, 1722: {3441}, 1723: {3444}, 1724: {3446}, 1725: {3448}, 1726: {3450}, 1727: {3451}, 1728: {3454}, 1729: {3459}, 1730: {3462}, 1731: {1943}, 1732: {3468}, 1733: {3470}, 1734: {3472}, 1735: {3476}, 1736: {3478}, 1737: {3480}, 1738: {3481}, 1739: {3483}, 1740: {3485}, 1741: {3486}, 1742: {3313}, 1743: {3496}, 1744: {3502}, 1745: {3505}, 1746: {3511}, 1747: {3519}, 1748: {3520}, 1749: {3522}, 1750: {3525}, 1751: {3526}, 1752: {3527}, 1753: {3529}, 1754: {3530}, 1755: {3533}, 1756: {3537}, 1757: {3541}, 1758: {3542}, 1759: {3544}, 1760: {3551}, 1761: {592}, 1762: {3554}, 1763: {3555}, 1764: {3557}, 1765: {3558}, 1766: {3563}, 1767: {3567}, 1768: {3572}, 1769: {3578}, 1770: {3579}, 1771: {3586}, 1772: {3588}, 1773: {3589}, 1774: {3590}, 1775: {3592}, 1776: {3593}, 1777: {3597}, 1778: {3599}, 1779: {3600}, 1780: {3604}, 1781: {3612}, 1782: {3613}, 1783: {3623}, 1784: {3624}, 1785: {3627}, 1786: {3630}, 1787: {3631}, 1788: {3634}, 1789: {3637}, 1790: {3644}, 1791: {3648}, 1792: {3650}, 1793: {3653}, 1794: {3656}, 1795: {3658}, 1796: {8802}, 1797: {3341}, 1798: {1976}, 1799: {3669}, 1800: {3671}, 1801: {3676}, 1802: {3677}, 1803: {6232, 7234, 7308, 3678, 3895}, 1804: {8805}, 1805: {3683}, 1806: {614}, 1807: {1980}, 1808: {1981}, 1809: {3701}, 1810: {3704}, 1811: {396}, 1812: {3707}, 1813: {3709}, 1814: {3711}, 1815: {3712}, 1816: {3714}, 1817: {3716}, 1818: {3717}, 1819: {3721}, 1820: {8853}, 1821: {3733}, 1822: {4721}, 1823: {3752}, 1824: {3755}, 1825: {3756}, 1826: {3757}, 1827: {1992}, 1828: {3764}, 1829: {3765}, 1830: {3767}, 1831: {3768}, 1832: {3773}, 1833: {3774}, 1834: {3776}, 1835: {3787}, 1836: {3793}, 1837: {3798}, 1838: {3800}, 1839: {3802}, 1840: {3804}, 1841: {3812}, 1842: {3814}, 1843: {3816}, 1844: {3817}, 1845: {3823}, 1846: {3830}, 1847: {3835, 5990}, 1848: {3837}, 1849: {8832}, 1850: {3851}, 1851: {3854}, 1852: {3856}, 1853: {3864}, 1854: {3865}, 1855: {3866}, 1856: {3867}, 1857: {2010}, 1858: {3873}, 1859: {3874}, 1860: {3875}, 1861: {3878}, 1862: {3881}, 1863: {3885}, 1864: {8840}, 1865: {3890}, 1866: {3894}, 1867: {3898}, 1868: {3899}, 1869: {3900}, 1870: {3904}, 1871: {3905}, 1872: {3906}, 1873: {3909}, 1874: {8844}, 1875: {2018}, 1876: {3920}, 1877: {3923}, 1878: {3927}, 1879: {9678}, 1880: {3936}, 1881: {3942}, 1882: {3946}, 1883: {3952}, 1884: {3955}, 1885: {3956}, 1886: {3961}, 1887: {3962}, 1888: {3963}, 1889: {3967}, 1890: {3970}, 1891: {3972}, 1892: {3973}, 1893: {3975}, 1894: {3977, 4683}, 1895: {8856}, 1896: {3989}, 1897: {3993}, 1898: {2031}, 1899: {3997}, 1900: {3998}, 1901: {3397}, 1902: {4001}, 1903: {4008}, 1904: {4010}, 1905: {4013}, 1906: {4017}, 1907: {4019}, 1908: {4020}, 1909: {4023}, 1910: {4025}, 1911: {4026}, 1912: {4027}, 1913: {4030}, 1914: {4035}, 1915: {4039}, 1916: {4043}, 1917: {8866}, 1918: {4046}, 1919: {4056}, 1920: {4057}, 1921: {4061}, 1922: {7424, 4062}, 1923: {4063}, 1924: {4064}, 1925: {4069}, 1926: {4075}, 1927: {4077}, 1928: {2046}, 1929: {4086}, 1930: {4091}, 1931: {4092}, 1932: {4096}, 1933: {4108}, 1934: {4110}, 1935: {4111}, 1936: {4113}, 1937: {4114}, 1938: {4125}, 1939: {4126}, 1940: {4129}, 1941: {4134}, 1942: {689}, 1943: {4137}, 1944: {4138}, 1945: {4140}, 1946: {4143}, 1947: {4145}, 1948: {691}, 1949: {4149}, 1950: {4151}, 1951: {4152}, 1952: {2866}, 1953: {4158}, 1954: {5594}, 1955: {4161}, 1956: {4167}, 1957: {4168}, 1958: {4169}, 1959: {8887}, 1960: {4176}, 1961: {4177}, 1962: {4178}, 1963: {8868}, 1964: {4183}, 1965: {4198}, 1966: {4199}, 1967: {4201}, 1968: {4203}, 1969: {4205}, 1970: {4209}, 1971: {4211}, 1972: {4212}, 1973: {4217}, 1974: {4218}, 1975: {4219}, 1976: {4221}, 1977: {4223}, 1978: {4227}, 1979: {4229}, 1980: {6996, 4231}, 1981: {4232}, 1982: {4233}, 1983: {706}, 1984: {4238}, 1985: {4242}, 1986: {4244}, 1987: {4248}, 1988: {4251}, 1989: {4255}, 1990: {4272}, 1991: {4284}, 1992: {4288}, 1993: {4289}, 1994: {4295}, 1995: {4299}, 1996: {4300}, 1997: {4304}, 1998: {4306}, 1999: {4310}, 2000: {4312}, 2001: {8911}, 2002: {4320}, 2003: {4325}, 2004: {4328}, 2005: {4331}, 2006: {4333}, 2007: {4334}, 2008: {4337}, 2009: {1781}, 2010: {4341}, 2011: {4342}, 2012: {4344}, 2013: {4346}, 2014: {4348}, 2015: {4349}, 2016: {4354}, 2017: {4357}, 2018: {4359}, 2019: {4361}, 2020: {4237}, 2021: {2094}, 2022: {4375}, 2023: {730}, 2024: {4386}, 2025: {4391}, 2026: {4394}, 2027: {4395}, 2028: {4399}, 2029: {4400}, 2030: {4401}, 2031: {4406}, 2032: {4408}, 2033: {4409}, 2034: {4413}, 2035: {4414}, 2036: {4415}, 2037: {4416}, 2038: {4418}, 2039: {4419}, 2040: {4420}, 2041: {4425}, 2042: {4426}, 2043: {4428}, 2044: {4432}, 2045: {4437}, 2046: {4439}, 2047: {8932}, 2048: {4442}, 2049: {4444}, 2050: {4447}, 2051: {4448}, 2052: {4449}, 2053: {10299}, 2054: {4456}, 2055: {4457}, 2056: {743}, 2057: {4465}, 2058: {4467}, 2059: {4469}, 2060: {4475}, 2061: {4478}, 2062: {4480}, 2063: {4481}, 2064: {4485}, 2065: {4489}, 2066: {4493}, 2067: {4494}, 2068: {4495}, 2069: {4500}, 2070: {4506}, 2071: {4511}, 2072: {4512}, 2073: {4515}, 2074: {4517}, 2075: {4521}, 2076: {4523}, 2077: {4524}, 2078: {4532}, 2079: {4533}, 2080: {4534}, 2081: {756}, 2082: {4538}, 2083: {2123}, 2084: {4552}, 2085: {4557}, 2086: {4558}, 2087: {10317}, 2088: {4560}, 2089: {4566}, 2090: {4570}, 2091: {4572}, 2092: {762}, 2093: {4580}, 2094: {4584}, 2095: {4589}, 2096: {4597}, 2097: {4606}, 2098: {4610}, 2099: {4612}, 2100: {2134}, 2101: {4615}, 2102: {4619}, 2103: {4622}, 2104: {8610}, 2105: {4625}, 2106: {4626}, 2107: {4629}, 2108: {4633}, 2109: {4635}, 2110: {4637}, 2111: {5893, 4639}, 2112: {4643}, 2113: {4649}, 2114: {4652}, 2115: {4655}, 2116: {4658}, 2117: {4664}, 2118: {4665}, 2119: {4668}, 2120: {4669}, 2121: {4672, 8154, 6891, 7445}, 2122: {4673}, 2123: {4674}, 2124: {4677}, 2125: {780}, 2126: {4688}, 2127: {4690}, 2128: {4691}, 2129: {4692}, 2130: {4693}, 2131: {4697}, 2132: {4699}, 2133: {4700}, 2134: {4704}, 2135: {2066}, 2136: {4707}, 2137: {4709}, 2138: {4710}, 2139: {4711}, 2140: {4712}, 2141: {4716}, 2142: {4718}, 2143: {4719}, 2144: {2152}, 2145: {4728}, 2146: {4729}, 2147: {4731}, 2148: {4742}, 2149: {4745}, 2150: {4746}, 2151: {4752}, 2152: {4753}, 2153: {4756}, 2154: {4765}, 2155: {4769}, 2156: {4770}, 2157: {4772}, 2158: {4776}, 2159: {4785}, 2160: {4788}, 2161: {4791}, 2162: {4792}, 2163: {4793}, 2164: {4797}, 2165: {4800}, 2166: {4805}, 2167: {4808}, 2168: {4811}, 2169: {4813}, 2170: {4819}, 2171: {4822}, 2172: {4823}, 2173: {4826}, 2174: {4830}, 2175: {4832}, 2176: {4837}, 2177: {4842}, 2178: {4844}, 2179: {4845}, 2180: {4847}, 2181: {4850}, 2182: {4852}, 2183: {4853}, 2184: {4855}, 2185: {4858}, 2186: {6271}, 2187: {4861}, 2188: {4864}, 2189: {4865}, 2190: {4869}, 2191: {4870}, 2192: {4872}, 2193: {4876}, 2194: {4878}, 2195: {4880}, 2196: {4881}, 2197: {4883}, 2198: {4884}, 2199: {4887}, 2200: {4889}, 2201: {9007}, 2202: {4894}, 2203: {4895}, 2204: {4896}, 2205: {4897}, 2206: {4900}, 2207: {4903}, 2208: {4907}, 2209: {4908}, 2210: {4911}, 2211: {4915}, 2212: {4920}, 2213: {9012}, 2214: {4924}, 2215: {9013}, 2216: {4937}, 2217: {4938}, 2218: {4944, 972}, 2219: {4945}, 2220: {4947}, 2221: {4950}, 2222: {4921}, 2223: {4955}, 2224: {4957}, 2225: {4961}, 2226: {4969}, 2227: {4974}, 2228: {4975}, 2229: {4983}, 2230: {4984}, 2231: {4985}, 2232: {4987}, 2233: {4991}, 2234: {4994}, 2235: {4996}, 2236: {4998}, 2237: {4999}, 2238: {5001}, 2239: {5003}, 2240: {5004}, 2241: {5005}, 2242: {5006}, 2243: {5011}, 2244: {5017}, 2245: {5018}, 2246: {5019}, 2247: {5020}, 2248: {5022}, 2249: {5024}, 2250: {5027}, 2251: {5029}, 2252: {10396}, 2253: {5035}, 2254: {5036}, 2255: {5041}, 2256: {10398}, 2257: {5050}, 2258: {5051}, 2259: {5068}, 2260: {5069}, 2261: {5072}, 2262: {5077}, 2263: {5078}, 2264: {5081}, 2265: {9039}, 2266: {5094}, 2267: {5096}, 2268: {5097}, 2269: {5104}, 2270: {5105}, 2271: {5106}, 2272: {5107}, 2273: {9044}, 2274: {5122}, 2275: {5124}, 2276: {5125}, 2277: {5129}, 2278: {5132}, 2279: {5139}, 2280: {5141}, 2281: {5144}, 2282: {5146}, 2283: {5149}, 2284: {5151}, 2285: {5152}, 2286: {5153}, 2287: {5155}, 2288: {5161}, 2289: {5162}, 2290: {5166}, 2291: {5170}, 2292: {5172}, 2293: {5174}, 2294: {5178}, 2295: {5179}, 2296: {5190}, 2297: {5193}, 2298: {5197}, 2299: {5208}, 2300: {5215}, 2301: {5218}, 2302: {9721}, 2303: {5220}, 2304: {5222}, 2305: {5225}, 2306: {5233}, 2307: {5234}, 2308: {5238}, 2309: {5239}, 2310: {5242}, 2311: {5256}, 2312: {10434}, 2313: {5262}, 2314: {5271}, 2315: {5280}, 2316: {5282}, 2317: {7808, 5285}, 2318: {5289}, 2319: {5295}, 2320: {5300}, 2321: {5306}, 2322: {5307}, 2323: {5310}, 2324: {5311}, 2325: {5319}, 2326: {5327}, 2327: {5332}, 2328: {5333}, 2329: {5340}, 2330: {5347}, 2331: {5348}, 2332: {5355}, 2333: {5356}, 2334: {5357}, 2335: {5358}, 2336: {5359}, 2337: {5360}, 2338: {5363}, 2339: {5366}, 2340: {5368}, 2341: {5386}, 2342: {5387}, 2343: {5394}, 2344: {5396}, 2345: {5399}, 2346: {5401}, 2347: {5402}, 2348: {10458}, 2349: {5417}, 2350: {5428}, 2351: {5433}, 2352: {5436}, 2353: {5447}, 2354: {5450}, 2355: {7735}, 2356: {5452}, 2357: {5454}, 2358: {5455}, 2359: {5456}, 2360: {5457}, 2361: {5459}, 2362: {5460}, 2363: {5465}, 2364: {5466}, 2365: {5467}, 2366: {5468}, 2367: {5471}, 2368: {5474}, 2369: {5482}, 2370: {914}, 2371: {5486}, 2372: {6664, 5492}, 2373: {5493}, 2374: {5499}, 2375: {5503}, 2376: {5515}, 2377: {5517}, 2378: {5519}, 2379: {5521}, 2380: {5524}, 2381: {9114}, 2382: {5538}, 2383: {5539}, 2384: {5552}, 2385: {5554}, 2386: {5557}, 2387: {5558}, 2388: {5559}, 2389: {5561, 6205}, 2390: {5563}, 2391: {5564}, 2392: {5567}, 2393: {928}, 2394: {5572}, 2395: {10486}, 2396: {5575}, 2397: {5578}, 2398: {5580}, 2399: {931}, 2400: {5591}, 2401: {5599}, 2402: {5603}, 2403: {934}, 2404: {5610}, 2405: {5613}, 2406: {5616}, 2407: {936}, 2408: {937}, 2409: {5628}, 2410: {5630}, 2411: {5639}, 2412: {5641}, 2413: {5646}, 2414: {5662}, 2415: {5664}, 2416: {5666}, 2417: {5670}, 2418: {5672}, 2419: {5674}, 2420: {8918}, 2421: {5681}, 2422: {5685}, 2423: {5687}, 2424: {462}, 2425: {5689}, 2426: {5690}, 2427: {5694}, 2428: {5696}, 2429: {5697}, 2430: {5699}, 2431: {5700}, 2432: {5701}, 2433: {5702}, 2434: {5703}, 2435: {5704}, 2436: {2316}, 2437: {5711}, 2438: {5717}, 2439: {3191}, 2440: {5724}, 2441: {7141, 5727}, 2442: {5735}, 2443: {5736}, 2444: {5737}, 2445: {5741}, 2446: {5743}, 2447: {1555}, 2448: {5745}, 2449: {5748}, 2450: {5752}, 2451: {5753}, 2452: {5754}, 2453: {5756}, 2454: {5758}, 2455: {5761}, 2456: {10022}, 2457: {5775}, 2458: {5781}, 2459: {5782}, 2460: {5788}, 2461: {965}, 2462: {5800}, 2463: {5808}, 2464: {5812}, 2465: {5815}, 2466: {5818}, 2467: {5820}, 2468: {5823}, 2469: {5825}, 2470: {5828}, 2471: {5838}, 2472: {5845}, 2473: {5848}, 2474: {5850}, 2475: {975}, 2476: {5856}, 2477: {5858}, 2478: {5860}, 2479: {5864}, 2480: {5865}, 2481: {5866}, 2482: {6439}, 2483: {7015}, 2484: {5878}, 2485: {980}, 2486: {5883}, 2487: {5884}, 2488: {5888}, 2489: {5889}, 2490: {5890}, 2491: {5900}, 2492: {5903}, 2493: {2350}, 2494: {9177}, 2495: {5917}, 2496: {5919}, 2497: {5922}, 2498: {5083}, 2499: {5926}, 2500: {5934}, 2501: {5939}, 2502: {5949}, 2503: {5950}, 2504: {8823}, 2505: {5953}, 2506: {5957}, 2507: {5961}, 2508: {5964}, 2509: {5969}, 2510: {5974}, 2511: {5976}, 2512: {5983}, 2513: {5987}, 2514: {5988}, 2515: {5991}, 2516: {5996}, 2517: {5999}, 2518: {6002}, 2519: {11111}, 2520: {6008}, 2521: {6011}, 2522: {6014}, 2523: {6016}, 2524: {6029}, 2525: {6032}, 2526: {6033}, 2527: {6037}, 2528: {6041}, 2529: {6044}, 2530: {6056}, 2531: {6067}, 2532: {6072}, 2533: {6077}, 2534: {6078}, 2535: {6084}, 2536: {6087}, 2537: {6088}, 2538: {6089}, 2539: {6091}, 2540: {6100}, 2541: {6101}, 2542: {6103}, 2543: {1457}, 2544: {6123}, 2545: {6129}, 2546: {6131}, 2547: {6133}, 2548: {6137}, 2549: {6146}, 2550: {6154}, 2551: {6156}, 2552: {6158}, 2553: {6160}, 2554: {6165}, 2555: {6167}, 2556: {6169}, 2557: {6171}, 2558: {6182}, 2559: {6190}, 2560: {6191}, 2561: {6194}, 2562: {6195}, 2563: {6197}, 2564: {479}, 2565: {1843}, 2566: {2399}, 2567: {6204}, 2568: {6206}, 2569: {6208}, 2570: {6215}, 2571: {6223}, 2572: {6225}, 2573: {6227}, 2574: {6230}, 2575: {6237}, 2576: {6244}, 2577: {6245}, 2578: {6246}, 2579: {6250}, 2580: {1569}, 2581: {6252}, 2582: {6253}, 2583: {6254}, 2584: {6262}, 2585: {6268}, 2586: {1045}, 2587: {6274}, 2588: {6276}, 2589: {6279}, 2590: {6282}, 2591: {6287}, 2592: {6293}, 2593: {6303}, 2594: {6304}, 2595: {6306}, 2596: {6308}, 2597: {6318}, 2598: {6331}, 2599: {6333}, 2600: {6335}, 2601: {6336}, 2602: {6337}, 2603: {6348}, 2604: {6349}, 2605: {6353}, 2606: {6360}, 2607: {6362}, 2608: {6369}, 2609: {6370}, 2610: {6373}, 2611: {1063}, 2612: {6383}, 2613: {6384}, 2614: {1064}, 2615: {6388}, 2616: {6393}, 2617: {6394}, 2618: {6395}, 2619: {6404}, 2620: {6408}, 2621: {6413}, 2622: {6415}, 2623: {6422}, 2624: {6427}, 2625: {6429}, 2626: {6437}, 2627: {1073}, 2628: {6443}, 2629: {6453}, 2630: {6454}, 2631: {6455}, 2632: {6459}, 2633: {6460}, 2634: {6466}, 2635: {9270}, 2636: {6472}, 2637: {6478}, 2638: {6480}, 2639: {6481}, 2640: {6490}, 2641: {6491}, 2642: {6495}, 2643: {6506}, 2644: {6507}, 2645: {6513}, 2646: {6514}, 2647: {316}, 2648: {6518}, 2649: {6520}, 2650: {6521}, 2651: {6523}, 2652: {6528}, 2653: {490}, 2654: {6530}, 2655: {6531}, 2656: {6532}, 2657: {6536}, 2658: {6537}, 2659: {6539}, 2660: {6541}, 2661: {6552}, 2662: {6557}, 2663: {6558}, 2664: {6561}, 2665: {6563}, 2666: {6568}, 2667: {6569}, 2668: {6570}, 2669: {2461}, 2670: {6577}, 2671: {6579}, 2672: {6587}, 2673: {6588}, 2674: {6589}, 2675: {10656}, 2676: {6595}, 2677: {1100}, 2678: {6602}, 2679: {6604}, 2680: {6605}, 2681: {1101}, 2682: {6608}, 2683: {6612}, 2684: {6615}, 2685: {6617}, 2686: {6618}, 2687: {6624}, 2688: {6625}, 2689: {6627}, 2690: {6629}, 2691: {6646}, 2692: {2473}, 2693: {917}, 2694: {6657}, 2695: {6659}, 2696: {6661}, 2697: {6662}, 2698: {6669}, 2699: {6677}, 2700: {6683}, 2701: {6973}, 2702: {6690}, 2703: {6698}, 2704: {6701}, 2705: {6702}, 2706: {6703}, 2707: {6705}, 2708: {6706}, 2709: {10675}, 2710: {6712}, 2711: {6713}, 2712: {6716}, 2713: {10677}, 2714: {6724}, 2715: {6727}, 2716: {6731}, 2717: {6733}, 2718: {6734}, 2719: {6737}, 2720: {6740}, 2721: {6742}, 2722: {6744}, 2723: {6745}, 2724: {6750}, 2725: {9318}, 2726: {6769}, 2727: {6773}, 2728: {2495}, 2729: {6780}, 2730: {6781}, 2731: {6793}, 2732: {6797}, 2733: {1133}, 2734: {6818}, 2735: {6820}, 2736: {6826}, 2737: {6828}, 2738: {6829}, 2739: {6832}, 2740: {6837}, 2741: {6601}, 2742: {6843}, 2743: {9333}, 2744: {6849}, 2745: {10699}, 2746: {6853}, 2747: {6860}, 2748: {6868}, 2749: {6873}, 2750: {6874}, 2751: {6876}, 2752: {6878}, 2753: {8858}, 2754: {6887}, 2755: {6898}, 2756: {2515}, 2757: {6900}, 2758: {6903}, 2759: {6909}, 2760: {6912}, 2761: {6916}, 2762: {6919}, 2763: {6922}, 2764: {10711}, 2765: {6927}, 2766: {6929}, 2767: {6932}, 2768: {6934}, 2769: {1156}, 2770: {6939}, 2771: {10714}, 2772: {1868}, 2773: {6956}, 2774: {6965}, 2775: {1162}, 2776: {6974}, 2777: {6984}, 2778: {6988}, 2779: {9357}, 2780: {7002}, 2781: {7004}, 2782: {7014}, 2783: {7022}, 2784: {7036}, 2785: {1175}, 2786: {7061}, 2787: {7063}, 2788: {7071}, 2789: {1181}, 2790: {7091}, 2791: {7092}, 2792: {7097}, 2793: {7102}, 2794: {7104}, 2795: {2775}, 2796: {7119}, 2797: {7122}, 2798: {7126}, 2799: {7128}, 2800: {7129}, 2801: {10746}, 2802: {7136}, 2803: {7138}, 2804: {7152}, 2805: {7153}, 2806: {7154}, 2807: {1193}, 2808: {7169}, 2809: {7173}, 2810: {7175}, 2811: {7176}, 2812: {7177}, 2813: {7180}, 2814: {7190}, 2815: {7192}, 2816: {7198}, 2817: {9393}, 2818: {7212}, 2819: {7217}, 2820: {7218}, 2821: {7221}, 2822: {7230}, 2823: {7231}, 2824: {7235}, 2825: {7237}, 2826: {7240}, 2827: {7250}, 2828: {7251}, 2829: {7252}, 2830: {9401, 7557}, 2831: {7273}, 2832: {7274}, 2833: {1606}, 2834: {7277}, 2835: {7281}, 2836: {7285}, 2837: {7286}, 2838: {7289}, 2839: {7293}, 2840: {7295}, 2841: {7298}, 2842: {7302}, 2843: {7310}, 2844: {7311}, 2845: {7312}, 2846: {7322}, 2847: {7327}, 2848: {7329}, 2849: {7331}, 2850: {7342}, 2851: {7344}, 2852: {7347}, 2853: {7348}, 2854: {7349}, 2855: {7367}, 2856: {7368}, 2857: {7371}, 2858: {7380}, 2859: {7381}, 2860: {7383}, 2861: {7386}, 2862: {9423}, 2863: {7388}, 2864: {9677}, 2865: {7390}, 2866: {7399}, 2867: {519}, 2868: {7403}, 2869: {7404}, 2870: {7410}, 2871: {7418}, 2872: {7419}, 2873: {7427}, 2874: {7428}, 2875: {7431}, 2876: {7432}, 2877: {7436}, 2878: {7440}, 2879: {7448}, 2880: {7453}, 2881: {7457}, 2882: {7463}, 2883: {7465}, 2884: {7467}, 2885: {7468}, 2886: {7470}, 2887: {7475}, 2888: {7476}, 2889: {9438}, 2890: {7480}, 2891: {7481}, 2892: {7484}, 2893: {522}, 2894: {7491}, 2895: {7493}, 2896: {7502}, 2897: {7507}, 2898: {7508}, 2899: {2617}, 2900: {7524}, 2901: {7527}, 2902: {9447}, 2903: {7539}, 2904: {7545}, 2905: {7546}, 2906: {7549}, 2907: {7555}, 2908: {7560}, 2909: {9452}, 2910: {7562}, 2911: {7567}, 2912: {7576}, 2913: {7578}, 2914: {7584}, 2915: {7591}, 2916: {3051}, 2917: {1267}, 2918: {7607}, 2919: {7608}, 2920: {7617}, 2921: {7619}, 2922: {7620}, 2923: {9462}, 2924: {11165}, 2925: {7625}, 2926: {7628}, 2927: {10829}, 2928: {9465}, 2929: {10831}, 2930: {9466}, 2931: {7650}, 2932: {7653}, 2933: {7654}, 2934: {7658}, 2935: {7662}, 2936: {7666}, 2937: {7667}, 2938: {7668}, 2939: {7671}, 2940: {7672}, 2941: {7675}, 2942: {7677}, 2943: {7680}, 2944: {7689}, 2945: {7691}, 2946: {7700}, 2947: {7701}, 2948: {7707}, 2949: {7718}, 2950: {7722}, 2951: {2653}, 2952: {7733}, 2953: {7734}, 2954: {9481}, 2955: {7738}, 2956: {7743}, 2957: {7744}, 2958: {7745}, 2959: {7760}, 2960: {7766}, 2961: {7767}, 2962: {7771}, 2963: {6757}, 2964: {7776}, 2965: {7783}, 2966: {7790}, 2967: {7793}, 2968: {7795}, 2969: {7802}, 2970: {7811}, 2971: {7814}, 2972: {7815}, 2973: {7820}, 2974: {7821}, 2975: {7834}, 2976: {7837}, 2977: {7839}, 2978: {10864}, 2979: {7843}, 2980: {7845}, 2981: {7855}, 2982: {7856}, 2983: {7865}, 2984: {7880}, 2985: {7883}, 2986: {7892}, 2987: {6779}, 2988: {7910}, 2989: {7913}, 2990: {7915}, 2991: {7923}, 2992: {7929}, 2993: {7930}, 2994: {9514}, 2995: {7937}, 2996: {7938}, 2997: {7943}, 2998: {7946}, 2999: {7947}, 3000: {7951}, 3001: {7955}, 3002: {7957}, 3003: {7959}, 3004: {7960}, 3005: {7962}, 3006: {7963}, 3007: {7975}, 3008: {7977}, 3009: {10887}, 3010: {7985}, 3011: {7988}, 3012: {7990}, 3013: {7991}, 3014: {7992}, 3015: {2994}, 3016: {8001}, 3017: {8003}, 3018: {8162}, 3019: {8016}, 3020: {2703}, 3021: {8028}, 3022: {8033}, 3023: {8039}, 3024: {8042}, 3025: {8047}, 3026: {268}, 3027: {8058}, 3028: {8067}, 3029: {8070}, 3030: {8078}, 3031: {10904}, 3032: {8082}, 3033: {9540}, 3034: {8092}, 3035: {8093}, 3036: {8104}, 3037: {8115}, 3038: {8123}, 3039: {8126}, 3040: {8132}, 3041: {8135}, 3042: {8138}, 3043: {2722}, 3044: {8142}, 3045: {8144}, 3046: {8155}, 3047: {8161}, 3048: {9819}, 3049: {8165}, 3050: {8166}, 3051: {8189}, 3052: {8181}, 3053: {10922}}

In [7]:
len(clus)


Out[7]:
4126

In [8]:
sizes = list(map(len, clus.values()))
np.sort(sizes)[-100:]


Out[8]:
array([   2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
          2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
          2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
          2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
          3,    3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
          3,    3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
          3,    3,    4,    4,    4,    4,    4,    4,    4,    4,    4,
          4,    4,    4,    5,    5,    5,    5,    5,    6,    6,    7,
          8,    9,   10,   12,   13,   15,   22,   46,  117,  283,  334,
       6077])

In [9]:
max_c = max(clus, key=lambda c: len(clus[c]))
print(max_c)


3

In [10]:
[c for c in clus if len(clus[c]) == 2]


Out[10]:
[67,
 139,
 221,
 303,
 311,
 320,
 337,
 346,
 367,
 377,
 444,
 493,
 548,
 629,
 631,
 678,
 709,
 713,
 765,
 779,
 783,
 796,
 855,
 868,
 900,
 987,
 994,
 1122,
 1150,
 1177,
 1259,
 1260,
 1272,
 1315,
 1386,
 1388,
 1450,
 1469,
 1506,
 1520,
 1614,
 1685,
 1688,
 1766,
 1787,
 1852,
 1911,
 1961,
 2005,
 2019,
 2057,
 2105,
 2163,
 2164,
 2166,
 2207,
 2228,
 2242,
 2343,
 2377,
 2419,
 2467,
 2513,
 2583,
 2617,
 2618,
 2704,
 2753,
 2919,
 2966,
 2994,
 3052,
 3183,
 3290,
 3389,
 3444,
 3461,
 3513,
 3902]

In [11]:
def sign_percent(g):
    df = pd.DataFrame([(i, j, g[i][j]['sign'])
             for i, j in g.edges_iter()], columns=('u', 'v', 's'))
    return df['s'].value_counts() / df.shape[0]

In [12]:
main_component = g.subgraph(clus[max_c])
sign_percent(main_component)


Out[12]:
 1.0    0.871442
-1.0    0.128558
Name: s, dtype: float64

In [13]:
sign_percent(g)


Out[13]:
 1.0    0.774805
-1.0    0.225195
Name: s, dtype: float64

In [ ]:
g[227]

In [ ]:
g.number_of_nodes()

In [ ]:
for l, nodes in clus.items():
    for n in nodes:
        g.node[n]['ClusterId'] =    l

In [ ]:
nx.write_gpickle(g, 'output/clus_wiki.pkl')

In [ ]:
g = nx.read_gpickle('output/clus_wiki.pkl')

In [ ]:
g.node[0]

In [ ]:
for n in g.nodes_iter():
    del g.node[n]['cc_label']

In [ ]:
nx.write_gml(g, 'output/clus_wiki.gml')