In [2]:
authors_list = []
poster_dict = {}

# making authors list
Nmax = 1000000;

i = 0
with open('AbstractsCosyne2012.csv') as f:
    next(f)
    for line in f:
        i += 1
        if i<Nmax:
            split = line.split('|')
            authors = split[2].split(',')            
            authors_clean = []
            for author in authors:
                authors_clean.append(author.lstrip())
            # authors list
            for author in authors_clean:
                author= author.lstrip()
                if not(author in authors_list):
                    authors_list.append(author.lstrip())
                
authors_list = sorted(authors_list)

# making dictionnary for indexing author
authors_dict = {}
i = 0
for author in authors_list:
    authors_dict[author] = i
    i+=1
    
# construction poster dictionary    
with open('AbstractsCosyne2012.csv') as f:
    next(f)
    for line in f:
        split = line.split('|')
        posterid = int(split[0])
        authors = split[2].split(',')            
        authors_id = []
        for author in authors:
            authors_id.append(authors_dict[author.lstrip()])
        poster_dict[posterid] = authors_id

In [53]:
import numpy as np
# make adjacency matrix
N=len(authors_list)
M = np.zeros((N,N))

def make_pairs(l1,l2):
    if len(l1)>0:
        #print [l1,l2]
        for i in range(len(l1)):
            l2.append([l1[0],l1[i]])
        make_pairs(l1[1:],l2)
    else:
        return l2
    return l2
        
# Listing of pairwise collaboration
pair_dict = {}
for p in poster_dict:
    a = poster_dict[p]
    pairs = make_pairs(a,[])
    #print a, pairs
    for pair in pairs:
        pair = tuple(pair)
        M[pair[0]][pair[1]] +=1
        if pair in pair_dict:
            pair_dict[pair]+=1
        else:
            pair_dict[pair]=1
            
# Connex
import networkx as nx

G=nx.Graph()
G.add_nodes_from(range(len(pair_dict)))
G.add_edges_from(pair_dict.keys())
cc = nx.connected_components(G)

In [81]:
# generating json file
with open("miserables.json", "w") as outfile:
    #nodes
    outfile.write("{\n\"nodes\":[\n")
    for i_name in range(len(authors_list)):
        name = authors_list[i_name]
        for i_group in range(len(cc)):
            for j in range(len(cc[i_group])):
                if (i_name == cc[i_group][j]):
                    value = i_group
            
        outfile.write("{\"name\":\"" + name +"\",\"group\":"+str(value+1)+"}" )
        if i_name < len(authors_list)-1:
            outfile.write("," )
        outfile.write("\n" )            
    outfile.write("],\n")
    
    #links
    outfile.write("\"links\":[\n")
    
    keys = pair_dict.keys()
    for i_pair in range(len(keys)):
        pair = keys[i_pair]
        value = pair_dict[pair]
        outfile.write("{\"source\":" + str(pair[0]) +",\"target\":"+str(pair[1])+",\"value\":"+str(value)+"}")
        if i_pair < len(pair_dict)-1:
            outfile.write(",")
        outfile.write("\n" )            
    outfile.write("]\n}")

In [80]:
len(cc[0])
i_name


Out[80]:
854

In [68]:
520 in cc[0]


Out[68]:
True

In [18]:
from matplotlib import pyplot, patches
fig = pyplot.figure(figsize=(15, 15)) # in inches
K = 100
pyplot.imshow(M[:K,:K],cmap="Greys",interpolation="none")


Out[18]:
<matplotlib.image.AxesImage at 0xbc2a1ac>

In [45]:
pair_dict.keys()


Out[45]:
[(583, 142),
 (53, 53),
 (454, 454),
 (756, 756),
 (76, 76),
 (63, 63),
 (26, 782),
 (620, 145),
 (302, 302),
 (167, 226),
 (373, 629),
 (351, 747),
 (763, 763),
 (108, 7),
 (36, 360),
 (699, 339),
 (778, 155),
 (611, 611),
 (818, 818),
 (138, 631),
 (31, 547),
 (303, 846),
 (125, 186),
 (767, 767),
 (661, 633),
 (593, 339),
 (621, 621),
 (636, 298),
 (46, 46),
 (729, 729),
 (201, 586),
 (754, 294),
 (591, 562),
 (762, 813),
 (842, 158),
 (733, 733),
 (438, 438),
 (556, 237),
 (740, 740),
 (9, 9),
 (746, 143),
 (717, 318),
 (613, 515),
 (225, 225),
 (78, 701),
 (65, 226),
 (420, 420),
 (747, 747),
 (416, 116),
 (196, 196),
 (399, 190),
 (441, 441),
 (120, 120),
 (468, 261),
 (805, 733),
 (627, 533),
 (715, 715),
 (616, 727),
 (530, 517),
 (124, 124),
 (785, 673),
 (293, 761),
 (480, 804),
 (38, 23),
 (31, 640),
 (433, 433),
 (359, 194),
 (381, 764),
 (384, 384),
 (717, 653),
 (367, 569),
 (376, 197),
 (778, 141),
 (649, 584),
 (480, 424),
 (684, 684),
 (42, 42),
 (155, 278),
 (690, 234),
 (323, 802),
 (731, 731),
 (735, 672),
 (425, 425),
 (489, 489),
 (819, 172),
 (515, 679),
 (623, 590),
 (239, 239),
 (684, 611),
 (294, 846),
 (829, 6),
 (838, 838),
 (344, 560),
 (366, 685),
 (608, 608),
 (616, 551),
 (97, 97),
 (201, 807),
 (97, 707),
 (187, 187),
 (692, 586),
 (836, 836),
 (711, 679),
 (17, 17),
 (348, 366),
 (846, 846),
 (689, 726),
 (193, 193),
 (460, 460),
 (572, 459),
 (203, 424),
 (477, 777),
 (721, 224),
 (446, 446),
 (796, 131),
 (199, 199),
 (88, 88),
 (571, 571),
 (476, 455),
 (227, 227),
 (513, 513),
 (342, 342),
 (92, 92),
 (311, 311),
 (10, 10),
 (378, 766),
 (375, 427),
 (69, 225),
 (714, 605),
 (200, 506),
 (129, 546),
 (303, 303),
 (171, 171),
 (634, 634),
 (505, 216),
 (340, 340),
 (569, 569),
 (786, 81),
 (343, 343),
 (419, 95),
 (645, 282),
 (539, 267),
 (129, 157),
 (445, 825),
 (712, 666),
 (12, 611),
 (50, 682),
 (771, 771),
 (703, 787),
 (705, 208),
 (454, 518),
 (544, 210),
 (713, 48),
 (648, 648),
 (578, 603),
 (207, 207),
 (617, 231),
 (670, 460),
 (512, 512),
 (383, 398),
 (504, 504),
 (665, 665),
 (171, 733),
 (336, 225),
 (781, 807),
 (536, 234),
 (573, 573),
 (774, 275),
 (722, 224),
 (42, 620),
 (355, 355),
 (800, 815),
 (618, 618),
 (343, 40),
 (471, 471),
 (366, 251),
 (683, 154),
 (377, 635),
 (780, 535),
 (161, 161),
 (192, 192),
 (52, 488),
 (106, 402),
 (568, 25),
 (698, 645),
 (842, 494),
 (524, 672),
 (271, 271),
 (578, 792),
 (392, 645),
 (139, 139),
 (315, 321),
 (184, 401),
 (175, 221),
 (319, 319),
 (385, 385),
 (152, 436),
 (228, 682),
 (228, 231),
 (372, 372),
 (0, 576),
 (602, 602),
 (343, 150),
 (26, 549),
 (280, 280),
 (616, 658),
 (621, 521),
 (633, 287),
 (291, 291),
 (741, 741),
 (704, 704),
 (554, 554),
 (463, 463),
 (455, 222),
 (750, 750),
 (82, 82),
 (833, 839),
 (460, 637),
 (570, 538),
 (47, 47),
 (235, 624),
 (736, 736),
 (755, 755),
 (369, 234),
 (170, 493),
 (135, 135),
 (672, 777),
 (490, 606),
 (362, 362),
 (539, 60),
 (851, 181),
 (840, 749),
 (323, 323),
 (98, 311),
 (689, 689),
 (766, 766),
 (46, 446),
 (249, 818),
 (686, 686),
 (188, 822),
 (718, 492),
 (33, 33),
 (448, 131),
 (392, 564),
 (782, 247),
 (197, 197),
 (371, 371),
 (628, 409),
 (739, 739),
 (66, 820),
 (287, 287),
 (289, 212),
 (772, 515),
 (499, 212),
 (816, 711),
 (265, 538),
 (692, 346),
 (434, 131),
 (234, 804),
 (80, 535),
 (465, 181),
 (709, 399),
 (729, 577),
 (115, 115),
 (279, 581),
 (709, 709),
 (506, 538),
 (452, 452),
 (285, 228),
 (469, 749),
 (809, 256),
 (576, 576),
 (795, 238),
 (703, 425),
 (337, 337),
 (143, 550),
 (664, 664),
 (590, 384),
 (253, 415),
 (333, 681),
 (375, 18),
 (729, 151),
 (458, 458),
 (668, 668),
 (232, 232),
 (359, 453),
 (343, 186),
 (734, 734),
 (555, 299),
 (543, 733),
 (321, 566),
 (213, 213),
 (507, 55),
 (341, 341),
 (588, 588),
 (510, 264),
 (816, 160),
 (671, 226),
 (182, 375),
 (733, 506),
 (111, 570),
 (167, 771),
 (676, 676),
 (317, 317),
 (501, 512),
 (690, 399),
 (201, 473),
 (8, 8),
 (613, 160),
 (636, 204),
 (298, 220),
 (847, 148),
 (613, 716),
 (121, 57),
 (17, 632),
 (732, 84),
 (495, 627),
 (831, 384),
 (381, 381),
 (160, 128),
 (677, 677),
 (172, 103),
 (515, 160),
 (616, 478),
 (687, 486),
 (265, 459),
 (660, 660),
 (607, 607),
 (408, 339),
 (684, 12),
 (449, 449),
 (512, 601),
 (783, 629),
 (53, 34),
 (296, 382),
 (542, 126),
 (670, 670),
 (530, 235),
 (436, 528),
 (773, 773),
 (58, 744),
 (702, 702),
 (15, 790),
 (276, 276),
 (253, 338),
 (384, 340),
 (223, 622),
 (771, 226),
 (504, 846),
 (305, 246),
 (366, 34),
 (817, 550),
 (357, 357),
 (361, 724),
 (285, 563),
 (659, 656),
 (224, 445),
 (36, 36),
 (309, 309),
 (466, 317),
 (152, 206),
 (480, 747),
 (480, 784),
 (784, 487),
 (798, 798),
 (33, 349),
 (305, 464),
 (272, 210),
 (257, 57),
 (24, 8),
 (499, 499),
 (765, 765),
 (782, 306),
 (112, 112),
 (242, 563),
 (701, 109),
 (122, 767),
 (306, 247),
 (849, 490),
 (388, 388),
 (213, 548),
 (110, 282),
 (642, 642),
 (79, 79),
 (215, 753),
 (222, 222),
 (821, 821),
 (793, 793),
 (686, 513),
 (579, 321),
 (190, 190),
 (425, 224),
 (541, 541),
 (138, 138),
 (328, 532),
 (850, 499),
 (721, 445),
 (725, 422),
 (670, 633),
 (801, 801),
 (331, 331),
 (577, 151),
 (200, 200),
 (214, 430),
 (770, 67),
 (851, 20),
 (299, 299),
 (530, 301),
 (508, 62),
 (211, 211),
 (583, 816),
 (88, 354),
 (808, 550),
 (715, 850),
 (365, 650),
 (277, 813),
 (617, 832),
 (688, 688),
 (358, 358),
 (457, 567),
 (408, 408),
 (523, 443),
 (240, 846),
 (818, 159),
 (565, 593),
 (656, 659),
 (396, 329),
 (385, 790),
 (613, 816),
 (320, 110),
 (543, 398),
 (508, 550),
 (805, 628),
 (40, 125),
 (350, 350),
 (557, 809),
 (338, 338),
 (400, 400),
 (716, 142),
 (644, 776),
 (596, 596),
 (117, 226),
 (7, 7),
 (87, 87),
 (213, 575),
 (800, 800),
 (91, 446),
 (492, 496),
 (437, 273),
 (666, 499),
 (779, 688),
 (446, 538),
 (451, 451),
 (772, 772),
 (104, 104),
 (753, 753),
 (854, 854),
 (242, 429),
 (153, 510),
 (142, 679),
 (128, 711),
 (480, 234),
 (722, 425),
 (26, 42),
 (850, 850),
 (602, 300),
 (3, 3),
 (440, 765),
 (22, 22),
 (154, 404),
 (735, 735),
 (508, 212),
 (236, 433),
 (458, 119),
 (688, 583),
 (430, 497),
 (749, 749),
 (420, 15),
 (186, 150),
 (275, 275),
 (463, 107),
 (798, 497),
 (214, 157),
 (127, 629),
 (147, 147),
 (812, 213),
 (351, 235),
 (634, 462),
 (66, 412),
 (746, 81),
 (360, 225),
 (769, 14),
 (561, 281),
 (106, 573),
 (391, 521),
 (641, 641),
 (842, 258),
 (734, 443),
 (108, 108),
 (460, 633),
 (816, 515),
 (467, 593),
 (754, 243),
 (739, 157),
 (817, 81),
 (308, 278),
 (608, 629),
 (163, 163),
 (792, 603),
 (540, 540),
 (452, 312),
 (631, 631),
 (696, 696),
 (817, 143),
 (593, 593),
 (501, 601),
 (320, 219),
 (528, 528),
 (86, 664),
 (13, 216),
 (399, 105),
 (185, 185),
 (649, 649),
 (812, 575),
 (466, 562),
 (179, 756),
 (555, 845),
 (437, 526),
 (258, 176),
 (595, 60),
 (189, 189),
 (709, 369),
 (728, 603),
 (806, 52),
 (638, 74),
 (816, 142),
 (177, 177),
 (128, 128),
 (224, 825),
 (542, 542),
 (62, 808),
 (105, 234),
 (56, 23),
 (607, 185),
 (720, 14),
 (739, 497),
 (837, 837),
 (125, 317),
 (587, 382),
 (752, 68),
 (724, 724),
 (169, 169),
 (431, 431),
 (204, 456),
 (230, 682),
 (482, 19),
 (651, 651),
 (361, 232),
 (396, 396),
 (792, 728),
 (733, 473),
 (637, 633),
 (245, 245),
 (325, 840),
 (747, 235),
 (805, 126),
 (145, 549),
 (554, 651),
 (59, 59),
 (349, 349),
 (62, 212),
 (101, 103),
 (356, 497),
 (712, 212),
 (363, 471),
 (474, 43),
 (574, 574),
 (219, 219),
 (292, 534),
 (709, 190),
 (678, 202),
 (492, 443),
 (716, 160),
 (831, 623),
 (82, 410),
 (178, 380),
 (507, 581),
 (201, 658),
 (310, 138),
 (140, 462),
 (165, 165),
 (475, 69),
 (321, 707),
 (693, 768),
 (86, 86),
 (324, 165),
 (788, 628),
 (457, 457),
 (21, 131),
 (26, 26),
 (812, 548),
 (192, 106),
 (120, 503),
 (546, 546),
 (377, 34),
 (530, 680),
 (848, 848),
 (43, 43),
 (722, 825),
 (762, 762),
 (429, 164),
 (212, 212),
 (15, 385),
 (734, 380),
 (832, 832),
 (165, 762),
 (104, 767),
 (424, 487),
 (356, 129),
 (714, 389),
 (196, 730),
 (102, 102),
 (451, 209),
 (397, 722),
 (368, 368),
 (204, 220),
 (350, 391),
 (850, 212),
 (267, 4),
 (784, 234),
 (112, 733),
 (254, 254),
 (9, 144),
 (530, 530),
 (721, 722),
 (746, 746),
 (451, 522),
 (359, 173),
 (417, 417),
 (536, 369),
 (591, 317),
 (41, 574),
 (345, 513),
 (757, 757),
 (314, 314),
 (428, 428),
 (852, 212),
 (49, 673),
 (266, 441),
 (268, 632),
 (197, 655),
 (723, 723),
 (853, 793),
 (183, 278),
 (198, 198),
 (115, 68),
 (46, 538),
 (33, 774),
 (303, 626),
 (306, 306),
 (511, 511),
 (277, 324),
 (730, 730),
 (87, 107),
 (514, 514),
 (536, 399),
 (792, 57),
 (722, 326),
 (397, 224),
 (53, 846),
 (666, 212),
 (298, 298),
 (390, 444),
 (822, 822),
 (503, 503),
 (655, 655),
 (738, 738),
 (388, 226),
 (671, 671),
 (747, 624),
 (603, 151),
 (366, 366),
 (583, 177),
 (409, 473),
 (183, 183),
 (670, 828),
 (729, 603),
 (811, 189),
 (557, 256),
 (334, 470),
 (447, 733),
 (418, 418),
 (716, 679),
 (370, 785),
 (646, 62),
 (647, 275),
 (808, 808),
 (821, 44),
 (34, 846),
 (680, 517),
 (399, 399),
 (54, 437),
 (483, 534),
 (312, 312),
 (94, 94),
 (285, 682),
 (487, 487),
 (36, 752),
 (93, 535),
 (629, 10),
 (279, 507),
 (176, 824),
 (28, 825),
 (676, 416),
 (847, 847),
 (293, 293),
 (4, 595),
 (630, 630),
 (386, 511),
 (225, 752),
 (599, 599),
 (379, 752),
 (715, 212),
 (438, 11),
 (830, 231),
 (479, 479),
 (500, 187),
 (587, 587),
 (326, 326),
 (754, 846),
 (242, 164),
 (80, 80),
 (374, 519),
 (493, 576),
 (461, 461),
 (579, 707),
 (286, 308),
 (324, 324),
 (404, 807),
 (226, 771),
 (321, 321),
 (318, 318),
 (820, 820),
 (614, 614),
 (299, 415),
 (562, 562),
 (761, 761),
 (70, 70),
 (787, 825),
 (6, 652),
 (549, 549),
 (202, 202),
 (698, 564),
 (682, 682),
 (682, 231),
 (758, 758),
 (483, 483),
 (840, 840),
 (714, 724),
 (162, 162),
 (556, 209),
 (8, 89),
 (853, 853),
 (506, 506),
 (716, 716),
 (57, 57),
 (132, 270),
 (663, 663),
 (828, 661),
 (425, 445),
 (722, 445),
 (760, 760),
 (320, 645),
 (832, 44),
 (61, 61),
 (306, 794),
 (40, 317),
 (131, 51),
 (498, 498),
 (49, 49),
 (0, 0),
 (616, 586),
 (807, 807),
 (510, 206),
 (26, 620),
 (599, 723),
 (413, 413),
 (490, 490),
 (71, 571),
 (476, 604),
 (791, 791),
 (735, 777),
 (264, 264),
 (430, 739),
 (786, 808),
 (164, 660),
 (772, 160),
 (523, 523),
 (466, 591),
 (53, 514),
 (123, 594),
 (808, 212),
 (703, 445),
 (578, 57),
 (1, 758),
 (173, 173),
 (475, 225),
 (628, 473),
 (186, 673),
 (233, 508),
 (196, 752),
 (629, 70),
 (424, 235),
 (409, 700),
 (7, 191),
 (583, 515),
 (550, 550),
 (57, 728),
 (423, 423),
 (728, 728),
 (527, 456),
 (503, 719),
 (179, 179),
 (473, 520),
 (310, 394),
 (700, 473),
 (667, 667),
 (360, 752),
 (229, 229),
 (217, 88),
 (842, 842),
 (15, 15),
 (141, 141),
 (480, 235),
 (782, 794),
 (245, 528),
 (466, 466),
 (502, 75),
 (444, 444),
 (415, 415),
 (185, 496),
 (224, 224),
 (243, 243),
 (371, 541),
 (335, 212),
 (295, 295),
 (777, 777),
 (646, 786),
 (516, 601),
 (170, 576),
 (28, 787),
 (123, 61),
 (489, 625),
 (770, 770),
 (808, 81),
 (58, 528),
 (557, 843),
 (351, 234),
 (298, 482),
 (236, 405),
 (842, 176),
 (722, 722),
 (353, 353),
 (331, 547),
 (316, 130),
 (62, 81),
 (304, 762),
 (85, 272),
 (147, 510),
 (352, 27),
 (659, 659),
 (797, 797),
 (246, 246),
 (28, 445),
 (467, 135),
 (289, 81),
 (143, 289),
 (93, 780),
 (484, 364),
 (482, 456),
 (626, 626),
 (207, 492),
 (537, 509),
 (737, 281),
 (442, 442),
 (577, 269),
 (652, 652),
 (782, 620),
 (568, 568),
 (627, 627),
 (49, 562),
 (30, 847),
 (604, 222),
 (531, 358),
 (808, 289),
 (293, 364),
 (572, 572),
 (681, 377),
 (434, 434),
 (59, 189),
 (64, 64),
 (174, 592),
 (230, 230),
 (42, 794),
 (558, 144),
 (388, 167),
 (391, 391),
 (75, 576),
 (152, 152),
 (356, 546),
 (669, 669),
 (772, 679),
 (297, 148),
 (426, 426),
 (356, 356),
 (585, 585),
 (65, 65),
 (0, 75),
 (456, 456),
 (494, 494),
 (168, 785),
 (144, 144),
 (508, 81),
 (435, 435),
 (332, 332),
 (279, 279),
 (176, 411),
 (57, 547),
 (353, 127),
 (779, 583),
 (195, 195),
 (124, 144),
 (841, 725),
 (398, 473),
 (282, 282),
 (301, 301),
 (558, 558),
 (520, 520),
 (450, 271),
 (821, 231),
 (84, 84),
 (715, 499),
 (596, 665),
 (121, 792),
 (788, 733),
 (698, 392),
 (529, 529),
 (538, 459),
 (39, 767),
 (790, 790),
 (615, 747),
 (690, 190),
 (746, 508),
 (424, 624),
 (390, 390),
 (347, 347),
 (494, 158),
 (523, 380),
 (500, 702),
 (817, 212),
 (729, 461),
 (517, 854),
 (646, 817),
 (531, 531),
 (343, 49),
 (20, 20),
 (539, 595),
 (134, 134),
 (31, 57),
 (172, 172),
 (666, 850),
 (290, 290),
 (708, 212),
 (320, 282),
 (680, 680),
 (834, 834),
 (283, 283),
 (35, 35),
 (610, 339),
 (646, 808),
 (296, 759),
 (26, 794),
 (108, 191),
 (207, 718),
 (171, 473),
 (784, 235),
 (803, 803),
 (164, 563),
 (74, 74),
 (772, 613),
 (130, 424),
 (759, 759),
 (479, 506),
 (432, 213),
 (734, 185),
 (721, 721),
 (703, 28),
 (298, 456),
 (62, 289),
 (467, 339),
 (737, 561),
 (752, 752),
 (55, 55),
 (632, 632),
 (64, 330),
 (247, 620),
 (773, 435),
 (247, 145),
 (255, 417),
 (721, 326),
 (387, 387),
 (524, 777),
 (636, 636),
 (267, 60),
 (147, 153),
 (386, 386),
 (551, 592),
 (502, 0),
 (466, 673),
 (274, 274),
 (281, 281),
 (465, 20),
 (743, 743),
 (229, 630),
 (373, 373),
 (325, 469),
 (678, 678),
 (389, 389),
 (134, 403),
 (51, 796),
 (839, 161),
 (94, 834),
 (387, 392),
 (37, 390),
 (392, 392),
 (233, 786),
 (273, 273),
 (520, 473),
 (523, 734),
 (30, 297),
 (620, 620),
 (799, 799),
 (607, 443),
 (398, 520),
 (131, 796),
 (305, 305),
 (213, 274),
 (333, 333),
 (203, 657),
 (75, 75),
 (171, 126),
 (262, 262),
 (240, 303),
 (703, 224),
 (9, 313),
 (617, 44),
 (726, 756),
 (391, 621),
 (218, 474),
 (646, 746),
 (260, 528),
 (600, 600),
 (233, 81),
 (551, 551),
 (669, 103),
 (317, 562),
 (504, 626),
 (670, 661),
 (178, 207),
 (605, 724),
 (343, 125),
 (436, 436),
 (201, 201),
 (743, 731),
 (786, 289),
 (35, 491),
 (241, 424),
 (96, 96),
 (721, 425),
 (6, 6),
 (636, 220),
 (711, 711),
 (508, 808),
 (397, 326),
 (332, 208),
 (83, 609),
 (352, 352),
 (174, 727),
 (260, 260),
 (778, 778),
 (93, 93),
 (139, 311),
 (733, 126),
 (87, 463),
 (398, 398),
 (719, 719),
 (795, 566),
 (26, 306),
 (407, 574),
 (233, 289),
 (572, 265),
 (661, 637),
 (260, 58),
 (79, 358),
 (373, 10),
 (361, 389),
 (414, 409),
 (18, 427),
 (99, 99),
 (85, 85),
 (781, 473),
 (395, 809),
 (178, 443),
 (215, 215),
 (751, 751),
 (311, 526),
 (57, 603),
 (657, 657),
 (748, 748),
 (343, 317),
 (203, 203),
 (239, 66),
 (542, 738),
 (192, 402),
 (709, 536),
 (676, 471),
 (704, 802),
 (62, 550),
 (658, 478),
 (583, 128),
 (507, 507),
 (108, 347),
 (169, 534),
 (667, 528),
 (796, 796),
 (784, 784),
 (823, 823),
 (129, 129),
 (374, 374),
 (498, 813),
 (658, 658),
 (746, 817),
 (597, 597),
 (620, 794),
 (841, 662),
 (473, 473),
 (79, 223),
 (718, 443),
 (829, 652),
 (792, 792),
 (671, 771),
 (804, 747),
 (795, 795),
 (539, 539),
 (552, 552),
 (28, 28),
 (393, 393),
 (143, 808),
 (594, 594),
 (114, 767),
 (465, 465),
 (711, 142),
 (16, 16),
 (234, 747),
 (533, 533),
 (849, 606),
 (647, 647),
 (407, 41),
 (562, 150),
 (835, 835),
 (748, 32),
 (843, 809),
 (589, 250),
 (129, 497),
 (49, 186),
 (143, 143),
 (536, 105),
 (739, 546),
 (424, 280),
 (695, 695),
 (178, 718),
 (16, 810),
 (235, 854),
 (402, 573),
 (772, 716),
 (851, 851),
 (352, 415),
 (799, 319),
 (699, 699),
 (234, 424),
 (475, 475),
 (645, 422),
 (577, 603),
 (543, 543),
 (752, 405),
 (422, 282),
 (134, 755),
 (580, 580),
 (285, 50),
 (395, 395),
 (152, 528),
 (628, 628),
 (368, 29),
 (166, 629),
 (464, 464),
 (124, 141),
 (330, 330),
 (619, 619),
 (333, 802),
 (413, 287),
 (62, 62),
 (449, 736),
 (22, 815),
 (91, 538),
 (156, 283),
 (538, 538),
 (117, 65),
 (194, 194),
 (302, 632),
 (697, 697),
 (233, 746),
 (301, 854),
 (54, 54),
 (365, 441),
 (599, 657),
 (152, 58),
 (778, 124),
 (34, 34),
 (677, 182),
 (458, 419),
 (654, 643),
 (60, 595),
 (710, 522),
 (691, 691),
 (378, 378),
 (51, 51),
 (180, 180),
 (623, 384),
 (788, 126),
 (806, 806),
 (459, 538),
 (300, 563),
 (710, 209),
 (430, 546),
 (13, 13),
 (97, 579),
 (529, 756),
 (370, 370),
 (477, 290),
 (79, 531),
 (607, 178),
 (241, 487),
 (646, 289),
 (98, 478),
 (615, 615),
 (155, 141),
 (378, 133),
 (289, 550),
 (641, 265),
 (163, 221),
 (457, 421),
 (48, 48),
 (316, 424),
 (774, 48),
 (178, 492),
 (688, 177),
 (746, 62),
 (230, 231),
 (603, 603),
 (234, 234),
 (1, 592),
 (309, 358),
 (480, 241),
 (812, 274),
 (816, 128),
 (544, 544),
 (247, 794),
 (88, 588),
 (710, 556),
 (125, 591),
 (453, 194),
 (623, 623),
 (111, 538),
 (525, 525),
 (833, 835),
 (779, 779),
 (816, 816),
 (268, 268),
 (592, 758),
 (613, 128),
 (724, 389),
 (355, 506),
 (212, 81),
 (459, 459),
 (752, 433),
 (459, 446),
 (791, 17),
 (649, 149),
 (710, 710),
 (583, 772),
 (178, 496),
 (218, 43),
 (718, 718),
 (358, 622),
 (706, 497),
 (816, 716),
 (356, 157),
 (492, 492),
 (787, 445),
 (419, 119),
 (167, 167),
 (387, 725),
 (559, 838),
 (476, 476),
 (342, 262),
 (40, 186),
 (185, 380),
 (135, 565),
 (101, 101),
 (726, 726),
 (582, 299),
 (548, 548),
 (399, 234),
 (814, 814),
 (377, 802),
 (377, 341),
 (182, 182),
 (159, 159),
 (343, 466),
 (604, 604),
 (149, 149),
 (835, 161),
 (583, 583),
 (329, 329),
 (112, 506),
 (791, 268),
 (405, 433),
 (125, 562),
 (643, 643),
 (132, 132),
 (371, 827),
 (126, 126),
 (791, 632),
 (591, 591),
 (701, 592),
 (110, 110),
 (537, 537),
 (114, 122),
 (239, 412),
 (694, 694),
 (288, 797),
 (133, 133),
 (42, 549),
 (170, 75),
 (78, 592),
 (118, 118),
 (325, 749),
 (198, 629),
 (586, 658),
 (276, 563),
 (703, 825),
 (545, 545),
 (839, 835),
 (477, 735),
 (680, 301),
 (365, 365),
 (186, 186),
 (613, 711),
 (392, 725),
 (784, 351),
 (437, 437),
 (824, 824),
 (508, 289),
 (456, 220),
 (516, 501),
 (633, 534),
 (205, 205),
 (784, 624),
 (69, 69),
 (806, 284),
 (700, 700),
 (295, 210),
 (703, 721),
 (244, 221),
 (178, 178),
 (162, 133),
 (241, 235),
 (36, 225),
 (235, 235),
 (564, 564),
 (410, 410),
 (233, 808),
 (206, 206),
 (804, 235),
 (505, 505),
 (366, 12),
 (539, 4),
 (578, 121),
 (801, 478),
 (267, 595),
 (96, 58),
 (643, 431),
 (787, 722),
 (494, 176),
 (774, 349),
 (170, 170),
 (351, 804),
 (160, 711),
 (257, 257),
 (34, 685),
 (328, 328),
 (273, 246),
 (402, 402),
 (49, 591),
 (817, 786),
 (416, 416),
 (307, 307),
 (110, 645),
 (239, 820),
 (40, 150),
 (204, 204),
 (775, 775),
 (65, 771),
 (242, 660),
 (548, 274),
 (166, 166),
 (556, 556),
 (497, 546),
 (646, 212),
 (482, 204),
 (526, 526),
 (772, 128),
 (783, 783),
 (496, 496),
 (514, 53),
 (351, 487),
 (359, 359),
 (324, 813),
 (456, 19),
 (592, 727),
 (397, 825),
 (462, 462),
 (523, 178),
 (357, 642),
 (394, 394),
 (508, 786),
 (346, 586),
 (534, 534),
 (497, 157),
 (745, 745),
 (488, 488),
 (345, 686),
 (242, 242),
 (145, 794),
 (828, 460),
 (828, 633),
 (351, 351),
 (316, 280),
 (409, 733),
 (837, 741),
 (782, 549),
 (680, 235),
 (746, 289),
 (712, 732),
 (40, 591),
 (516, 512),
 (5, 511),
 (635, 635),
 (245, 667),
 (714, 361),
 (639, 639),
 (712, 335),
 (422, 422),
 (851, 465),
 (601, 601),
 (472, 472),
 (203, 280),
 (579, 315),
 (562, 673),
 (477, 477),
 (709, 105),
 (784, 747),
 (605, 605),
 (738, 126),
 (369, 190),
 (832, 231),
 (497, 497),
 (440, 440),
 (49, 150),
 (712, 850),
 (414, 414),
 (346, 45),
 (609, 609),
 (350, 621),
 (284, 284),
 (781, 781),
 (13, 505),
 (0, 493),
 (327, 327),
 (594, 61),
 (240, 240),
 (233, 550),
 (143, 81),
 (774, 647),
 (701, 701),
 (583, 679),
 (553, 43),
 (258, 258),
 (63, 597),
 (263, 23),
 (692, 45),
 (640, 640),
 (290, 777),
 (20, 181),
 (286, 286),
 (787, 397),
 (182, 427),
 (241, 624),
 (285, 285),
 (784, 804),
 (681, 681),
 (763, 163),
 (336, 475),
 (136, 136),
 (685, 685),
 (707, 566),
 (796, 848),
 (140, 140),
 (18, 18),
 (683, 404),
 (667, 744),
 (245, 58),
 (635, 34),
 (853, 619),
 (604, 455),
 (565, 339),
 (531, 223),
 (326, 425),
 (827, 827),
 (316, 316),
 (712, 499),
 (543, 506),
 (284, 488),
 (710, 451),
 (657, 280),
 (271, 146),
 (590, 590),
 (572, 538),
 (577, 577),
 (817, 808),
 (432, 432),
 (666, 732),
 (279, 55),
 (480, 480),
 (710, 237),
 (487, 747),
 (666, 335),
 (211, 102),
 (598, 598),
 (33, 48),
 (73, 73),
 (218, 553),
 (575, 575),
 (496, 443),
 (424, 424),
 (519, 519),
 (800, 195),
 (257, 728),
 (77, 77),
 (575, 548),
 (7, 347),
 (300, 300),
 (28, 425),
 (286, 278),
 (530, 854),
 (721, 397),
 (467, 565),
 (586, 478),
 (515, 515),
 (435, 454),
 (716, 128),
 (4, 4),
 (80, 93),
 (583, 613),
 (654, 431),
 (406, 629),
 (142, 142),
 (109, 109),
 (353, 629),
 (480, 624),
 (337, 470),
 (136, 775),
 (570, 570),
 (804, 624),
 (344, 682),
 (131, 131),
 (247, 247),
 (205, 226),
 (705, 332),
 (616, 616),
 (306, 145),
 (804, 487),
 (787, 425),
 (19, 19),
 (826, 826),
 (244, 244),
 (746, 786),
 (270, 270),
 (42, 306),
 (656, 656),
 (315, 566),
 (11, 11),
 (247, 549),
 (251, 251),
 (257, 603),
 (476, 585),
 (580, 684),
 (322, 322),
 (255, 255),
 (500, 500),
 (525, 750),
 (30, 148),
 (662, 422),
 (217, 217),
 (263, 263),
 (123, 92),
 (221, 221),
 (810, 810),
 (228, 228),
 (265, 265),
 (625, 625),
 (292, 483),
 (209, 209),
 (782, 145),
 (234, 235),
 (397, 397),
 (787, 326),
 (805, 171),
 (718, 185),
 (633, 633),
 (136, 393),
 (448, 848),
 (766, 133),
 (370, 673),
 (186, 562),
 (207, 443),
 (173, 194),
 (637, 637),
 (322, 639),
 (474, 474),
 (380, 380),
 (584, 584),
 (28, 397),
 (781, 201),
 (841, 422),
 (605, 389),
 (789, 377),
 (293, 484),
 (276, 300),
 (179, 726),
 (575, 274),
 (193, 635),
 (231, 231),
 (550, 212),
 (326, 825),
 (385, 252),
 (578, 728),
 (218, 218),
 (470, 470),
 (155, 124),
 (527, 204),
 (567, 421),
 (806, 488),
 (681, 802),
 (298, 19),
 (407, 407),
 (347, 191),
 (495, 495),
 (693, 693),
 (786, 143),
 (364, 364),
 (628, 414),
 (167, 388),
 (672, 672),
 (414, 473),
 (677, 375),
 (200, 538),
 (398, 733),
 (811, 811),
 (646, 233),
 (443, 443),
 (85, 210),
 (68, 68),
 (469, 840),
 (169, 633),
 (830, 830),
 (617, 821),
 (598, 767),
 (486, 752),
 (787, 721),
 (718, 496),
 (666, 666),
 (577, 461),
 (690, 369),
 (732, 212),
 (383, 473),
 (40, 49),
 (646, 81),
 (833, 161),
 (285, 231),
 (348, 348),
 (442, 803),
 (383, 383),
 (378, 113),
 (674, 674),
 (550, 81),
 (441, 650),
 (334, 337),
 (427, 427),
 (122, 122),
 (583, 716),
 (52, 52),
 (825, 825),
 (602, 563),
 (259, 259),
 (42, 145),
 (26, 247),
 (764, 764),
 (656, 311),
 (68, 752),
 (272, 544),
 (420, 790),
 (114, 114),
 (244, 175),
 (561, 561),
 (768, 768),
 (153, 153),
 (706, 129),
 (248, 612),
 (83, 216),
 (636, 527),
 (495, 633),
 (730, 752),
 (348, 12),
 (509, 509),
 (796, 434),
 (157, 157),
 (233, 212),
 (106, 106),
 (234, 624),
 (715, 666),
 (809, 809),
 (785, 785),
 (405, 405),
 (776, 776),
 (84, 499),
 (145, 145),
 (769, 769),
 (591, 150),
 (316, 657),
 (557, 557),
 (76, 418),
 (763, 175),
 (121, 728),
 (12, 12),
 (473, 506),
 (704, 681),
 (744, 528),
 (432, 812),
 (517, 517),
 (646, 508),
 (522, 237),
 (698, 698),
 (466, 186),
 (729, 269),
 (786, 550),
 (233, 62),
 (850, 84),
 (363, 363),
 (148, 148),
 (90, 90),
 (143, 212),
 (437, 311),
 (39, 39),
 (117, 771),
 (423, 836),
 (531, 622),
 (130, 657),
 (675, 675),
 (294, 243),
 (581, 55),
 (27, 27),
 (249, 159),
 (819, 103),
 (732, 732),
 (252, 790),
 (823, 226),
 (477, 524),
 (184, 184),
 (520, 733),
 (482, 482),
 (338, 415),
 (66, 66),
 (31, 31),
 (472, 639),
 (661, 661),
 (484, 484),
 (383, 520),
 (21, 21),
 (559, 478),
 (377, 377),
 (375, 375),
 (713, 349),
 (96, 329),
 (741, 311),
 (257, 121),
 (54, 246),
 (437, 246),
 (317, 673),
 (284, 52),
 (105, 190),
 (158, 176),
 (343, 673),
 (201, 478),
 (369, 369),
 (558, 124),
 (450, 146),
 (12, 685),
 (824, 411),
 (30, 30),
 (1, 1),
 (227, 491),
 (429, 563),
 (455, 455),
 (329, 58),
 (536, 190),
 (560, 682),
 (387, 662),
 (522, 522),
 (361, 361),
 (559, 559),
 (831, 831),
 (589, 589),
 (118, 481),
 (28, 326),
 (164, 164),
 (162, 766),
 (473, 126),
 (129, 798),
 (21, 796),
 (116, 116),
 (357, 691),
 (288, 288),
 (607, 734),
 (491, 491),
 (432, 575),
 (207, 496),
 (789, 34),
 (628, 126),
 (204, 19),
 (591, 673),
 (298, 527),
 (499, 335),
 (117, 117),
 (356, 739),
 (450, 450),
 (394, 631),
 (171, 628),
 (47, 793),
 (458, 95),
 (560, 560),
 (742, 742),
 (712, 715),
 (706, 706),
 (307, 155),
 (406, 70),
 (392, 422),
 (429, 660),
 (619, 793),
 (39, 122),
 (100, 100),
 (448, 434),
 (670, 637),
 (703, 703),
 (50, 231),
 (72, 72),
 (715, 84),
 (660, 563),
 (238, 238),
 (707, 707),
 (541, 827),
 (160, 160),
 (843, 843),
 (469, 469),
 (605, 232),
 (515, 128),
 (844, 844),
 (556, 710),
 (304, 304),
 (484, 761),
 (556, 451),
 (152, 510),
 (817, 508),
 (508, 508),
 (326, 224),
 (600, 566),
 (837, 311),
 (697, 23),
 (772, 711),
 (103, 103),
 (379, 486),
 (180, 765),
 (170, 0),
 (226, 226),
 (67, 67),
 (362, 485),
 (91, 91),
 (733, 520),
 (662, 662),
 (848, 131),
 (97, 315),
 (120, 719),
 (111, 111),
 (17, 268),
 (219, 645),
 (787, 224),
 (39, 104),
 (95, 95),
 (423, 137),
 (565, 565),
 (432, 548),
 (641, 538),
 (532, 532),
 (185, 492),
 (849, 849),
 (387, 841),
 (447, 473),
 (694, 74),
 (515, 142),
 (493, 493),
 (675, 680),
 (261, 261),
 (58, 58),
 (692, 692),
 (174, 174),
 (24, 24),
 (627, 633),
 (578, 578),
 (209, 237),
 (585, 455),
 (841, 282),
 (714, 232),
 (294, 294),
 (250, 250),
 (831, 590),
 (510, 510),
 (487, 624),
 (826, 74),
 (112, 473),
 (590, 340),
 (315, 707),
 (746, 808),
 (547, 547),
 (485, 485),
 (586, 586),
 (310, 310),
 (203, 316),
 (521, 521),
 (552, 218),
 (158, 158),
 (737, 737),
 (424, 804),
 (607, 380),
 (62, 143),
 (564, 282),
 (71, 71),
 (713, 713),
 (171, 788),
 (436, 58),
 (369, 105),
 (712, 84),
 (587, 759),
 (323, 681),
 (687, 379),
 (130, 130),
 (297, 297),
 (45, 586),
 (624, 624),
 (804, 804),
 (739, 129),
 (25, 25),
 (243, 846),
 (83, 83),
 (420, 385),
 (848, 434),
 (645, 645),
 (614, 563),
 (262, 355),
 (763, 244),
 (29, 29),
 (32, 212),
 (821, 832),
 (45, 45),
 (705, 705),
 (543, 473),
 (413, 633),
 (289, 289),
 (716, 515),
 (399, 369),
 (147, 264),
 (607, 523),
 (614, 285),
 (209, 522),
 (217, 588),
 (15, 252),
 (844, 100),
 (563, 563),
 (698, 422),
 (188, 188),
 (636, 456),
 (595, 595),
 (404, 404),
 (494, 258),
 (646, 143),
 (833, 833),
 (236, 236),
 (524, 290),
 (176, 176),
 (72, 663),
 (680, 854),
 (50, 50),
 (772, 142),
 (817, 289),
 (613, 142),
 (524, 735),
 (854, 680),
 (487, 235),
 (199, 695),
 (241, 804),
 (37, 37),
 (683, 807),
 (336, 69),
 (266, 650),
 (502, 502),
 (841, 841),
 (128, 679),
 (473, 807),
 (256, 843),
 (296, 296),
 (272, 272),
 (388, 771),
 (84, 335),
 (535, 535),
 (257, 792),
 (551, 174),
 (592, 592),
 (58, 667),
 (717, 717),
 (518, 518),
 (850, 335),
 (852, 852),
 (249, 249),
 (689, 529),
 (854, 675),
 (306, 620),
 (841, 564),
 (92, 61),
 (258, 158),
 (616, 201),
 (121, 603),
 (33, 713),
 (231, 682),
 (14, 14),
 (734, 178),
 (365, 266),
 (241, 241),
 (591, 186),
 (784, 424),
 (140, 634),
 (712, 712),
 (364, 761),
 (345, 345),
 (580, 611),
 (346, 346),
 (162, 113),
 (253, 253),
 (553, 474),
 (666, 84),
 (406, 406),
 (233, 233),
 (125, 673),
 (673, 673),
 (787, 787),
 (241, 234),
 (60, 60),
 (622, 622),
 (723, 657),
 (46, 91),
 (529, 726),
 (254, 478),
 (37, 444),
 (28, 721),
 (123, 123),
 (178, 185),
 (234, 487),
 (677, 427),
 (96, 396),
 (24, 89),
 (127, 127),
 (461, 269),
 (49, 317),
 (89, 89),
 (536, 536),
 (648, 573),
 (594, 92),
 (836, 137),
 (267, 267),
 (432, 274),
 (411, 411),
 (419, 419),
 (40, 673),
 (137, 137),
 (466, 49),
 (817, 817),
 (80, 780),
 (610, 610),
 (81, 81),
 (318, 262),
 (32, 32),
 (583, 160),
 (269, 269),
 (198, 70),
 (152, 260),
 (376, 376),
 (397, 425),
 (759, 382),
 (445, 445),
 (545, 428),
 (160, 142),
 (604, 585),
 (453, 173),
 (772, 816),
 (628, 733),
 (724, 232),
 (466, 40),
 (694, 638),
 (420, 252),
 (746, 550),
 (709, 690),
 (838, 478),
 (324, 762),
 (556, 522),
 (82, 491),
 (392, 282),
 (448, 796),
 (269, 151),
 (435, 518),
 (698, 282),
 (700, 733),
 (350, 521),
 (151, 151),
 (815, 815),
 (636, 482),
 (360, 360),
 (585, 222),
 (2, 421),
 (460, 661),
 (779, 177),
 (339, 339),
 (527, 482),
 (582, 582),
 (48, 349),
 (720, 720),
 (302, 3),
 (527, 19),
 (514, 846),
 (551, 727),
 (90, 116),
 (277, 277),
 (113, 133),
 (313, 144),
 (4, 60),
 (315, 315),
 (745, 751),
 (708, 708),
 (582, 415),
 (290, 672),
 (628, 700),
 (572, 641),
 (721, 825),
 (78, 78),
 (479, 355),
 (62, 786),
 (304, 813),
 (447, 447),
 (125, 49),
 (788, 473),
 (112, 543),
 (653, 262),
 (344, 344),
 (472, 322),
 (348, 685),
 (130, 280),
 (207, 185),
 (155, 155),
 (566, 566),
 (54, 273),
 (241, 747),
 (237, 237),
 (439, 439),
 (461, 603),
 (564, 422),
 (802, 802),
 (640, 547),
 (336, 336),
 (482, 220),
 (579, 566),
 (430, 356),
 (468, 468),
 (291, 574),
 (41, 41),
 (717, 262),
 (853, 47),
 (154, 807),
 (829, 829),
 (817, 62),
 (376, 655),
 (744, 744),
 (754, 754),
 (79, 622),
 (443, 380),
 (763, 221),
 (326, 445),
 (578, 257),
 (317, 150),
 (466, 125),
 (292, 292),
 (217, 354),
 (515, 711),
 (240, 504),
 (620, 549),
 (606, 606),
 (394, 138),
 (241, 351),
 (314, 485),
 (727, 727),
 (696, 757),
 (786, 212),
 (813, 813),
 (297, 847),
 (780, 780),
 (584, 149),
 (805, 473),
 (805, 788),
 (182, 18),
 (668, 813),
 (153, 264),
 (501, 501),
 (195, 815),
 (766, 113),
 (245, 744),
 (307, 278),
 (426, 226),
 (466, 150),
 (709, 234),
 (587, 296),
 (716, 711),
 (382, 382),
 (679, 679),
 (39, 114),
 (190, 234),
 (641, 459),
 (493, 75),
 (223, 358),
 (613, 613),
 (690, 536),
 (589, 358),
 (740, 632),
 (175, 175),
 (270, 491),
 (327, 526),
 (612, 612),
 (19, 220),
 (789, 789),
 (250, 358),
 (773, 518),
 (44, 231),
 (121, 121),
 (386, 5),
 (529, 179),
 (125, 125),
 (290, 735),
 (644, 644),
 (308, 308),
 (638, 638),
 (841, 645),
 (162, 378),
 (113, 113),
 (524, 524),
 (852, 748),
 (786, 786),
 (677, 18),
 (109, 592),
 (77, 401),
 (645, 564),
 (850, 732),
 (543, 520),
 (354, 354),
 (97, 566),
 (403, 755),
 (650, 650),
 (392, 662),
 (105, 105),
 (240, 626),
 (184, 77),
 (317, 186),
 (172, 534),
 (636, 19),
 (181, 181),
 (219, 110),
 (424, 747),
 (98, 98),
 (298, 204),
 (689, 756),
 (689, 179),
 (514, 34),
 (387, 422),
 (845, 845),
 (581, 581),
 (451, 237),
 (640, 57),
 (646, 646),
 (703, 397),
 (191, 191),
 (690, 105),
 (690, 690),
 (68, 405),
 (774, 713),
 (44, 44),
 (351, 424),
 (412, 412),
 (154, 154),
 (687, 687),
 (831, 340),
 (27, 415),
 (805, 805),
 (342, 355),
 (646, 550),
 (259, 288),
 (99, 618),
 (613, 679),
 (820, 412),
 (794, 794),
 (146, 146),
 (725, 725),
 (451, 556),
 (819, 819),
 (12, 34),
 (128, 142),
 (313, 313),
 (617, 617),
 (464, 246),
 (248, 248),
 (746, 212),
 (845, 299),
 (461, 151),
 (252, 252),
 (698, 841),
 (477, 672),
 (720, 769),
 (354, 588),
 (26, 145),
 (135, 593),
 (527, 527),
 (163, 175),
 (219, 282),
 (256, 256),
 (310, 631),
 (686, 345),
 (160, 679),
 (508, 143),
 (192, 573),
 (816, 679),
 (156, 156),
 (23, 23),
 (223, 223),
 (135, 339),
 (691, 642),
 (185, 443),
 (233, 817),
 (112, 520),
 (198, 406),
 (715, 335),
 (367, 367),
 (132, 491),
 (59, 811),
 (467, 467),
 (502, 493),
 (233, 143),
 (396, 58),
 (788, 788),
 (715, 732),
 (28, 224),
 (799, 372),
 (403, 403),
 (714, 714),
 (5, 5),
 (187, 702),
 (410, 491),
 (784, 241),
 (742, 522),
 (38, 38),
 (773, 454),
 (782, 782),
 (351, 624),
 (168, 168),
 (430, 129),
 (216, 216),
 (397, 445),
 (603, 269),
 (775, 393),
 (303, 504),
 (602, 276),
 (220, 220),
 (517, 301),
 (429, 429),
 (430, 430),
 (306, 549),
 (662, 725),
 (208, 208),
 (839, 839),
 (414, 733),
 (119, 119),
 (843, 256),
 (42, 782),
 (480, 351),
 (605, 361),
 (476, 222),
 (760, 571),
 (527, 220),
 (2, 2),
 (335, 335),
 (318, 653),
 (46, 459),
 (28, 722),
 (748, 212),
 (203, 130),
 (41, 291),
 (480, 487),
 (409, 409),
 (392, 841),
 (277, 762),
 (362, 314),
 (436, 260),
 (383, 543),
 (325, 325),
 (703, 326),
 (266, 266),
 (481, 481),
 (589, 309),
 (319, 372),
 (210, 210),
 (379, 379),
 (732, 499),
 (629, 629),
 (703, 722),
 (683, 683),
 (84, 212),
 (583, 711),
 (125, 150),
 (414, 700),
 (56, 56),
 (42, 247),
 (150, 673),
 (523, 185),
 (107, 107),
 (453, 453),
 (828, 828),
 (97, 321),
 (653, 653),
 (343, 591),
 (553, 553),
 (214, 214),
 (448, 448),
 (68, 433),
 (486, 486),
 (552, 43),
 (334, 334),
 (439, 73),
 (794, 549),
 (244, 163),
 (676, 116),
 (75, 493),
 (600, 795),
 (150, 150),
 (341, 34),
 (567, 567),
 (520, 506),
 (40, 40),
 (95, 119),
 (478, 478),
 (232, 389),
 (430, 157),
 (309, 250),
 (555, 555),
 (774, 774),
 (828, 637),
 (812, 812),
 (433, 405),
 (320, 320),
 (91, 459),
 (400, 815),
 (659, 311),
 (348, 34),
 (626, 846),
 (425, 825),
 (623, 340),
 (516, 516),
 (407, 291),
 (157, 546),
 (451, 710),
 (654, 654),
 (517, 235),
 (3, 632),
 (343, 562),
 (579, 579),
 (609, 216),
 (383, 733),
 (421, 421),
 (278, 278),
 (706, 798),
 (85, 544),
 (401, 401),
 (732, 335),
 (40, 562),
 (259, 797),
 (424, 657),
 (687, 752),
 (301, 235)]

In [16]:
pair_dict


Out[16]:
{(1, 1): 1,
 (2, 2): 1,
 (9, 9): 1,
 (13, 13): 1,
 (16, 16): 1,
 (21, 21): 1,
 (22, 22): 1,
 (24, 24): 1,
 (26, 26): 1,
 (28, 28): 1,
 (30, 30): 1,
 (31, 31): 1,
 (33, 33): 1,
 (35, 35): 1,
 (36, 36): 1,
 (37, 37): 1,
 (38, 38): 1,
 (39, 39): 2,
 (46, 46): 1,
 (49, 49): 1,
 (53, 53): 1,
 (54, 54): 1,
 (56, 56): 1,
 (59, 59): 1,
 (63, 63): 1,
 (64, 64): 1,
 (68, 68): 1,
 (71, 71): 1,
 (72, 72): 1,
 (76, 76): 1,
 (78, 78): 1,
 (79, 79): 1,
 (80, 80): 1,
 (82, 82): 1,
 (83, 83): 1,
 (84, 84): 1,
 (85, 85): 1,
 (86, 86): 1,
 (87, 87): 1,
 (90, 90): 1,
 (94, 94): 1,
 (96, 96): 1,
 (97, 97): 1,
 (98, 98): 2,
 (99, 99): 1,
 (101, 101): 1,
 (108, 108): 1,
 (111, 111): 1,
 (112, 112): 1,
 (115, 115): 1,
 (117, 117): 1,
 (118, 118): 1,
 (120, 120): 1,
 (123, 123): 1,
 (131, 131): 1,
 (132, 132): 1,
 (134, 134): 1,
 (136, 136): 1,
 (139, 139): 1,
 (140, 140): 1,
 (147, 147): 2,
 (152, 152): 2,
 (156, 156): 1,
 (162, 162): 1,
 (166, 166): 1,
 (167, 167): 1,
 (168, 168): 1,
 (169, 169): 1,
 (170, 170): 1,
 (172, 172): 1,
 (176, 176): 1,
 (178, 178): 1,
 (180, 180): 1,
 (183, 183): 1,
 (184, 184): 1,
 (188, 188): 1,
 (192, 192): 1,
 (193, 193): 1,
 (196, 196): 1,
 (198, 198): 1,
 (199, 199): 1,
 (200, 200): 1,
 (203, 203): 1,
 (205, 205): 1,
 (211, 211): 1,
 (214, 214): 1,
 (215, 215): 1,
 (217, 217): 1,
 (218, 218): 1,
 (227, 227): 1,
 (229, 229): 1,
 (230, 230): 1,
 (236, 236): 1,
 (239, 239): 1,
 (240, 240): 1,
 (242, 242): 1,
 (245, 245): 1,
 (248, 248): 1,
 (249, 249): 1,
 (253, 253): 1,
 (254, 254): 1,
 (255, 255): 1,
 (256, 256): 1,
 (259, 259): 1,
 (263, 263): 1,
 (267, 267): 1,
 (277, 277): 1,
 (279, 279): 1,
 (285, 285): 2,
 (286, 286): 1,
 (292, 292): 1,
 (293, 293): 1,
 (295, 295): 1,
 (302, 302): 1,
 (304, 304): 1,
 (305, 305): 1,
 (307, 307): 1,
 (310, 310): 1,
 (320, 320): 1,
 (323, 323): 1,
 (324, 324): 1,
 (325, 325): 1,
 (327, 327): 1,
 (328, 328): 1,
 (331, 331): 1,
 (333, 333): 1,
 (334, 334): 1,
 (336, 336): 1,
 (338, 338): 1,
 (342, 342): 1,
 (343, 343): 1,
 (344, 344): 1,
 (345, 345): 1,
 (348, 348): 1,
 (350, 350): 1,
 (352, 352): 1,
 (353, 353): 1,
 (357, 357): 1,
 (359, 359): 1,
 (362, 362): 1,
 (363, 363): 1,
 (365, 365): 1,
 (366, 366): 1,
 (367, 367): 1,
 (368, 368): 1,
 (370, 370): 1,
 (371, 371): 1,
 (373, 373): 1,
 (374, 374): 1,
 (376, 376): 1,
 (377, 377): 2,
 (381, 381): 1,
 (383, 383): 1,
 (386, 386): 1,
 (387, 387): 1,
 (388, 388): 1,
 (395, 395): 1,
 (400, 400): 1,
 (407, 407): 1,
 (408, 408): 1,
 (413, 413): 1,
 (420, 420): 1,
 (423, 423): 1,
 (426, 426): 1,
 (430, 430): 1,
 (432, 432): 1,
 (433, 433): 1,
 (437, 437): 1,
 (438, 438): 1,
 (439, 439): 1,
 (440, 440): 1,
 (442, 442): 1,
 (447, 447): 1,
 (448, 448): 1,
 (449, 449): 1,
 (450, 450): 1,
 (451, 451): 1,
 (452, 452): 1,
 (457, 457): 1,
 (458, 458): 1,
 (467, 467): 1,
 (468, 468): 1,
 (472, 472): 1,
 (476, 476): 1,
 (477, 477): 1,
 (479, 479): 1,
 (480, 480): 1,
 (489, 489): 1,
 (495, 495): 1,
 (498, 498): 1,
 (500, 500): 1,
 (502, 502): 1,
 (514, 514): 1,
 (516, 516): 1,
 (525, 525): 1,
 (530, 530): 1,
 (537, 537): 1,
 (539, 539): 1,
 (540, 540): 1,
 (542, 542): 1,
 (545, 545): 1,
 (551, 551): 1,
 (552, 552): 1,
 (554, 554): 1,
 (555, 555): 1,
 (556, 556): 1,
 (557, 557): 1,
 (558, 558): 1,
 (559, 559): 1,
 (565, 565): 1,
 (568, 568): 1,
 (572, 572): 1,
 (578, 578): 1,
 (580, 580): 1,
 (582, 582): 1,
 (583, 583): 1,
 (587, 587): 1,
 (589, 589): 1,
 (596, 596): 1,
 (598, 598): 1,
 (599, 599): 1,
 (600, 600): 1,
 (602, 602): 1,
 (607, 607): 1,
 (608, 608): 1,
 (610, 610): 1,
 (614, 614): 1,
 (615, 615): 1,
 (616, 616): 2,
 (617, 617): 1,
 (627, 627): 1,
 (628, 628): 1,
 (636, 636): 1,
 (638, 638): 1,
 (644, 644): 1,
 (646, 646): 1,
 (648, 648): 1,
 (649, 649): 1,
 (654, 654): 1,
 (656, 656): 1,
 (659, 659): 1,
 (668, 668): 1,
 (669, 669): 1,
 (670, 670): 1,
 (671, 671): 1,
 (674, 674): 1,
 (676, 676): 2,
 (677, 677): 1,
 (678, 678): 1,
 (681, 681): 1,
 (683, 683): 1,
 (684, 684): 1,
 (685, 685): 1,
 (686, 686): 1,
 (687, 687): 1,
 (689, 689): 1,
 (692, 692): 1,
 (693, 693): 1,
 (694, 694): 1,
 (696, 696): 1,
 (697, 697): 1,
 (698, 698): 1,
 (699, 699): 1,
 (701, 701): 1,
 (703, 703): 1,
 (704, 704): 1,
 (705, 705): 1,
 (706, 706): 1,
 (708, 708): 1,
 (709, 709): 1,
 (710, 710): 1,
 (712, 712): 1,
 (714, 714): 1,
 (717, 717): 1,
 (720, 720): 1,
 (729, 729): 1,
 (737, 737): 1,
 (740, 740): 1,
 (742, 742): 1,
 (743, 743): 1,
 (745, 745): 1,
 (748, 748): 1,
 (749, 749): 1,
 (752, 752): 1,
 (754, 754): 1,
 (760, 760): 1,
 (763, 763): 1,
 (770, 770): 1,
 (773, 773): 1,
 (774, 774): 1,
 (778, 778): 1,
 (779, 779): 1,
 (781, 781): 1,
 (783, 783): 1,
 (789, 789): 1,
 (791, 791): 1,
 (795, 795): 1,
 (796, 796): 1,
 (799, 799): 1,
 (800, 800): 1,
 (801, 801): 1,
 (805, 805): 1,
 (806, 806): 1,
 (814, 814): 1,
 (819, 819): 1,
 (823, 823): 1,
 (826, 826): 1,
 (829, 829): 1,
 (830, 830): 1,
 (831, 831): 1,
 (833, 833): 1,
 (837, 837): 1,
 (842, 842): 1,
 (844, 844): 1,
 (849, 849): 1,
 (851, 851): 1,
 (852, 852): 1,
 (853, 853): 2,
 (854, 854): 1}

In [19]:
poster_dict


Out[19]:
{11: [370],
 12: [49],
 16: [255],
 17: [343],
 18: [249],
 21: [587],
 22: [826],
 23: [844],
 24: [583],
 30: [123],
 32: [743],
 34: [555],
 36: [28],
 38: [442],
 39: [327],
 40: [600],
 43: [279],
 44: [188],
 45: [607],
 46: [791],
 47: [423],
 48: [795],
 49: [134],
 53: [814],
 55: [636],
 56: [342],
 63: [450],
 66: [745],
 67: [740],
 69: [407],
 70: [108],
 71: [614],
 72: [763],
 73: [386],
 75: [344],
 76: [115],
 77: [248],
 79: [387],
 80: [285],
 81: [638],
 83: [178],
 84: [285],
 85: [852],
 88: [540],
 90: [706],
 91: [853],
 92: [654],
 93: [696],
 94: [136],
 95: [2],
 98: [408],
 100: [703],
 101: [367],
 103: [559],
 105: [214],
 106: [842],
 107: [227],
 109: [829],
 111: [742],
 112: [598],
 115: [853],
 116: [230],
 120: [259],
 121: [851],
 122: [472],
 123: [467],
 128: [336],
 131: [479],
 132: [685],
 134: [325],
 138: [627],
 139: [348],
 140: [193],
 141: [729],
 144: [293],
 147: [596],
 150: [366],
 154: [644],
 155: [357],
 158: [717],
 159: [203],
 162: [381],
 164: [90],
 165: [217],
 166: [830],
 167: [365],
 168: [837],
 171: [331],
 173: [31],
 174: [646],
 176: [458],
 178: [670],
 179: [448],
 180: [554],
 181: [310],
 184: [572],
 187: [831],
 188: [699],
 189: [542],
 190: [87],
 196: [395],
 197: [13],
 201: [709],
 202: [120],
 203: [147],
 205: [147],
 206: [774],
 208: [16],
 210: [495],
 212: [773],
 215: [779],
 216: [565],
 217: [599],
 219: [200],
 223: [432],
 226: [118],
 227: [359],
 229: [668],
 230: [21],
 231: [54],
 234: [323],
 235: [183],
 237: [801],
 240: [500],
 241: [789],
 242: [46],
 245: [457],
 246: [324],
 248: [320],
 249: [610],
 251: [447],
 252: [286],
 255: [783],
 256: [373],
 259: [748],
 260: [71],
 262: [557],
 263: [714],
 264: [476],
 266: [698],
 267: [677],
 269: [516],
 271: [705],
 272: [468],
 274: [83],
 276: [648],
 278: [377],
 279: [578],
 280: [376],
 281: [430],
 285: [383],
 286: [277],
 287: [236],
 288: [169],
 290: [117],
 294: [799],
 296: [420],
 297: [539],
 298: [96],
 300: [710],
 301: [849],
 302: [556],
 306: [99],
 307: [452],
 308: [59],
 309: [371],
 311: [400],
 312: [9],
 314: [568],
 316: [36],
 320: [692],
 322: [24],
 326: [617],
 327: [68],
 329: [525],
 330: [56],
 331: [437],
 333: [823],
 334: [162],
 335: [152],
 337: [760],
 339: [82],
 340: [304],
 341: [256],
 344: [752],
 348: [254],
 350: [686],
 351: [38],
 352: [498],
 353: [205],
 355: [334],
 356: [426],
 359: [659],
 360: [263],
 361: [72],
 362: [545],
 363: [697],
 364: [350],
 365: [86],
 366: [26],
 367: [63],
 369: [111],
 370: [253],
 372: [240],
 374: [245],
 375: [180],
 376: [502],
 379: [353],
 380: [345],
 381: [854],
 382: [39],
 384: [229],
 385: [819],
 387: [363],
 388: [449],
 389: [552],
 390: [168],
 392: [338],
 393: [22],
 396: [678],
 401: [687],
 402: [433],
 403: [64],
 404: [98],
 405: [589],
 407: [388],
 408: [530],
 409: [218],
 411: [167],
 412: [302],
 414: [374],
 415: [76],
 416: [514],
 418: [362],
 419: [558],
 420: [800],
 421: [80],
 422: [239],
 423: [79],
 425: [131],
 426: [439],
 427: [196],
 430: [53],
 431: [78],
 432: [112],
 433: [704],
 434: [377],
 435: [305],
 437: [712],
 440: [307],
 441: [140],
 442: [199],
 443: [33],
 444: [537],
 445: [139],
 448: [778],
 449: [451],
 450: [85],
 451: [694],
 452: [242],
 454: [198],
 456: [676],
 458: [720],
 459: [656],
 460: [132],
 461: [35],
 465: [684],
 466: [616],
 467: [683],
 468: [580],
 469: [480],
 470: [292],
 471: [97],
 473: [616],
 475: [170],
 476: [333],
 477: [368],
 479: [489],
 480: [681],
 481: [295],
 484: [267],
 485: [477],
 488: [172],
 489: [352],
 490: [211],
 491: [551],
 493: [689],
 496: [39],
 497: [676],
 499: [30],
 500: [37],
 501: [701],
 505: [440],
 506: [98],
 510: [796],
 512: [805],
 514: [192],
 517: [1],
 518: [176],
 519: [328],
 520: [781],
 522: [671],
 523: [582],
 524: [94],
 525: [438],
 526: [708],
 527: [649],
 528: [693],
 530: [833],
 531: [84],
 532: [602],
 533: [806],
 536: [152],
 537: [628],
 541: [184],
 542: [156],
 543: [413],
 544: [737],
 545: [754],
 546: [770],
 548: [166],
 550: [674],
 552: [615],
 555: [215],
 556: [608],
 557: [101],
 558: [749],
 559: [669]}

In [21]:
author in authors_list


Out[21]:
False

In [23]:
'Aaron Bornstein' in authors_list


Out[23]:
True

In [ ]: