summaryrefslogtreecommitdiff
path: root/IDS2017.py
blob: 4f73a8fe84adc5477e2a0f5321aca932ae82bb50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#coding:utf-8
import networkx as nx
import numpy as np
import csv
import random
import torch
import matplotlib.pyplot as plt
from sklearn.model_selection import StratifiedKFold


from itertools import islice
lable_dict={}
class S2VGraph(object):
    def __init__(self, g, label, node_tags=None, node_features=None):
        '''
            g: a networkx graph
            label: an integer graph label
            node_tags: a list of integer node tags
            node_features: a torch float tensor, one-hot representation of the tag that is used as input to neural nets
            edge_mat: a torch long tensor, contain edge list, will be used to create torch sparse tensor
            neighbors: list of neighbors (without self-loop)
        '''
        self.label = label
        self.g = g
        self.node_tags = node_tags
        self.neighbors = []
        self.node_features = 0
        self.edge_mat = 0

        self.max_neighbor = 0

def csv_dataset(addr,fake_port):
    addr="/home/liyuzhen/dataset/ids2017/"+addr+".csv"
    read=csv.reader(open('%s' %addr,'r'))
    ip_DDoS=["172.16.0.1","192.168.10.50"]
    ip={}
    flows_norm=[]
    flows_DDoS=[]
    port_DDoS=[]
    port_norm=[]
    num=0
    for row in islice(read,1,None):
        num=num+1
        tmp_one_packet=[]
        if ((row[2]=='') or (row[3]=='')):
            continue
        tmp_one_packet.append(1)#包大小
        tmp_one_packet.append(row[1])#协议
        if((row[2] in ip_DDoS) and (row[3] in ip_DDoS)):#可能是DDoS
            if((row[2]=="192.168.10.5") and (row[3]=="172.16.0.1")):
                a=row[6]+' '+row[5]
            elif((row[2]=="172.16.0.1") and (row[3]=="192.168.10.5")):
                a=row[5]+' '+row[6]
                tmp_one_packet[0]*=-1
            if(a==''):
                print("error! in %s %s is UDP" %(addr,num))
            if(a not in fake_port):
                if((a not in port_DDoS) and (a not in port_norm)):
                    if(row[2]=="172.16.0.1"):
                        port_DDoS.append(a)
                    elif(a=="192.168.10.50"):
                        port_norm.append(a)
                elif(a in port_DDoS):
                    flows_DDoS.append(tmp_one_packet)
        else:
            a=row[2]+' '+row[3]
            b=row[3]+' '+row[2]
            if((a not in ip) and (b not in ip)):
                ip[a]=len(ip)
                flows_norm.append([])
            if(a in ip):
                tmp_one_packet[0]*=-1
                flows_norm[ip[a]].append(tmp_one_packet)
            elif((a not in ip) and (b not in ip)):
                print("error: in csv_dataset")
            elif(b in ip):
                flows_norm[ip[b]].append(tmp_one_packet)
    o=[]
    o.append(flows_DDoS)
    return o,flows_norm

def cons_graph(all_traffic,num_node,tags):
    g_list=[]
    print("len all_traffic: %s" %len(all_traffic))
    num_graph=int(len(all_traffic)/num_node)
    print("num_graph: %s" %num_graph)
    #print(num_graph)
    last_graph=len(all_traffic)-num_node*num_graph
    for y in range(num_graph):
        g = nx.Graph()
        node_first=0
        node_last=0
        node_tags = []
        #node_features = []
        a=0
        for z in range(num_node):
            traffic=num_node*y+z
            g.add_node(z)
            if(all_traffic[traffic][1] not in lable_dict.keys() ):
                lable_dict[all_traffic[traffic][1]]=len(lable_dict)
            node_tags.append(lable_dict[all_traffic[traffic][1]])
            #node_features.append(all_traffic[traffic][0])
            if(z>0):#构造图的边
                if(all_traffic[traffic][0]*all_traffic[traffic-1][0]>0):
                    #print(1)
                    g.add_edge(z-1, z)
                    #nx.draw(g,with_labels=True,pos=nx.circular_layout(g))
                    #plt.show()
                else:
                    #print(2)
                    g.add_edge(z,node_first)
                    a=a+1
                    #plt.show()

                    if(a>=2):
                        g.add_edge(node_last,z-1)
                        #nx.draw(g,with_labels=True,edge_color='b',pos=nx.circular_layout(g))
                    node_first=z
                    node_last=z-1
        g.add_edge(z,node_last)
        g_list.append(S2VGraph(g, tags, node_tags))
    return g_list
def load_data(degree_as_tag,para):
    '''
        dataset: name of dataset
        test_proportion: ratio of test train split
        seed: random seed for random splitting of dataset
    '''

    print('loading data')
    g_list = []
    fake_port=[[],[],[],[],[]]
    LOIT=['52208 80', '53821 80', '55462 80', '57140 80', '58824 80', '60523 80', '62189 80', '63853 80', '65476 80', '27636 80', '28767 80', '30046 80', '31479 80', '33096 80', '34746 80', '36379 80', '38035 80', '39665 80', '41284 80', '42889 80', '43201 80']
    hulk=['49632 80', '53058 80', '53688 80', '53682 80', '53658 80', '53648 80', '53642 80', '53634 80', '53630 80', '53660 80', '53598 80', '53578 80', '53568 80', '53566 80', '53554 80', '53552 80', '53528 80', '53512 80', '53510 80', '53506 80', '53496 80', '53494 80', '53490 80', '53472 80', '53468 80', '53470 80', '53458 80', '53440 80', '53438 80', '53436 80', '53426 80', '53422 80', '53846 80', '53858 80', '53866 80', '53872 80', '53878 80', '53890 80', '53896 80', '53902 80', '53912 80', '53918 80', '53926 80', '53932 80', '53940 80', '53948 80', '53956 80', '53982 80', '53990 80', '53996 80', '53898 80', '53922 80', '53964 80', '54018 80', '53740 80', '53742 80', '53766 80', '53794 80', '53812 80', '53808 80', '53818 80', '53850 80', '53862 80', '53874 80', '53892 80', '53904 80', '53910 80', '53942 80', '53958 80', '53984 80', '53992 80', '54006 80', '53788 80', '53798 80', '53796 80', '53810 80', '53826 80', '53842 80', '53856 80', '53864 80', '53870 80', '53900 80', '53888 80', '53924 80', '53930 80', '53938 80', '53952 80', '53970 80', '53978 80', '53988 80', '54002 80', '54016 80', '54012 80', '54024 80', '54026 80', '54030 80', '54032 80', '54034 80', '54040 80', '54046 80', '54048 80', '54050 80', '54058 80', '54056 80', '54060 80', '54066 80', '54062 80', '54070 80', '54080 80', '54082 80', '54084 80', '54096 80', '54100 80', '54114 80', '54126 80', '54140 80', '54146 80', '54144 80', '54154 80', '54166 80', '54178 80', '54182 80', '54190 80', '54192 80', '54200 80', '54210 80', '54214 80', '54208 80', '54216 80', '54220 80', '54232 80', '54228 80', '54234 80', '54238 80', '54244 80', '54252 80', '54256 80', '54258 80', '54274 80', '54282 80', '54286 80', '54318 80', '54268 80', '54280 80', '54276 80', '54298 80', '54308 80', '54266 80', '54272 80', '54278 80', '54304 80', '54312 80', '54292 80', '54314 80', '54370 80', '54362 80', '54376 80', '54344 80', '54388 80', '54368 80', '54378 80', '54360 80', '54420 80', '54428 80', '54432 80', '54446 80', '54448 80', '54454 80', '54408 80', '54412 80', '54422 80', '54452 80', '54462 80', '54480 80', '54484 80', '54504 80', '54518 80', '54530 80', '54532 80', '54542 80', '54562 80', '54564 80', '54576 80', '54592 80', '54614 80', '54626 80', '54630 80', '54632 80', '54650 80', '54654 80', '54656 80', '54672 80', '54676 80', '54680 80', '54684 80', '54692 80', '54704 80', '54708 80', '54714 80', '54716 80', '54718 80', '54724 80', '54726 80', '54730 80', '54736 80', '54738 80', '54754 80', '54766 80', '54764 80', '54768 80', '54774 80', '54780 80', '54800 80', '54798 80', '54806 80', '54808 80', '54810 80', '54822 80', '54824 80', '54840 80', '54842 80', '54844 80', '54850 80', '54852 80', '54854 80', '54860 80', '54866 80', '54872 80', '54874 80', '54876 80', '54884 80', '54886 80', '54890 80', '54892 80', '54894 80', '54898 80', '54904 80', '54912 80', '54916 80', '54920 80', '54938 80', '54942 80', '54950 80', '54956 80', '54968 80', '54972 80', '54974 80', '54978 80', '54980 80', '54986 80', '54994 80', '54998 80', '55006 80', '55010 80', '55022 80', '55024 80', '55026 80', '55028 80', '55032 80', '55034 80', '55040 80', '55048 80', '55052 80', '55056 80', '55058 80', '55064 80', '55068 80', '55070 80', '55072 80', '55076 80', '55094 80', '55104 80', '55108 80', '55116 80', '55128 80', '55134 80', '55144 80', '55148 80', '55156 80', '55164 80', '55172 80', '55184 80', '55186 80', '55190 80', '55204 80', '55210 80', '55214 80', '55218 80', '55228 80', '55232 80', '55242 80', '55244 80', '55246 80', '55260 80', '55274 80', '55272 80', '55288 80', '55302 80', '55312 80', '55314 80', '55316 80', '55320 80', '55324 80', '55338 80', '55340 80', '55352 80', '55358 80', '55366 80', '55374 80', '55376 80', '55386 80', '55390 80', '55396 80', '55402 80', '55400 80', '55410 80', '55416 80', '55422 80', '55420 80', '55424 80', '55448 80', '55454 80', '55456 80', '55458 80', '55464 80', '55466 80', '55484 80', '55490 80', '55498 80', '55504 80', '55512 80', '55518 80', '55516 80', '55532 80', '55534 80', '55546 80', '55542 80', '55558 80', '55570 80', '55578 80', '55582 80', '55604 80', '55612 80', '55620 80', '55628 80', '55632 80', '55634 80', '55638 80', '55640 80', '55644 80', '55652 80', '55658 80', '55670 80', '55678 80', '55686 80', '55692 80', '55696 80', '55698 80', '55702 80', '55706 80', '55708 80', '55714 80', '55718 80', '55726 80', '55728 80', '55762 80', '55768 80', '55772 80', '55780 80', '55778 80', '55786 80', '55782 80', '55792 80', '55798 80', '55802 80', '55800 80', '55804 80', '55810 80', '55814 80', '55828 80', '55826 80', '55832 80', '55830 80', '55836 80', '55838 80', '55856 80', '55858 80', '55862 80', '55868 80', '55870 80', '55876 80', '55878 80', '55884 80', '55894 80', '55904 80', '55910 80', '55912 80', '55914 80', '55916 80', '55920 80', '55918 80', '55946 80', '55954 80', '55952 80', '55976 80', '55986 80', '55988 80', '55992 80', '55998 80', '56006 80', '56012 80', '56044 80', '56042 80', '56060 80', '56076 80', '56074 80', '56090 80', '56092 80', '56096 80', '56098 80', '56106 80', '56108 80', '56110 80', '56112 80', '56116 80', '56118 80', '56122 80', '56120 80', '56130 80', '56134 80', '56144 80', '56148 80', '56146 80', '56150 80', '56158 80', '56172 80', '56168 80', '56178 80', '56180 80', '56182 80', '56184 80', '56190 80', '56192 80', '56188 80', '56194 80', '56196 80', '56204 80', '56202 80', '56218 80', '56216 80', '56240 80', '56242 80', '56244 80', '56248 80', '56262 80', '56264 80', '56268 80', '56274 80', '56278 80', '56276 80', '56282 80', '56284 80', '56296 80', '56298 80', '56294 80', '56292 80', '56302 80', '56308 80', '56318 80', '56324 80', '56326 80', '56340 80', '56336 80', '56360 80', '56368 80', '56372 80', '56396 80', '56400 80', '56414 80', '56408 80', '56416 80', '56426 80', '56432 80', '56438 80', '56440 80', '56436 80', '56444 80', '56470 80', '56482 80', '56486 80', '56488 80', '56498 80', '56502 80', '56510 80', '56512 80', '56516 80', '56534 80', '56536 80', '56540 80', '56546 80', '56548 80', '56552 80', '56566 80', '56564 80', '56568 80', '56580 80', '56586 80', '56600 80', '56598 80', '56596 80', '56604 80', '56612 80', '56618 80', '56622 80', '56624 80', '56626 80', '56628 80', '56630 80', '56640 80', '56644 80', '56646 80', '56650 80', '56652 80', '56658 80', '56656 80', '56662 80', '56660 80', '56664 80', '56672 80', '56688 80', '56700 80', '56696 80', '56712 80', '56716 80', '56726 80', '56728 80', '56724 80', '56732 80', '56730 80', '56734 80', '56740 80', '56744 80', '56736 80', '56748 80', '56746 80', '56750 80', '56752 80', '56762 80', '56766 80', '56772 80', '56776 80', '56784 80', '56790 80', '56792 80', '56796 80', '56800 80', '56816 80', '56818 80', '56820 80', '56834 80', '56840 80', '56850 80', '56860 80', '56862 80', '56866 80', '56874 80', '56872 80', '56882 80', '56884 80', '56886 80', '56890 80', '56892 80', '56904 80', '56908 80', '56910 80', '56912 80', '56914 80', '56918 80', '56920 80', '56922 80', '56936 80', '56938 80', '56950 80', '56952 80', '56954 80', '56960 80', '56966 80', '56970 80', '56976 80', '56990 80', '56992 80', '56994 80', '56996 80', '57002 80', '57006 80', '57008 80', '57010 80', '57012 80', '57014 80', '57016 80', '57018 80', '57022 80', '57026 80', '57032 80', '57044 80', '57046 80', '57050 80', '57052 80', '57062 80', '57066 80', '57064 80', '57068 80', '57074 80', '57076 80', '57080 80', '57084 80', '57092 80', '57094 80', '57096 80', '57098 80', '57100 80', '57106 80', '57108 80', '57116 80', '57118 80', '57124 80', '57126 80', '57128 80', '57130 80', '57132 80', '57136 80', '57142 80', '57144 80', '57148 80', '57150 80', '57152 80', '57154 80', '57156 80', '57158 80', '57160 80', '57162 80', '57166 80', '57168 80', '57170 80', '57172 80', '57174 80', '57178 80', '57182 80', '57184 80', '57188 80', '57190 80', '57192 80', '57194 80', '57200 80', '57202 80', '57204 80', '57206 80', '57210 80', '57214 80', '57216 80', '57218 80', '57222 80', '57226 80', '57230 80', '57232 80', '57236 80', '57238 80', '57254 80', '57260 80', '57268 80', '57280 80', '57278 80', '57284 80', '57292 80', '57296 80', '57302 80', '57306 80', '57310 80', '57320 80', '57322 80', '57328 80', '57340 80', '57352 80', '57358 80', '57362 80', '57364 80', '57378 80', '57372 80', '57384 80', '57386 80', '57388 80', '57390 80', '57394 80', '57412 80', '57426 80', '57454 80', '57458 80', '57470 80', '57474 80', '57478 80', '57482 80', '57484 80', '57488 80', '57490 80', '57492 80', '57498 80', '57500 80', '57508 80', '57506 80', '57514 80', '57516 80', '57520 80', '57526 80', '57528 80', '57530 80', '57536 80', '57538 80', '57540 80', '57542 80', '57544 80', '57548 80', '57556 80', '57558 80', '57564 80', '57566 80', '57568 80', '57570 80', '57574 80', '57576 80', '57582 80', '57586 80', '57596 80', '57600 80', '57602 80', '57604 80', '57608 80', '57618 80', '57628 80', '57646 80', '57650 80', '57652 80', '57654 80', '57656 80', '57664 80', '57668 80', '57670 80', '57680 80', '57682 80', '57686 80', '57692 80', '57690 80', '57710 80', '57712 80', '57716 80', '57720 80', '57728 80', '57736 80', '57738 80', '57744 80', '57754 80', '57756 80', '57766 80', '57768 80', '57774 80', '57778 80', '57780 80', '57784 80', '57786 80', '57788 80', '57794 80', '57800 80', '57802 80', '57804 80', '57812 80', '57810 80', '57824 80', '57828 80', '57838 80', '57844 80', '57852 80', '57854 80', '57882 80', '57886 80', '57894 80', '57908 80', '57922 80', '57930 80', '57932 80', '57934 80', '57938 80', '57956 80', '57958 80', '57964 80', '57972 80', '57970 80', '57968 80', '57974 80', '57978 80', '57980 80', '57992 80', '57998 80', '57996 80', '58002 80', '58008 80', '58026 80', '58032 80', '58038 80', '58042 80', '58044 80', '58046 80', '58048 80', '58080 80', '58086 80', '58094 80', '58096 80', '58108 80', '58112 80', '58122 80', '58120 80', '58134 80', '58138 80', '58140 80', '58154 80', '58160 80', '58168 80', '58170 80', '58174 80', '58192 80', '58202 80', '58210 80', '58216 80', '58214 80', '58220 80', '58222 80', '58224 80', '58226 80', '58232 80', '58234 80', '58238 80', '58242 80', '58244 80', '58246 80', '58250 80', '58260 80', '58268 80', '58272 80', '58280 80', '58284 80', '58294 80', '58296 80', '58300 80', '58302 80', '58306 80', '58308 80', '58310 80', '58312 80', '58314 80', '58316 80', '58318 80', '58320 80', '58322 80', '58324 80', '58326 80', '58328 80', '58330 80', '58344 80', '58358 80', '58362 80', '58366 80', '58368 80', '58376 80', '58380 80', '58386 80', '58388 80', '58392 80', '58394 80', '58400 80', '58398 80', '58404 80', '58402 80', '58406 80', '58408 80', '58410 80', '58414 80', '58420 80', '58422 80', '58426 80', '58424 80', '58430 80', '58434 80', '58444 80', '58448 80', '58454 80', '58456 80', '58462 80', '58460 80', '58464 80', '58466 80', '58470 80', '58474 80', '58472 80', '58486 80', '58492 80', '58496 80', '58498 80', '58502 80', '58504 80', '58508 80', '58510 80', '58514 80', '58516 80', '58518 80', '58522 80', '58524 80', '58532 80', '58540 80', '58542 80', '58550 80', '58554 80', '58560 80', '58564 80', '58570 80', '58572 80', '58576 80', '58578 80', '58584 80', '58588 80', '58590 80', '58592 80', '58594 80', '58648 80', '58650 80', '58656 80', '58654 80', '58658 80', '58660 80', '58662 80', '58666 80', '58668 80', '58670 80', '58676 80', '58674 80', '58684 80', '58686 80', '58692 80', '58700 80', '58704 80', '58710 80', '58714 80', '58718 80', '58726 80', '58742 80', '58750 80', '58758 80', '58768 80', '58770 80', '58778 80', '58782 80', '58784 80', '58788 80', '58790 80', '58792 80', '58806 80', '58808 80', '58810 80', '58914 80', '58928 80', '58934 80', '58948 80', '58946 80', '58972 80', '58976 80', '58980 80', '58992 80', '58996 80', '59000 80', '59010 80', '59018 80', '59030 80', '59034 80', '59040 80', '59042 80', '59044 80', '59050 80', '59054 80', '59058 80', '59092 80', '59094 80', '59098 80', '59100 80', '59102 80', '59106 80', '59108 80', '59110 80', '59114 80', '59118 80', '59128 80', '59146 80', '59148 80', '59158 80', '59168 80', '59170 80', '59180 80', '59182 80', '59184 80', '59186 80', '59192 80', '59196 80', '59202 80', '59204 80', '59210 80', '59208 80', '59224 80', '59228 80', '59230 80', '59234 80', '59244 80', '59246 80', '59248 80', '59254 80', '59256 80', '59258 80', '59274 80', '59304 80', '59308 80', '59310 80', '59312 80', '59316 80', '59318 80', '59324 80', '59326 80', '59332 80', '59344 80', '59348 80', '59362 80', '59364 80', '59368 80', '59378 80', '59384 80', '59382 80', '59388 80', '59392 80', '59406 80', '59410 80', '59412 80', '59416 80', '59414 80', '59438 80', '59442 80', '59460 80', '59464 80', '59468 80', '59470 80', '59472 80', '59474 80', '59476 80', '59480 80', '59484 80', '59482 80', '59486 80', '59488 80', '59490 80', '59492 80', '59496 80', '59498 80', '59502 80', '59500 80', '59504 80', '59510 80', '59516 80', '59514 80', '59524 80', '59530 80', '59532 80', '59534 80', '59536 80', '59540 80', '59542 80', '59544 80', '59546 80', '59550 80', '59554 80', '59552 80', '59560 80', '59566 80', '59570 80', '59572 80', '59574 80', '59576 80', '59578 80', '59582 80', '59584 80', '59586 80', '59590 80', '59592 80', '59602 80', '59606 80', '59614 80', '59618 80', '59626 80', '59628 80', '59630 80', '59632 80', '59638 80', '59640 80', '59644 80', '59652 80', '59660 80', '59662 80', '59664 80', '59668 80', '59676 80', '59678 80', '59680 80', '59682 80', '59690 80', '59692 80', '59694 80', '59696 80', '59702 80', '59708 80', '59710 80', '59714 80', '59716 80', '59722 80', '59726 80', '59742 80', '59746 80', '59754 80', '59762 80', '59768 80', '59774 80', '59792 80', '59794 80', '59798 80', '59800 80', '59804 80', '59808 80', '59818 80', '59820 80', '59824 80', '59836 80', '59838 80', '59842 80', '59846 80', '59856 80', '59862 80', '59868 80', '59876 80', '59894 80', '59896 80', '59902 80', '59908 80', '59912 80', '59914 80', '59926 80', '59936 80', '59938 80', '59940 80', '59946 80', '59950 80', '59954 80', '59958 80', '59976 80', '59996 80', '60002 80', '60018 80', '60020 80', '60024 80', '60028 80', '60034 80', '60050 80', '60052 80', '60058 80', '60070 80', '60078 80', '60082 80', '60084 80', '60086 80', '60090 80', '60100 80', '60102 80', '60114 80', '60122 80', '60120 80', '60128 80', '60132 80', '60134 80', '60138 80', '60146 80', '60152 80', '60156 80', '60158 80', '60160 80', '60164 80', '60172 80', '60180 80', '60178 80', '60186 80', '60192 80', '60198 80', '60210 80', '60216 80', '60234 80', '60238 80', '60236 80', '60250 80', '60252 80', '60254 80', '60258 80', '60256 80', '60270 80', '60272 80', '60274 80', '60278 80', '60280 80', '60284 80', '60282 80', '60286 80', '60290 80', '60296 80', '60302 80', '60306 80', '60312 80', '60326 80', '60328 80', '60332 80', '60340 80', '60342 80', '60344 80', '60348 80', '60352 80', '60360 80', '60364 80', '60368 80', '60372 80', '60374 80', '60376 80', '60380 80', '60384 80', '60388 80', '60390 80', '60398 80', '60406 80', '60412 80', '60420 80', '60422 80', '60424 80', '60438 80', '60442 80', '60452 80', '60466 80', '60480 80', '60488 80', '60490 80', '60500 80', '60502 80', '60508 80', '60518 80', '60520 80', '60524 80', '60542 80', '60550 80', '60554 80', '60560 80', '60562 80', '60568 80', '60574 80', '60576 80', '60580 80', '60598 80', '60604 80', '60608 80', '60610 80', '60612 80', '60622 80', '60624 80', '60628 80', '60636 80', '60642 80', '60650 80', '60658 80', '60660 80', '60662 80', '60674 80', '60676 80', '60680 80', '60706 80', '60708 80', '60716 80', '60714 80', '60730 80', '60732 80', '60734 80', '60738 80', '60740 80', '60746 80', '60754 80', '60756 80', '60764 80', '60766 80', '60786 80', '60802 80', '60808 80', '60816 80', '60814 80', '60822 80', '60836 80', '60840 80', '60856 80', '60852 80', '60864 80', '60868 80', '60876 80', '60894 80', '60898 80', '60912 80', '60910 80', '60916 80', '60918 80', '60932 80', '60942 80', '60944 80', '60956 80', '60960 80', '60958 80', '60970 80', '60986 80', '60990 80', '60988 80', '60992 80', '60994 80', '60998 80', '60996 80', '32778 80', '32772 80', '32786 80', '32782 80', '32788 80', '32790 80', '32798 80', '32796 80', '32806 80', '32808 80', '32804 80', '32812 80', '32816 80', '32828 80', '32832 80', '32836 80', '32842 80', '32838 80', '32862 80', '32868 80', '32872 80', '32882 80', '32886 80', '32888 80', '32890 80', '32896 80', '32906 80', '32900 80', '32910 80', '32912 80', '32914 80', '32928 80', '32926 80', '32930 80', '32950 80', '32956 80', '32954 80', '32962 80', '32966 80', '32974 80', '32986 80', '33002 80', '33006 80', '33016 80', '33018 80', '33026 80', '33036 80', '33042 80', '33054 80', '33050 80', '33058 80', '33070 80', '33072 80', '33078 80', '33076 80', '33102 80', '33104 80', '33108 80', '33112 80', '33118 80', '33130 80', '33136 80', '33132 80', '33162 80', '33164 80', '33166 80', '33178 80', '33176 80', '33188 80', '33200 80', '33202 80', '33210 80', '33206 80', '33214 80', '33230 80', '33240 80', '33242 80', '33244 80', '33254 80', '33258 80', '33272 80', '33276 80', '33278 80', '33292 80', '33290 80', '33288 80', '33294 80', '33310 80', '33316 80', '33314 80', '33328 80', '33330 80', '33340 80', '33348 80', '33352 80', '33358 80', '33360 80', '33362 80', '33376 80', '33378 80', '33386 80', '33388 80', '33384 80', '33694 80', '33668 80', '33404 80', '33414 80', '33418 80', '33424 80', '33430 80', '33432 80', '33440 80', '33450 80', '33454 80', '33458 80', '33472 80', '33478 80', '33480 80', '33494 80', '33498 80', '33502 80', '33510 80', '33522 80', '33524 80', '33526 80', '33560 80', '33562 80', '33570 80', '33574 80', '33582 80', '33586 80', '33594 80', '33598 80', '33606 80', '33612 80', '33610 80', '33614 80', '33616 80', '33630 80', '33636 80', '33644 80', '33660 80', '33662 80', '33672 80', '33670 80', '33682 80', '33690 80', '33700 80', '33704 80', '33708 80', '33710 80', '33722 80', '33728 80', '33736 80', '33740 80', '33748 80', '33750 80', '33752 80', '33754 80', '33756 80', '33758 80', '33762 80', '33770 80', '33774 80', '34088 80', '34040 80', '33846 80', '33856 80', '33860 80', '34014 80', '34026 80', '34032 80', '33784 80', '33790 80', '33794 80', '33800 80', '33796 80', '33798 80', '33804 80', '33820 80', '33826 80', '33830 80', '33832 80', '33834 80', '33886 80', '33898 80', '33896 80', '33900 80', '33904 80', '33910 80', '33914 80', '33920 80', '33926 80', '33932 80', '33944 80', '33948 80', '33952 80', '33956 80', '33958 80', '33962 80', '33966 80', '33978 80', '33982 80', '33988 80', '33990 80', '34004 80', '34012 80', '34072 80', '34074 80', '34092 80', '34110 80', '34108 80', '34112 80', '34114 80', '34118 80', '34124 80', '34130 80', '34144 80', '34146 80', '34148 80', '34156 80', '34154 80', '34442 80', '34240 80', '34244 80', '34260 80', '34262 80', '34278 80', '34282 80', '34294 80', '34170 80', '34182 80', '34180 80', '34186 80', '34192 80', '34196 80', '34200 80', '34204 80', '34208 80', '34212 80', '34220 80', '34222 80', '34224 80', '34250 80', '34254 80', '34286 80', '34304 80', '34314 80', '34316 80', '34322 80', '34318 80', '34326 80', '34324 80', '34328 80', '34334 80', '34338 80', '34352 80', '34360 80', '34362 80', '34364 80', '34366 80', '34370 80', '34374 80', '34378 80', '34388 80', '34394 80', '34400 80', '34402 80', '34406 80', '34418 80', '34422 80', '34428 80', '34432 80', '34444 80', '34446 80', '34462 80', '34464 80', '34466 80', '34472 80', '34474 80', '34478 80', '34488 80', '34492 80', '34498 80', '34502 80', '34504 80', '34518 80', '34538 80', '34536 80', '34540 80', '34548 80', '34552 80', '34550 80', '34880 80', '34832 80', '34690 80', '34700 80', '34708 80', '34710 80', '34718 80', '34722 80', '34726 80', '34730 80', '34728 80', '34734 80', '34738 80', '34742 80', '34748 80', '34556 80', '34558 80', '34572 80', '34570 80', '34578 80', '34580 80', '34586 80', '34594 80', '34598 80', '34606 80', '34610 80', '34614 80', '34612 80', '34616 80', '34620 80', '34640 80', '34648 80', '34652 80', '34658 80', '34660 80', '34668 80', '34672 80', '34692 80', '34754 80', '34756 80', '34766 80', '34770 80', '34784 80', '34790 80', '34788 80', '34792 80', '34796 80', '34806 80', '34810 80', '34812 80', '34818 80', '34820 80', '34824 80', '34822 80', '34830 80', '34836 80', '34842 80', '34848 80', '34854 80', '34862 80', '34866 80', '34874 80', '34884 80', '34888 80', '34886 80', '34900 80', '34908 80', '34906 80', '34916 80', '34918 80', '34930 80', '34934 80', '34936 80', '34940 80', '35016 80', '35026 80', '35048 80', '35076 80', '35142 80', '35140 80', '35148 80', '35144 80', '35152 80', '35158 80', '35160 80', '35170 80', '34942 80', '34948 80', '34956 80', '34958 80', '34960 80', '34974 80', '34978 80', '34980 80', '34986 80', '34990 80', '34996 80', '35000 80', '35008 80', '35006 80', '35010 80', '35020 80', '35032 80', '35040 80', '35058 80', '35062 80', '35092 80', '35100 80', '35104 80', '35116 80', '35192 80', '35194 80', '35208 80', '35220 80', '35234 80', '35240 80', '35250 80', '35254 80', '35258 80', '35260 80', '35266 80', '35272 80', '35274 80', '35280 80', '35284 80', '35286 80', '35292 80', '35298 80', '35304 80', '35308 80', '35306 80', '35312 80', '35314 80', '35318 80', '35322 80', '35334 80', '35340 80', '35344 80', '35346 80', '35350 80', '35352 80', '35356 80', '35366 80', '35382 80', '35384 80', '35390 80', '35392 80', '35394 80', '35398 80', '35402 80', '35406 80', '35412 80', '35416 80', '35418 80', '35420 80', '35422 80', '35428 80', '35432 80', '35436 80', '35438 80', '35448 80', '35450 80', '35456 80', '35460 80', '35466 80', '35470 80', '35492 80', '35502 80', '35504 80', '35510 80', '35544 80', '35548 80', '35552 80', '35556 80', '35558 80', '35576 80', '35578 80', '35864 80', '35862 80', '35610 80', '35616 80', '35622 80', '35626 80', '35632 80', '35642 80', '35644 80', '35648 80', '35654 80', '35656 80', '35660 80', '35668 80', '35670 80', '35672 80', '35678 80', '35680 80', '35684 80', '35686 80', '35692 80', '35702 80', '35706 80', '35712 80', '35714 80', '35726 80', '35730 80', '35732 80', '35738 80', '35752 80', '35758 80', '35762 80', '35766 80', '35786 80', '35796 80', '35798 80', '35802 80', '35806 80', '35804 80', '35820 80', '35844 80', '35838 80', '35840 80', '35842 80', '35856 80', '35866 80', '35884 80', '35882 80', '35888 80', '35892 80', '35898 80', '35906 80', '35912 80', '35920 80', '35924 80', '35922 80', '35932 80', '35942 80', '35948 80', '35950 80', '35956 80', '35958 80', '35960 80', '35966 80', '35970 80', '36050 80', '36088 80', '36086 80', '36238 80', '36234 80', '36240 80', '36242 80', '36244 80', '36258 80', '35978 80', '35990 80', '36000 80', '36002 80', '36004 80', '36016 80', '36022 80', '36024 80', '36030 80', '36034 80', '36044 80', '36076 80', '36100 80', '36104 80', '36110 80', '36120 80', '36128 80', '36132 80', '36130 80', '36136 80', '36142 80', '36150 80', '36154 80', '36160 80', '36166 80', '36172 80', '36174 80', '36182 80', '36186 80', '36188 80', '36190 80', '36192 80', '36194 80', '36222 80', '36224 80', '36228 80', '36232 80', '36230 80', '36260 80', '36262 80', '36266 80', '36290 80', '36300 80', '36294 80', '36306 80', '36310 80', '36314 80', '36320 80', '36324 80', '36326 80', '36328 80', '36346 80', '36348 80', '36350 80', '36662 80', '36438 80', '36444 80', '36446 80', '36448 80', '36492 80', '36504 80', '36506 80', '36510 80', '36360 80', '36362 80', '36372 80', '36370 80', '36376 80', '36384 80', '36388 80', '36390 80', '36396 80', '36410 80', '36412 80', '36418 80', '36434 80', '36522 80', '36530 80', '36536 80', '36534 80', '36538 80', '36548 80', '36564 80', '36562 80', '36570 80', '36582 80', '36590 80', '36596 80', '36598 80', '36602 80', '36604 80', '36610 80', '36614 80', '36624 80', '36628 80', '36636 80', '36640 80', '36642 80', '36644 80', '36646 80', '36650 80', '36652 80', '36654 80', '36656 80', '36670 80', '36672 80', '36684 80', '36690 80', '36694 80', '36696 80', '36700 80', '36704 80', '36712 80', '36716 80', '36724 80', '36738 80', '36740 80', '36742 80', '37084 80', '37062 80', '36828 80', '36834 80', '36910 80', '36914 80', '36916 80', '36920 80', '36932 80', '36934 80', '36936 80', '36938 80', '36940 80', '36942 80', '36956 80', '36962 80', '36960 80', '36964 80', '36968 80', '36970 80', '36764 80', '36774 80', '36778 80', '36814 80', '36820 80', '36854 80', '36862 80', '36864 80', '36874 80', '36894 80', '36896 80', '36900 80', '36904 80', '36906 80', '36908 80', '36954 80', '36972 80', '36974 80', '36976 80', '36988 80', '36992 80', '36994 80', '36998 80', '37020 80', '37032 80', '37040 80', '37042 80', '37046 80', '37050 80', '37054 80', '37070 80', '37074 80', '37076 80', '37082 80', '37096 80', '37100 80', '37102 80', '37112 80', '37118 80', '37116 80', '37120 80', '37126 80', '37484 80', '37246 80', '37252 80', '37264 80', '37272 80', '37274 80', '37288 80', '37294 80', '37354 80', '37358 80', '37362 80', '37370 80', '37374 80', '37372 80', '37382 80', '37384 80', '37392 80', '37390 80', '37138 80', '37146 80', '37162 80', '37168 80', '37170 80', '37188 80', '37190 80', '37198 80', '37196 80', '37208 80', '37218 80', '37236 80', '37238 80', '37244 80', '37266 80', '37284 80', '37290 80', '37300 80', '37304 80', '37318 80', '37322 80', '37324 80', '37348 80', '37352 80', '37388 80', '37398 80', '37402 80', '37404 80', '37422 80', '37428 80', '37430 80', '37432 80', '37434 80', '37446 80', '37450 80', '37448 80', '37454 80', '37462 80', '37464 80', '37474 80', '37510 80', '37514 80', '37518 80', '37522 80', '37524 80', '37528 80', '37534 80', '37546 80', '37548 80', '37550 80', '37562 80', '37568 80', '37572 80', '37584 80', '37590 80', '37592 80', '37600 80', '37602 80', '37604 80', '37610 80', '37624 80', '37628 80', '37632 80', '37634 80', '37650 80', '37876 80', '37680 80', '37872 80', '37686 80', '37896 80', '37696 80', '37708 80', '37906 80', '37712 80', '37716 80', '37914 80', '37722 80', '37724 80', '37738 80', '37938 80', '37740 80', '37946 80', '37746 80', '37950 80', '37748 80', '37954 80', '37758 80', '37968 80', '37762 80', '37928 80', '37766 80', '37776 80', '37782 80', '37784 80', '37800 80', '37804 80', '37830 80', '37832 80', '37844 80', '37858 80', '37866 80', '37730 80', '37732 80', '37734 80', '37742 80', '37756 80', '37778 80', '37794 80', '37856 80', '37892 80', '37932 80', '37936 80', '37952 80', '37956 80', '37962 80', '37964 80', '37984 80', '37982 80', '38044 80', '38002 80', '37996 80', '37986 80', '37978 80', '37992 80', '38024 80', '37972 80', '38060 80', '38072 80', '38056 80', '38134 80', '38098 80', '38086 80', '38154 80', '38074 80', '38068 80', '38118 80', '38116 80', '38128 80', '38212 80', '38146 80', '38092 80', '38054 80', '38112 80', '38124 80', '38096 80', '38144 80', '38108 80', '38428 80', '38176 80', '38186 80', '38078 80', '38200 80', '38188 80', '38224 80', '38226 80', '38236 80', '38270 80', '38276 80', '38280 80', '38282 80', '38286 80', '38296 80', '38300 80', '38306 80', '38320 80', '38316 80', '38324 80', '38328 80', '38354 80', '38350 80', '38342 80', '38344 80', '38352 80', '38362 80', '38360 80', '38366 80', '38382 80', '38380 80', '38388 80', '38392 80', '38394 80', '38398 80', '38410 80', '38412 80', '38422 80', '38432 80', '38430 80', '38650 80', '38572 80', '38576 80', '38574 80', '38578 80', '38580 80', '38586 80', '38596 80', '38598 80', '38604 80', '38602 80', '38606 80', '38610 80', '38616 80', '38634 80', '38646 80', '38652 80', '38656 80', '38660 80', '38664 80', '38666 80', '38668 80', '38678 80', '38676 80', '38684 80', '38686 80', '38700 80', '38704 80', '38718 80', '38716 80', '38742 80', '38750 80', '38760 80', '38758 80', '38770 80', '38772 80', '38774 80', '38788 80', '38794 80', '38798 80', '38434 80', '38436 80', '38442 80', '38452 80', '38450 80', '38468 80', '38466 80', '38464 80', '38474 80', '38498 80', '38508 80', '38526 80', '38518 80', '38536 80', '38534 80', '38538 80', '38542 80', '38540 80', '38550 80', '38554 80', '38556 80', '38564 80', '38822 80', '38824 80', '38828 80', '38830 80', '38844 80', '38852 80', '38864 80', '38870 80', '38872 80', '38876 80', '38874 80', '38880 80', '38886 80', '38888 80', '38892 80', '38894 80', '38906 80', '38916 80', '38920 80', '38924 80', '38932 80', '38934 80', '38942 80', '38960 80', '38962 80', '38964 80', '38968 80', '38976 80', '38978 80', '38982 80', '39006 80', '39018 80', '39022 80', '39030 80', '39038 80', '39050 80', '39056 80', '39058 80', '39064 80', '39072 80', '39078 80', '39080 80', '39086 80', '39092 80', '39098 80', '39120 80', '39124 80', '39126 80', '39132 80', '39130 80', '39136 80', '39138 80', '39140 80', '39148 80', '39152 80', '39172 80', '39174 80', '39196 80', '39200 80', '39418 80', '39408 80', '39206 80', '39210 80', '39214 80', '39230 80', '39238 80', '39244 80', '39246 80', '39254 80', '39262 80', '39272 80', '39284 80', '39286 80', '39300 80', '39308 80', '39314 80', '39324 80', '39328 80', '39332 80', '39336 80', '39338 80', '39350 80', '39358 80', '39364 80', '39368 80', '39372 80', '39370 80', '39376 80', '39384 80', '39386 80', '39388 80', '39394 80', '39396 80', '39406 80', '39424 80', '39442 80', '39466 80', '39470 80', '39476 80', '39482 80', '39484 80', '39488 80', '39494 80', '39498 80', '39500 80', '39504 80', '39508 80', '39516 80', '39518 80', '39528 80', '39532 80', '39536 80', '39534 80', '39542 80', '39546 80', '39554 80', '39552 80', '39564 80', '39578 80', '39582 80', '39584 80', '39586 80', '39600 80', '39606 80', '39614 80', '39622 80', '39626 80', '39640 80', '39650 80', '39652 80', '39664 80', '39672 80', '39676 80', '39680 80', '39686 80', '39688 80', '39692 80', '39706 80', '39722 80', '39740 80', '39746 80', '39762 80', '39764 80', '39772 80', '48628 80', '48636 80', '48652 80', '48662 80', '48664 80', '48668 80', '48670 80', '48694 80', '48700 80', '48702 80', '48706 80', '48724 80', '48720 80', '48722 80', '48726 80', '48730 80', '48732 80', '48736 80', '48738 80', '48740 80', '48752 80', '48756 80', '48760 80', '48764 80', '48770 80', '48778 80', '48780 80', '48782 80', '48788 80', '48790 80', '48794 80', '48796 80', '48798 80', '48806 80', '48812 80', '48818 80', '48824 80', '48828 80', '48834 80', '48840 80', '48848 80', '48852 80', '48862 80', '48868 80', '48870 80', '48874 80', '48882 80', '48894 80', '48898 80', '48912 80', '48914 80', '48902 80', '48918 80', '48922 80', '48928 80', '48930 80', '48940 80', '48952 80', '48962 80', '48972 80', '48986 80', '48990 80', '48988 80', '49000 80', '49002 80', '49008 80', '49006 80', '49016 80', '49022 80', '49032 80', '49042 80', '49046 80', '49050 80', '49058 80', '49086 80', '49316 80', '49094 80', '49104 80', '49114 80', '49120 80', '49126 80', '49124 80', '49132 80', '49140 80', '49154 80', '49152 80', '49164 80', '49168 80', '49176 80', '49184 80', '49188 80', '49192 80', '49198 80', '49200 80', '49204 80', '49206 80', '49210 80', '49214 80', '49218 80', '49222 80', '49228 80', '49226 80', '49232 80', '49238 80', '49242 80', '49252 80', '49266 80', '49264 80', '49268 80', '49270 80', '49276 80', '49288 80', '49290 80', '49302 80', '49308 80', '49326 80', '49330 80', '49346 80', '49356 80', '49364 80', '49372 80', '49384 80', '49390 80', '49392 80', '49394 80', '49402 80', '49408 80', '49414 80', '49418 80', '49424 80', '49430 80', '49432 80', '49436 80', '49468 80', '49476 80', '49478 80', '49674 80', '49676 80', '49666 80', '49724 80', '49728 80', '49756 80', '49480 80', '49482 80', '49484 80', '49500 80', '49502 80', '49506 80', '49528 80', '49526 80', '49530 80', '49538 80', '49550 80', '49554 80', '49560 80', '49570 80', '49572 80', '49578 80', '49582 80', '49594 80', '49598 80', '49610 80', '49608 80', '49618 80', '49622 80', '49624 80', '49634 80', '49636 80', '49644 80', '49654 80', '49656 80', '49658 80', '49660 80', '49670 80', '49678 80', '49680 80', '49684 80', '49692 80', '49704 80', '49710 80', '49712 80', '49718 80', '49720 80', '49730 80', '49734 80', '49738 80', '49754 80', '49760 80', '49758 80', '49762 80', '49766 80', '49778 80', '49780 80', '49784 80', '49792 80', '49794 80', '49798 80', '49802 80', '49808 80', '49810 80', '49816 80', '49820 80', '49826 80', '49828 80', '49836 80', '49834 80', '49844 80', '49842 80', '49850 80', '49852 80', '49860 80', '50062 80', '50064 80', '49874 80', '49876 80', '49878 80', '49880 80', '49884 80', '49886 80', '49896 80', '49906 80', '49912 80', '49914 80', '49916 80', '49920 80', '49924 80', '49944 80', '49946 80', '49952 80', '49956 80', '49960 80', '49970 80', '49988 80', '50002 80', '50006 80', '50012 80', '50010 80', '50016 80', '50018 80', '50022 80', '50024 80', '50028 80', '50034 80', '50032 80', '50036 80', '50050 80', '50048 80', '50046 80', '50056 80', '50052 80', '50058 80', '50066 80', '50072 80', '50088 80', '50096 80', '50090 80', '50108 80', '50112 80', '50110 80', '50116 80', '50120 80', '50124 80', '50136 80', '50138 80', '50144 80', '50148 80', '50146 80', '50152 80', '50158 80', '50164 80', '50166 80', '50168 80', '50176 80', '50180 80', '50186 80', '50184 80', '50190 80', '50192 80', '50198 80', '50196 80', '50212 80', '50224 80', '50236 80', '50242 80', '50246 80', '50250 80', '50490 80', '50492 80', '50520 80', '50544 80', '50572 80', '50578 80', '50260 80', '50264 80', '50280 80', '50282 80', '50284 80', '50294 80', '50292 80', '50304 80', '50302 80', '50312 80', '50328 80', '50338 80', '50336 80', '50340 80', '50342 80', '50344 80', '50346 80', '50350 80', '50370 80', '50372 80', '50376 80', '50386 80', '50392 80', '50394 80', '50396 80', '50406 80', '50412 80', '50418 80', '50422 80', '50426 80', '50430 80', '50428 80', '50434 80', '50444 80', '50450 80', '50460 80', '50464 80', '50466 80', '50478 80', '50500 80', '50502 80', '50524 80', '50526 80', '50528 80', '50538 80', '50552 80', '50554 80', '50566 80', '50580 80', '50584 80', '50586 80', '50596 80', '50594 80', '50600 80', '50608 80', '50612 80', '50616 80', '50614 80', '50618 80', '50632 80', '50636 80', '50644 80', '50654 80', '50656 80', '50686 80', '50752 80', '50750 80', '50754 80', '50758 80', '50774 80', '50780 80', '50794 80', '50796 80', '50802 80', '50790 80', '50818 80', '50824 80', '50836 80', '50832 80', '50848 80', '50852 80', '50864 80', '50874 80', '50882 80', '50886 80', '50888 80', '50904 80', '50910 80', '50914 80', '50924 80', '50920 80', '50934 80', '50938 80', '50964 80', '50968 80', '50974 80', '50954 80', '50952 80', '50970 80', '50988 80', '50986 80', '50994 80', '51000 80', '50996 80', '51004 80', '51018 80', '51024 80', '51038 80', '51044 80', '51034 80', '51030 80', '51052 80', '51050 80', '51072 80', '51108 80', '51106 80', '51112 80', '51120 80', '51118 80', '51124 80', '51132 80', '51138 80', '51146 80', '51152 80', '51148 80', '51150 80', '51154 80', '51180 80', '51170 80', '51178 80', '51182 80', '51184 80', '51190 80', '51198 80', '51200 80', '51210 80', '51204 80', '51206 80', '51208 80', '51222 80', '51224 80', '51226 80', '51230 80', '51234 80', '51232 80', '51238 80', '51246 80', '51250 80', '51252 80', '51276 80', '51290 80', '51300 80', '51336 80', '51346 80', '51366 80', '51390 80', '51376 80', '51410 80', '51430 80', '51436 80', '51438 80', '51444 80', '51460 80', '51462 80', '51480 80', '51476 80', '51490 80', '51546 80', '51544 80', '51568 80', '51580 80', '51578 80', '51602 80', '51612 80', '51620 80', '51684 80', '51736 80', '51758 80', '51774 80', '51776 80', '51764 80', '51792 80', '51760 80', '51852 80', '51858 80', '51854 80', '51872 80', '51878 80', '51884 80', '51918 80', '51932 80', '51958 80', '51972 80', '51992 80', '52030 80', '52056 80', '52066 80', '52082 80', '52096 80', '52052 80', '52108 80', '52150 80', '52158 80', '52174 80', '52190 80', '51256 80', '52202 80', '52194 80', '52222 80', '52248 80', '52296 80', '52336 80', '51404 80', '52348 80', '52356 80', '52382 80', '52448 80', '52454 80', '52482 80', '52484 80', '51586 80', '52492 80', '52494 80', '52498 80', '52502 80', '51636 80', '52496 80', '51650 80', '51664 80', '52514 80', '52518 80', '51708 80', '51714 80', '52544 80', '52546 80', '52558 80', '51766 80', '52580 80', '52584 80', '52598 80', '51868 80', '52600 80', '51892 80', '52626 80', '52624 80', '52638 80', '52642 80', '52640 80', '52646 80', '52668 80', '52670 80', '52676 80', '52674 80', '52686 80', '52690 80', '52694 80', '52700 80', '52704 80', '52702 80', '52718 80', '52722 80', '52728 80', '52734 80', '52736 80', '52740 80', '51262 80', '51280 80', '51260 80', '52750 80', '51270 80', '51302 80', '52774 80', '52788 80', '52794 80', '52798 80', '51400 80', '51482 80', '52414 80', '52428 80', '51500 80', '52854 80', '52886 80', '52888 80', '52510 80', '51644 80', '52912 80', '52918 80', '52920 80', '52928 80', '52926 80', '51702 80', '52940 80', '52548 80', '52946 80', '52958 80', '52956 80', '51784 80', '52964 80', '51780 80', '51782 80', '52974 80', '52988 80', '52990 80', '53000 80', '52992 80', '52994 80', '53010 80', '53008 80', '52616 80', '53026 80', '53038 80', '53066 80', '53086 80', '53084 80', '53090 80', '53088 80', '53094 80', '53100 80', '53104 80', '53116 80', '53112 80', '53126 80', '53128 80', '53132 80', '53130 80', '52748 80', '53136 80', '52756 80', '53142 80', '53140 80', '53144 80', '52760 80', '53162 80', '53168 80', '53190 80', '52790 80', '52342 80', '53222 80', '52842 80', '52412 80', '52914 80', '52908 80', '52934 80', '52952 80', '52976 80', '52978 80', '52630 80', '51284 80', '51288 80', '51282 80', '53158 80', '53172 80', '51398 80', '51396 80', '51674 80', '51682 80', '51306 80', '51886 80', '51882 80', '51426 80', '51416 80', '51450 80', '51528 80', '51526 80', '51562 80', '51728 80', '51744 80', '51754 80', '51808 80', '51844 80', '51846 80', '51912 80', '51986 80', '51970 80', '52076 80', '52088 80', '52100 80', '52106 80', '52130 80', '52152 80', '52246 80', '51352 80', '52288 80', '52304 80', '51424 80', '51434 80', '51448 80', '52392 80', '52400 80', '52438 80', '51534 80', '51542 80', '52458 80', '52530 80', '51746 80', '51938 80', '51944 80', '51942 80', '51960 80', '52074 80', '52072 80', '52124 80', '52114 80', '51328 80', '52234 80', '52284 80', '52380 80', '52378 80', '52982 80', '53036 80', '51982 80', '53044 80', '52058 80', '52766 80', '53198 80', '52396 80', '52960 80', '51316 80', '51988 80', '52166 80', '52156 80', '52164 80', '52422 80', '52656 80', '51510 80', '51834 80', '52048 80', '52040 80', '52038 80', '52090 80', '52050 80', '52094 80', '52104 80', '52198 80', '52212 80', '52214 80', '52216 80', '52266 80', '52250 80', '52272 80', '52278 80', '52312 80', '52376 80', '52418 80', '52440 80', '52436 80', '52430 80', '52450 80', '52478 80', '52776 80', '52814 80', '52772 80', '52856 80', '51624 80', '53192 80', '51134 80', '51672 80', '51710 80', '51828 80', '51888 80', '51166 80', '52238 80', '51006 80', '53232 80', '53234 80', '53240 80', '53250 80', '53266 80', '53278 80', '53280 80', '53304 80', '53300 80', '53318 80', '53322 80', '53342 80', '53348 80', '53350 80', '53352 80', '53356 80', '53406 80', '53416 80', '53696 80', '53698 80', '53722 80', '53374 80', '53386 80', '53706 80', '54104 80', '54108 80', '54124 80', '54132 80', '54134 80', '54332 80', '54490 80', '53704 80', '53380 80', '55936 80', '55930 80', '55942 80', '55950 80', '55962 80', '55948 80', '55958 80', '55970 80', '56020 80', '55996 80', '56024 80', '56028 80', '57314 80', '57334 80', '57408 80', '56382 80', '57636 80', '56398 80', '57796 80', '57806 80', '57834 80', '56384 80', '58056 80', '58098 80', '58178 80', '58612 80', '58614 80', '58618 80', '58620 80', '58818 80', '58826 80', '58828 80', '58838 80', '58848 80', '58846 80', '58856 80', '58858 80', '58864 80', '58482 80', '58896 80', '58622 80', '59068 80', '59072 80', '59078 80', '59268 80', '59290 80', '59004 80', '59264 80', '59648 80', '59266 80', '58882 80', '58634 80', '58886 80', '58902 80', '59778 80', '60534 80', '35526 80', '35530 80', '35528 80', '35518 80', '37614 80', '33370 80', '33364 80', '33366 80', '39682 80', '39678 80', '39832 80', '39844 80', '39848 80', '39852 80', '39864 80', '39874 80', '39880 80', '39894 80', '39900 80', '39902 80', '39910 80', '39918 80', '39946 80', '39950 80', '39948 80', '39954 80', '39958 80', '39962 80', '39960 80', '39982 80', '39994 80', '39996 80', '40014 80', '40028 80', '40058 80', '40064 80', '40062 80', '40072 80', '40082 80', '40084 80', '40102 80', '40116 80', '40144 80', '40148 80', '40146 80', '40156 80', '40172 80', '40182 80', '40188 80', '40194 80', '40198 80', '40200 80', '40202 80', '40206 80', '39898 80', '40220 80', '40226 80', '40228 80', '40230 80', '40236 80', '40242 80', '40240 80', '40246 80', '40250 80', '40256 80', '40258 80', '40262 80', '40270 80', '40280 80', '40282 80', '40288 80', '39984 80', '40302 80', '40292 80', '40308 80', '40330 80', '40318 80', '40338 80', '40340 80', '40348 80', '40038 80', '40356 80', '40354 80', '40352 80', '40046 80', '40364 80', '40368 80', '40398 80', '40402 80', '40406 80', '40408 80', '40414 80', '40422 80', '40428 80', '40430 80', '40458 80', '39812 80', '40482 80', '40484 80', '40152 80', '40490 80', '40502 80', '40504 80', '40526 80', '40528 80', '40538 80', '40546 80', '40548 80', '40570 80', '40568 80', '40264 80', '40608 80', '40324 80', '40090 80', '40132 80', '40486 80', '40276 80', '40278 80', '39828 80', '39842 80', '39912 80', '39966 80', '39972 80', '40012 80', '40266 80', '40176 80', '40234 80', '40296 80', '40298 80', '40508 80', '40522 80', '40304 80', '40384 80', '40586 80', '40390 80', '39796 80', '39792 80', '39914 80', '40004 80', '40040 80', '40114 80', '40618 80', '40620 80', '40628 80', '40632 80', '40670 80', '40692 80', '40722 80', '40730 80', '40740 80', '40756 80', '40748 80', '40754 80', '40768 80', '40776 80', '40794 80', '40802 80', '40800 80', '40806 80', '40826 80', '40832 80', '40846 80', '40852 80', '40860 80', '40868 80', '40876 80', '40874 80', '40898 80', '40912 80', '40934 80', '40950 80', '40952 80', '40956 80', '40648 80', '40980 80', '41004 80', '41008 80', '41026 80', '41030 80', '41040 80', '40710 80', '41046 80', '41066 80', '40750 80', '41072 80', '41086 80', '40770 80', '41098 80', '40772 80', '40778 80', '41128 80', '41126 80', '41140 80', '41148 80', '41120 80', '41146 80', '41150 80', '41152 80', '40838 80', '41172 80', '41170 80', '41168 80', '41176 80', '41178 80', '41210 80', '41224 80', '41220 80', '41230 80', '40922 80', '41240 80', '41242 80', '41264 80', '41268 80', '41288 80', '41314 80', '41318 80', '41320 80', '41328 80', '41332 80', '41334 80', '40698 80', '41032 80', '41016 80', '41336 80', '41340 80', '41342 80', '41348 80', '41088 80', '41378 80', '41382 80', '41384 80', '41386 80', '41392 80', '41400 80', '41410 80', '41420 80', '41430 80', '41444 80', '41464 80', '41154 80', '41482 80', '41504 80', '41512 80', '41514 80', '41526 80', '41524 80', '41530 80', '41536 80', '41538 80', '41546 80', '41238 80', '41568 80', '40976 80', '41582 80', '41602 80', '41604 80', '41628 80', '41632 80', '41634 80', '41626 80', '41642 80', '41636 80', '41644 80', '41650 80', '41654 80', '41662 80', '41676 80', '41678 80', '41702 80', '41710 80', '41716 80', '41724 80', '41746 80', '41768 80', '41762 80', '41468 80', '41780 80', '41778 80', '41782 80', '41800 80', '41798 80', '41796 80', '41810 80', '41804 80', '41808 80', '41814 80', '41520 80', '41822 80', '41838 80', '41842 80', '41844 80', '41860 80', '41552 80', '41858 80', '41856 80', '41876 80', '41890 80', '41900 80', '41930 80', '41942 80', '41946 80', '41944 80', '41956 80', '41982 80', '41998 80', '42006 80', '42008 80', '42024 80', '42030 80', '41738 80', '41732 80', '40614 80', '41478 80', '40734 80', '41870 80', '41968 80', '41110 80', '41106 80', '40616 80', '40982 80', '41848 80', '41236 80', '41054 80', '41056 80', '41104 80', '41122 80', '40858 80', '40856 80', '41966 80', '41970 80', '41344 80', '41360 80', '41428 80', '41260 80', '41256 80', '41298 80', '41534 80', '40724 80', '41434 80', '41496 80', '41498 80', '41544 80', '41580 80', '41590 80', '41594 80', '41306 80', '41700 80', '41708 80', '41452 80', '41754 80', '41446 80', '41788 80', '41812 80', '41868 80', '41888 80', '41894 80', '42018 80', '41898 80', '41906 80', '41908 80', '41912 80', '41918 80', '41994 80', '40904 80', '40906 80', '42036 80', '40798 80', '41290 80', '41646 80', '40462 80', '42078 80', '42084 80', '42100 80', '42112 80', '42114 80', '42116 80', '42122 80', '42128 80', '42136 80', '42140 80', '42142 80', '42152 80', '42156 80', '42154 80', '42160 80', '42186 80', '42192 80', '42200 80', '42204 80', '42208 80', '42240 80', '42258 80', '42264 80', '42276 80', '42274 80', '42278 80', '42282 80', '42288 80', '42292 80', '42294 80', '42322 80', '42336 80', '42340 80', '42358 80', '42370 80', '42368 80', '42374 80', '42390 80', '42392 80', '42398 80', '42404 80', '42412 80', '42424 80', '42434 80', '42148 80', '42444 80', '42454 80', '42466 80', '42494 80', '42500 80', '42502 80', '42506 80', '42514 80', '42516 80', '42536 80', '42560 80', '42548 80', '42286 80', '42576 80', '42582 80', '42606 80', '42598 80', '42342 80', '42648 80', '42676 80', '42682 80', '42686 80', '42724 80', '42732 80', '42764 80', '42760 80', '42436 80', '42774 80', '42786 80', '42798 80', '42804 80', '42802 80', '42808 80', '42814 80', '42788 80', '42828 80', '42822 80', '42490 80', '42850 80', '42866 80', '42542 80', '42622 80', '42616 80', '42662 80', '42674 80', '42692 80', '42718 80', '42710 80', '42844 80', '42852 80', '42846 80', '42080 80', '42050 80', '42054 80', '42162 80', '42170 80', '42238 80', '42316 80', '42324 80', '42458 80', '42474 80', '42568 80', '42554 80', '42562 80', '42574 80', '42630 80', '42702 80', '42698 80', '42706 80', '42734 80', '42746 80', '42744 80', '42856 80', '42132 80', '42330 80', '43664 80', '43668 80', '43678 80', '43666 80', '43676 80', '43672 80', '43674 80', '43690 80', '43698 80', '43702 80', '43706 80', '43712 80', '43708 80', '43718 80', '43722 80', '43730 80', '43736 80', '43746 80', '43744 80', '43750 80', '43756 80', '43772 80', '43786 80', '43792 80', '43798 80', '43804 80', '43806 80', '43810 80', '43812 80', '43820 80', '43822 80', '43828 80', '43836 80', '43838 80', '43842 80', '43834 80', '43850 80', '43852 80', '43854 80', '43858 80', '43864 80', '43870 80', '43874 80', '43876 80', '43878 80', '43900 80', '43896 80', '43902 80', '43906 80', '43912 80', '43916 80', '43914 80', '43920 80', '43922 80', '43924 80', '43932 80', '43942 80', '43934 80', '43946 80', '43952 80', '43954 80', '43960 80', '43974 80', '43982 80', '43986 80', '43984 80', '43990 80', '43998 80', '44006 80', '44010 80', '44012 80', '44004 80', '44016 80', '44022 80', '44030 80', '44040 80', '44042 80', '44046 80', '44050 80', '44048 80', '44060 80', '44058 80', '44072 80', '44076 80', '44078 80', '44084 80', '44090 80', '44100 80', '44110 80', '44120 80', '44118 80', '44124 80', '44130 80', '44136 80', '44138 80', '44150 80', '44156 80', '44166 80', '44170 80', '44172 80', '44196 80', '44200 80', '44202 80', '44204 80', '44208 80', '44206 80', '44210 80', '44224 80', '44222 80', '44232 80', '44230 80', '44264 80', '44266 80', '44276 80', '44282 80', '44280 80', '44284 80', '44288 80', '44290 80', '44306 80', '44308 80', '44314 80', '44318 80', '44326 80', '44328 80', '44330 80', '44336 80', '44340 80', '44346 80', '44350 80', '44360 80', '44366 80', '44362 80', '44376 80', '44394 80', '44410 80', '44420 80', '44422 80', '44424 80', '44442 80', '44450 80', '44456 80', '44460 80', '44458 80', '44466 80', '44470 80', '44472 80', '44474 80', '44482 80', '44478 80', '44488 80', '44492 80', '44496 80', '44506 80', '44512 80', '44508 80', '44514 80', '44510 80', '44516 80', '44522 80', '44520 80', '44528 80', '44530 80', '44556 80', '44562 80', '44566 80', '44574 80', '44578 80', '44580 80', '44588 80', '44602 80', '44596 80', '44600 80', '44598 80', '44612 80', '44634 80', '44638 80', '44644 80', '44650 80', '44660 80', '44664 80', '44668 80', '44678 80', '44676 80', '44682 80', '44686 80', '44708 80', '44706 80', '44712 80', '44716 80', '44722 80', '44730 80', '44732 80', '44734 80', '44748 80', '44756 80', '44760 80', '44772 80', '44774 80', '44782 80', '44784 80', '44788 80', '44790 80', '44812 80', '44808 80', '44820 80', '44824 80', '44832 80', '44830 80', '44836 80', '44846 80', '44844 80', '44852 80', '44854 80', '44866 80', '44872 80', '44876 80', '44886 80', '44894 80', '44900 80', '44904 80', '44912 80', '44922 80', '44926 80', '44936 80', '44934 80', '44940 80', '44950 80', '44960 80', '44968 80', '44962 80', '44966 80', '44974 80', '44976 80', '44984 80', '44990 80', '44992 80', '45002 80', '44996 80', '44994 80', '45010 80', '45016 80', '45014 80', '45024 80', '45028 80', '45036 80', '45068 80', '45058 80', '45084 80', '45110 80', '45122 80', '45130 80', '45132 80', '45146 80', '45144 80', '45150 80', '44432 80', '45082 80', '45158 80', '45156 80', '45160 80', '45162 80', '45176 80', '45174 80', '45186 80', '45192 80', '45190 80', '45198 80', '45202 80', '45206 80', '45216 80', '45218 80', '45228 80', '45242 80', '45236 80', '45244 80', '45246 80', '45254 80', '45250 80', '45258 80', '45274 80', '45280 80', '45288 80', '45300 80', '45306 80', '45304 80', '45314 80', '45318 80', '45338 80', '45348 80', '45356 80', '45354 80', '45368 80', '45372 80', '45370 80', '45378 80', '45384 80', '45386 80', '45376 80', '45422 80', '45424 80', '45438 80', '45456 80', '45454 80', '45476 80', '45472 80', '45484 80', '45488 80', '45496 80', '45498 80', '45504 80', '45508 80', '45506 80', '45518 80', '45512 80', '45522 80', '45528 80', '45538 80', '45542 80', '45550 80', '45558 80', '45568 80', '45566 80', '45572 80', '45584 80', '45586 80', '45590 80', '45596 80', '45592 80', '45612 80', '45618 80', '45616 80', '45606 80', '45620 80', '45632 80', '45658 80', '45660 80', '45664 80', '45668 80', '45670 80', '45678 80', '45684 80', '45690 80', '45704 80', '45706 80', '45710 80', '45714 80', '45720 80', '45728 80', '45730 80', '45732 80', '45744 80', '45746 80', '45752 80', '45762 80', '45766 80', '45774 80', '45772 80', '45778 80', '45784 80', '45786 80', '45790 80', '45796 80', '45794 80', '45808 80', '45814 80', '45818 80', '45822 80', '45830 80', '45828 80', '45838 80', '45834 80', '45848 80', '45854 80', '45856 80', '45872 80', '45868 80', '45864 80', '45858 80', '45884 80', '45882 80', '45880 80', '45896 80', '45908 80', '45910 80', '45914 80', '45922 80', '45948 80', '45946 80', '45962 80', '45964 80', '45970 80', '45972 80', '45978 80', '45986 80', '45994 80', '46000 80', '46004 80', '46016 80', '46024 80', '46040 80', '46038 80', '46046 80', '46044 80', '46050 80', '46058 80', '46064 80', '46076 80', '46074 80', '46060 80', '46090 80', '46092 80', '46104 80', '46112 80', '46120 80', '46124 80', '46134 80', '46160 80', '46166 80', '46174 80', '46182 80', '46178 80', '46190 80', '46188 80', '46196 80', '46200 80', '46216 80', '46218 80', '46222 80', '46226 80', '46224 80', '46234 80', '46248 80', '46252 80', '46260 80', '46262 80', '46264 80', '46274 80', '46276 80', '46280 80', '46286 80', '46296 80', '46294 80', '42894 80', '42892 80', '42900 80', '42926 80', '42910 80', '42908 80', '42898 80', '46298 80', '46310 80', '46318 80', '42936 80', '42950 80', '46330 80', '46328 80', '46326 80', '42948 80', '46340 80', '46346 80', '42954 80', '42968 80', '42966 80', '42964 80', '42988 80', '42978 80', '42976 80', '42974 80', '42960 80', '46370 80', '46368 80', '46378 80', '42994 80', '43006 80', '46386 80', '46390 80', '46388 80', '46396 80', '46400 80', '46398 80', '43026 80', '46432 80', '46444 80', '46452 80', '46462 80', '43114 80', '46470 80', '46472 80', '46480 80', '43088 80', '46482 80', '46486 80', '46478 80', '46492 80', '46516 80', '46524 80', '43152 80', '43142 80', '43148 80', '43166 80', '46542 80', '46540 80', '43204 80', '43184 80', '46564 80', '46570 80', '46580 80', '46578 80', '46582 80', '43212 80', '43230 80', '46594 80', '46606 80', '46628 80', '46642 80', '43300 80', '46654 80', '46662 80', '46664 80', '46666 80', '46668 80', '46678 80', '46682 80', '46690 80', '46696 80', '46692 80', '46698 80', '46700 80', '43328 80', '46708 80', '46714 80', '46716 80', '46722 80', '46724 80', '46728 80', '46730 80', '46736 80', '46740 80', '46752 80', '46754 80', '46748 80', '46756 80', '46766 80', '46768 80', '46782 80', '46780 80', '43042 80', '46812 80', '46816 80', '46828 80', '46836 80', '46840 80', '43086 80', '43080 80', '46850 80', '43352 80', '46488 80', '46894 80', '46896 80', '46902 80', '46912 80', '46910 80', '43154 80', '46932 80', '46930 80', '46938 80', '46946 80', '43200 80', '43194 80', '46562 80', '43224 80', '46560 80', '46958 80', '46964 80', '46970 80', '43218 80', '43234 80', '43238 80', '46982 80', '43262 80', '47002 80', '43256 80', '43298 80', '42998 80', '46774 80', '43036 80', '43028 80', '46866 80', '46916 80', '43180 80', '43214 80', '43232 80', '43264 80', '46616 80', '43272 80', '43104 80', '43090 80', '43112 80', '43094 80', '43240 80', '43268 80', '43296 80', '46450 80', '46454 80', '46498 80', '46494 80', '46552 80', '46592 80', '46854 80', '46852 80', '46796 80', '46834 80', '46880 80', '46882 80', '46884 80', '46890 80', '46886 80', '46940 80', '46990 80', '43000 80', '46382 80', '43024 80', '43020 80', '43066 80', '43062 80', '43070 80', '43312 80', '43314 80', '43310 80', '43332 80', '43334 80', '43378 80', '43302 80', '43308 80', '43336 80', '43138 80', '43064 80', '43136 80', '43344 80', '43376 80', '43338 80', '43134 80', '43342 80', '43346 80', '43360 80', '43358 80', '43356 80', '43362 80', '45866 80', '46512 80', '45560 80', '47026 80', '47034 80', '47050 80', '47054 80', '47060 80', '47058 80', '47068 80', '47078 80', '47084 80', '43398 80', '43396 80', '47086 80', '47090 80', '47094 80', '47096 80', '47102 80', '47112 80', '47114 80', '43402 80', '47124 80', '47134 80', '47128 80', '47138 80', '47144 80', '47154 80', '47148 80', '47150 80', '47180 80', '47200 80', '47214 80', '47234 80', '47238 80', '43420 80', '47240 80', '47250 80', '47264 80', '47274 80', '47300 80', '47310 80', '47308 80', '47318 80', '47324 80', '47338 80', '43428 80', '47368 80', '47390 80', '47394 80', '47406 80', '47408 80', '47414 80', '47418 80', '47420 80', '47426 80', '47424 80', '47428 80', '47444 80', '47454 80', '47468 80', '47496 80', '47492 80', '47506 80', '47520 80', '47528 80', '47536 80', '47538 80', '43462 80', '43458 80', '47542 80', '47544 80', '47546 80', '47178 80', '47570 80', '47558 80', '47574 80', '47578 80', '47588 80', '43472 80', '43480 80', '47606 80', '47612 80', '47628 80', '43418 80', '47634 80', '47256 80', '47648 80', '47652 80', '47668 80', '47676 80', '47684 80', '47690 80', '47692 80', '47694 80', '47714 80', '47316 80', '43500 80', '47334 80', '47726 80', '47732 80', '47740 80', '47748 80', '43432 80', '47752 80', '47756 80', '47360 80', '47762 80', '47374 80', '47376 80', '43512 80', '47786 80', '47784 80', '47792 80', '47804 80', '47814 80', '47432 80', '47828 80', '47834 80', '47830 80', '47876 80', '47882 80', '47886 80', '47892 80', '47894 80', '47898 80', '47904 80', '47906 80', '47908 80', '47912 80', '47914 80', '47918 80', '47920 80', '47928 80', '43460 80', '47944 80', '47948 80', '47172 80', '47946 80', '47562 80', '47954 80', '43550 80', '47958 80', '47968 80', '47978 80', '47980 80', '47598 80', '47602 80', '47646 80', '47660 80', '47262 80', '47720 80', '47332 80', '47724 80', '47788 80', '47812 80', '47442 80', '47902 80', '43546 80', '43542 80', '47956 80', '47960 80', '47962 80', '47024 80', '47030 80', '47038 80', '47062 80', '47162 80', '47176 80', '47206 80', '47266 80', '47340 80', '47342 80', '47388 80', '47466 80', '47464 80', '47478 80', '47486 80', '47564 80', '47584 80', '47568 80', '47626 80', '47674 80', '47840 80', '47846 80', '47838 80', '43442 80', '43450 80', '43470 80', '43484 80', '43506 80', '43524 80', '43446 80', '43444 80', '43434 80', '43528 80', '47312 80', '47992 80', '47982 80', '47984 80', '48004 80', '48006 80', '48060 80', '48038 80', '48034 80', '48048 80', '48046 80', '48042 80', '48044 80', '48078 80', '48066 80', '48082 80', '48084 80', '48062 80', '48102 80', '48098 80', '48100 80', '48090 80', '48114 80', '48106 80', '48142 80', '48146 80', '48172 80', '48180 80', '48154 80', '48158 80', '48150 80', '50666 80', '48184 80', '50678 80', '48196 80', '48204 80', '48210 80', '50694 80', '50698 80', '50706 80', '48224 80', '48216 80', '48218 80', '48212 80', '50732 80', '48258 80', '48272 80', '48280 80', '48386 80', '48388 80', '48422 80', '48448 80', '48446 80', '48480 80', '48244 80', '48250 80', '48286 80', '48492 80', '48496 80', '48328 80', '48350 80', '48440 80', '48316 80', '48326 80', '48420 80', '48406 80', '48432 80', '48426 80', '48330 80', '48296 80', '48304 80', '48290 80', '48312 80', '48298 80', '48346 80', '48358 80', '48368 80', '48458 80', '48460 80', '48526 80', '48522 80', '48332 80', '48552 80', '48570 80', '48558 80', '48614 80', '48568 80', '48604 80', '43580 80', '43582 80', '43588 80', '43590 80', '43568 80', '43558 80', '43564 80', '48548 80', '48560 80', '48582 80', '48580 80', '43608 80', '43610 80', '43612 80', '43618 80', '43656 80', '43658 80', '43654 80', '43648 80', '43662 80']
    GoldenEye=['58160 80', '58192 80', '58202 80', '58210 80', '58216 80', '58220 80', '58238 80', '58242 80', '58244 80', '58272 80', '58320 80', '58324 80', '58330 80', '58344 80', '58358 80', '58362 80', '58366 80', '58368 80', '58376 80', '58380 80', '58386 80', '58388 80', '58392 80', '58394 80', '58400 80', '58398 80', '58404 80', '58402 80', '58422 80', '58426 80', '58424 80', '58430 80', '58474 80', '58486 80', '58972 80', '58980 80', '58992 80', '58996 80', '59000 80', '59010 80', '59018 80', '59030 80', '59034 80', '59040 80', '59042 80', '59044 80', '59050 80', '59054 80', '59058 80', '59092 80', '59094 80', '59098 80', '59100 80', '59102 80', '59106 80', '59108 80', '59110 80', '59114 80', '59118 80', '59128 80', '59146 80', '59148 80', '59158 80', '59168 80', '59170 80', '59180 80', '59182 80', '59184 80', '59186 80', '59192 80', '59196 80', '59202 80', '59204 80', '59210 80', '59208 80', '59224 80', '59228 80', '59230 80', '59234 80', '59244 80', '59246 80', '59248 80', '59254 80', '59256 80', '59258 80', '59274 80', '59304 80', '59308 80', '59310 80', '59312 80', '59316 80', '59318 80', '59324 80', '59326 80', '59332 80', '59344 80', '59348 80', '59362 80', '59364 80', '59368 80', '59378 80', '59384 80', '59382 80', '59388 80', '59392 80', '59406 80', '59410 80', '59412 80', '59416 80', '59414 80', '59442 80', '59460 80', '59464 80', '59468 80', '59470 80', '59472 80', '59474 80', '59476 80', '59480 80', '59484 80', '59482 80', '59486 80', '59488 80', '59490 80', '59492 80', '59496 80', '59498 80', '59502 80', '59500 80', '59504 80', '59510 80', '59516 80', '59524 80', '59530 80', '59532 80', '59534 80', '59536 80', '59540 80', '59542 80', '59544 80', '59546 80', '59550 80', '59554 80', '59552 80', '59560 80', '59566 80', '59570 80', '59572 80', '59574 80', '59576 80', '59578 80', '59582 80', '59584 80', '59586 80', '59590 80', '59592 80', '59602 80', '59606 80', '59614 80', '59618 80', '59626 80', '59628 80', '59630 80', '59632 80', '59640 80', '59644 80', '59652 80', '59660 80', '59662 80', '59664 80', '59668 80', '59676 80', '59678 80', '59680 80', '59682 80', '59690 80', '59692 80', '59694 80', '59696 80', '59702 80', '59708 80', '59710 80', '59714 80', '59716 80', '59722 80', '59726 80', '59742 80', '59746 80', '59754 80', '59762 80', '59768 80', '59774 80', '59792 80', '59794 80', '59798 80', '59800 80', '59804 80', '59808 80', '59818 80', '59820 80', '59824 80', '59838 80', '59842 80', '59846 80', '59856 80', '59862 80', '59868 80', '59876 80', '59894 80', '59896 80', '59902 80', '59908 80', '59912 80', '59914 80', '59926 80', '59936 80', '59938 80', '59940 80', '59946 80', '59950 80', '59954 80', '59958 80', '59976 80', '59996 80', '60002 80', '60018 80', '60020 80', '60024 80', '60028 80', '60034 80', '60050 80', '60052 80', '60058 80', '60070 80', '60078 80', '60082 80', '60084 80', '60086 80', '60090 80', '60100 80', '60102 80', '60114 80', '60122 80', '60120 80', '60128 80', '60134 80', '60138 80', '60146 80', '60156 80', '60158 80', '60160 80', '60164 80', '60172 80', '60180 80', '60178 80', '60186 80', '60192 80', '60210 80', '60216 80', '60234 80', '60238 80', '60236 80', '60250 80', '60252 80', '60254 80', '60258 80', '60256 80', '60270 80', '60272 80', '60274 80', '60278 80', '60280 80', '60284 80', '60282 80', '60286 80', '60290 80', '60296 80', '60302 80', '60306 80', '60312 80', '60326 80', '60328 80', '60332 80', '60340 80', '60342 80', '60344 80', '60348 80', '60352 80', '60360 80', '60364 80', '60368 80', '60372 80', '60374 80', '60376 80', '60380 80', '60384 80', '60388 80', '60390 80', '60398 80', '60406 80', '60412 80', '60420 80', '60422 80', '60438 80', '60442 80', '60452 80', '60466 80', '60480 80', '60488 80', '60490 80', '60500 80', '60502 80', '60508 80', '60518 80', '60520 80', '60542 80', '60550 80', '60554 80', '60560 80', '60562 80', '60568 80', '60574 80', '60580 80', '60598 80', '60604 80', '60608 80', '60610 80', '60612 80', '60622 80', '60624 80', '60628 80', '60636 80', '60642 80', '60650 80', '60658 80', '60660 80', '60662 80', '60674 80', '60676 80', '60680 80', '60706 80', '60708 80', '60716 80', '60714 80', '60730 80', '60732 80', '60734 80', '60738 80', '60740 80', '60746 80', '60754 80', '60756 80', '60764 80', '60766 80', '60786 80', '60802 80', '60808 80', '60816 80', '60814 80', '60822 80', '60836 80', '60840 80', '60856 80', '60852 80', '60864 80', '60868 80', '60876 80', '60894 80', '60898 80', '60912 80', '60910 80', '60916 80', '60918 80', '60932 80', '60942 80', '60944 80', '60956 80', '60960 80', '60958 80', '60970 80', '60986 80', '60990 80', '60988 80', '60992 80', '60994 80', '60998 80', '60996 80', '32778 80', '32772 80', '32786 80', '32782 80', '32788 80', '32790 80', '32798 80', '32796 80', '32806 80', '32808 80', '32804 80', '32812 80', '32816 80', '32828 80', '32832 80', '32836 80', '32842 80', '32838 80', '32862 80', '32868 80', '32872 80', '32882 80', '32886 80', '32888 80', '32890 80', '32896 80', '32906 80', '32900 80', '32910 80', '32912 80', '32914 80', '32928 80', '32926 80', '32930 80', '32950 80', '32956 80', '32954 80', '32962 80', '32966 80', '32974 80', '32986 80', '33002 80', '33006 80', '33016 80', '33018 80', '33026 80', '33036 80', '33042 80', '33054 80', '33050 80', '33058 80', '33070 80', '33072 80', '33078 80', '33076 80', '33102 80', '33104 80', '33108 80', '33112 80', '33118 80', '33130 80', '33136 80', '33132 80', '33162 80', '33164 80', '33166 80', '33178 80', '33176 80', '33188 80', '33200 80', '33202 80', '33210 80', '33206 80', '33214 80', '33230 80', '33240 80', '33242 80', '33244 80', '33254 80', '33258 80', '33272 80', '33276 80', '33278 80', '33292 80', '33290 80', '33288 80', '33294 80', '33310 80', '33316 80', '33314 80', '33328 80', '33330 80', '33340 80', '33348 80', '33352 80', '33360 80', '33362 80', '33376 80', '33378 80', '33386 80', '33388 80', '33384 80', '33694 80', '33668 80', '33404 80', '33414 80', '33418 80', '33424 80', '33430 80', '33432 80', '33440 80', '33450 80', '33454 80', '33458 80', '33472 80', '33480 80', '33494 80', '33498 80', '33502 80', '33510 80', '33522 80', '33524 80', '33560 80', '33562 80', '33570 80', '33574 80', '33582 80', '33586 80', '33594 80', '33598 80', '33606 80', '33612 80', '33610 80', '33614 80', '33616 80', '33630 80', '33636 80', '33644 80', '33660 80', '33662 80', '33672 80', '33670 80', '33682 80', '33690 80', '33700 80', '33704 80', '33708 80', '33710 80', '33722 80', '33728 80', '33736 80', '33740 80', '33748 80', '33750 80', '33752 80', '33754 80', '33756 80', '33758 80', '33762 80', '33770 80', '33774 80', '34088 80', '34040 80', '33846 80', '33856 80', '33860 80', '34014 80', '34026 80', '34032 80', '33784 80', '33790 80', '33794 80', '33800 80', '33796 80', '33798 80', '33804 80', '33820 80', '33826 80', '33830 80', '33832 80', '33834 80', '33886 80', '33898 80', '33896 80', '33900 80', '33904 80', '33910 80', '33914 80', '33920 80', '33926 80', '33932 80', '33944 80', '33948 80', '33952 80', '33956 80', '33958 80', '33962 80', '33966 80', '33978 80', '33982 80', '33988 80', '33990 80', '34004 80', '34012 80', '34072 80', '34074 80', '34092 80', '34110 80', '34108 80', '34112 80', '34114 80', '34118 80', '34124 80', '34130 80', '34144 80', '34146 80', '34148 80', '34156 80', '34154 80', '34442 80', '34240 80', '34244 80', '34260 80', '34262 80', '34278 80', '34282 80', '34294 80', '34170 80', '34182 80', '34180 80', '34186 80', '34192 80', '34196 80', '34200 80', '34204 80', '34208 80', '34212 80', '34220 80', '34222 80', '34224 80', '34250 80', '34254 80', '34286 80', '34304 80', '34314 80', '34316 80', '34322 80', '34318 80', '34326 80', '34324 80', '34328 80', '34334 80', '34338 80', '34352 80', '34360 80', '34362 80', '34366 80', '34370 80', '34374 80', '34378 80', '34388 80', '34394 80', '34400 80', '34402 80', '34406 80', '34418 80', '34422 80', '34428 80', '34432 80', '34444 80', '34446 80', '34462 80', '34464 80', '34466 80', '34472 80', '34474 80', '34478 80', '34488 80', '34492 80', '34498 80', '34502 80', '34504 80', '34518 80', '34538 80', '34536 80', '34540 80', '34548 80', '34552 80', '34550 80', '34880 80', '34832 80', '34690 80', '34700 80', '34708 80', '34710 80', '34718 80', '34722 80', '34726 80', '34730 80', '34728 80', '34734 80', '34738 80', '34742 80', '34748 80', '34556 80', '34558 80', '34572 80', '34570 80', '34578 80', '34580 80', '34586 80', '34594 80', '34598 80', '34606 80', '34610 80', '34614 80', '34612 80', '34616 80', '34620 80', '34640 80', '34648 80', '34652 80', '34658 80', '34660 80', '34668 80', '34672 80', '34692 80', '34754 80', '34756 80', '34766 80', '34770 80', '34784 80', '34790 80', '34788 80', '34792 80', '34796 80', '34806 80', '34810 80', '34812 80', '34818 80', '34820 80', '34824 80', '34822 80', '34830 80', '34836 80', '34842 80', '34848 80', '34854 80', '34862 80', '34866 80', '34874 80', '34884 80', '34888 80', '34886 80', '34900 80', '34908 80', '34906 80', '34916 80', '34918 80', '34930 80', '34934 80', '34936 80', '34940 80', '35016 80', '35026 80', '35048 80', '35076 80', '35142 80', '35140 80', '35148 80', '35144 80', '35152 80', '35158 80', '35160 80', '35170 80', '34942 80', '34948 80', '34956 80', '34958 80', '34960 80', '34974 80', '34978 80', '34980 80', '34986 80', '34990 80', '34996 80', '35000 80', '35008 80', '35006 80', '35010 80', '35020 80', '35032 80', '35040 80', '35058 80', '35062 80', '35092 80', '35100 80', '35104 80', '35116 80', '35192 80', '35194 80', '35208 80', '35220 80', '35234 80', '35240 80', '35250 80', '35254 80', '35258 80', '35260 80', '35266 80', '35272 80', '35274 80', '35280 80', '35284 80', '35286 80', '35292 80', '35298 80', '35304 80', '35308 80', '35306 80', '35312 80', '35314 80', '35318 80', '35322 80', '35334 80', '35340 80', '35344 80', '35346 80', '35350 80', '35352 80', '35356 80', '35366 80', '35382 80', '35384 80', '35390 80', '35392 80', '35394 80', '35398 80', '35402 80', '35406 80', '35412 80', '35416 80', '35420 80', '35422 80', '35428 80', '35432 80', '35438 80', '35448 80', '35450 80', '35456 80', '35460 80', '35466 80', '35470 80', '35492 80', '35504 80', '35510 80', '35544 80', '35548 80', '35552 80', '35556 80', '35558 80', '35576 80', '35578 80', '35864 80', '35862 80', '35610 80', '35616 80', '35622 80', '35626 80', '35632 80', '35642 80', '35644 80', '35648 80', '35654 80', '35656 80', '35660 80', '35668 80', '35670 80', '35672 80', '35678 80', '35680 80', '35684 80', '35686 80', '35692 80', '35702 80', '35706 80', '35712 80', '35714 80', '35726 80', '35730 80', '35732 80', '35738 80', '35752 80', '35758 80', '35762 80', '35786 80', '35796 80', '35798 80', '35802 80', '35806 80', '35804 80', '35820 80', '35844 80', '35838 80', '35840 80', '35842 80', '35856 80', '35866 80', '35884 80', '35882 80', '35888 80', '35892 80', '35898 80', '35906 80', '35912 80', '35920 80', '35924 80', '35922 80', '35932 80', '35942 80', '35948 80', '35950 80', '35956 80', '35958 80', '35960 80', '35966 80', '35970 80', '36050 80', '36088 80', '36086 80', '36238 80', '36234 80', '36240 80', '36242 80', '36244 80', '36258 80', '35978 80', '35990 80', '36000 80', '36002 80', '36004 80', '36016 80', '36022 80', '36024 80', '36030 80', '36034 80', '36044 80', '36076 80', '36100 80', '36104 80', '36110 80', '36120 80', '36128 80', '36132 80', '36130 80', '36136 80', '36142 80', '36150 80', '36154 80', '36160 80', '36166 80', '36172 80', '36174 80', '36182 80', '36186 80', '36188 80', '36190 80', '36192 80', '36194 80', '36222 80', '36224 80', '36228 80', '36232 80', '36230 80', '36260 80', '36262 80', '36266 80', '36290 80', '36300 80', '36294 80', '36306 80', '36310 80', '36314 80', '36320 80', '36324 80', '36326 80', '36328 80', '36346 80', '36348 80', '36350 80', '36662 80', '36438 80', '36444 80', '36446 80', '36448 80', '36492 80', '36504 80', '36506 80', '36510 80', '36360 80', '36362 80', '36372 80', '36370 80', '36376 80', '36384 80', '36388 80', '36390 80', '36396 80', '36410 80', '36412 80', '36418 80', '36434 80', '36522 80', '36530 80', '36536 80', '36534 80', '36538 80', '36548 80', '36564 80', '36562 80', '36570 80', '36582 80', '36590 80', '36596 80', '36598 80', '36602 80', '36604 80', '36610 80', '36614 80', '36624 80', '36628 80', '36636 80', '36640 80', '36642 80', '36644 80', '36646 80', '36650 80', '36652 80', '36654 80', '36656 80', '36670 80', '36684 80', '36694 80', '36696 80', '36700 80', '36704 80', '36712 80', '36716 80', '36724 80', '36738 80', '36740 80', '36742 80', '37084 80', '37062 80', '36828 80', '36834 80', '36910 80', '36914 80', '36916 80', '36920 80', '36932 80', '36934 80', '36936 80', '36938 80', '36940 80', '36942 80', '36956 80', '36962 80', '36960 80', '36964 80', '36968 80', '36970 80', '36764 80', '36774 80', '36778 80', '36814 80', '36820 80', '36854 80', '36862 80', '36864 80', '36874 80', '36894 80', '36896 80', '36900 80', '36904 80', '36906 80', '36908 80', '36954 80', '36972 80', '36974 80', '36976 80', '36988 80', '36992 80', '36994 80', '36998 80', '37020 80', '37032 80', '37040 80', '37042 80', '37046 80', '37050 80', '37054 80', '37070 80', '37074 80', '37076 80', '37082 80', '37096 80', '37100 80', '37102 80', '37112 80', '37118 80', '37116 80', '37120 80', '37126 80', '37484 80', '37246 80', '37252 80', '37264 80', '37272 80', '37274 80', '37288 80', '37294 80', '37354 80', '37358 80', '37362 80', '37370 80', '37374 80', '37372 80', '37382 80', '37384 80', '37392 80', '37390 80', '37138 80', '37146 80', '37162 80', '37168 80', '37170 80', '37188 80', '37190 80', '37198 80', '37196 80', '37208 80', '37218 80', '37236 80', '37238 80', '37244 80', '37266 80', '37284 80', '37290 80', '37300 80', '37304 80', '37318 80', '37322 80', '37324 80', '37348 80', '37352 80', '37388 80', '37398 80', '37402 80', '37404 80', '37422 80', '37428 80', '37430 80', '37432 80', '37434 80', '37446 80', '37450 80', '37448 80', '37454 80', '37462 80', '37464 80', '37474 80', '37510 80', '37514 80', '37518 80', '37522 80', '37524 80', '37528 80', '37534 80', '37546 80', '37548 80', '37550 80', '37562 80', '37568 80', '37572 80', '37584 80', '37590 80', '37592 80', '37600 80', '37602 80', '37604 80', '37610 80', '37624 80', '37628 80', '37632 80', '37634 80', '37650 80', '37876 80', '37680 80', '37872 80', '37686 80', '37896 80', '37696 80', '37708 80', '37906 80', '37712 80', '37716 80', '37914 80', '37722 80', '37724 80', '37738 80', '37938 80', '37740 80', '37946 80', '37746 80', '37950 80', '37748 80', '37954 80', '37758 80', '37968 80', '37762 80', '37928 80', '37766 80', '37776 80', '37782 80', '37784 80', '37800 80', '37804 80', '37830 80', '37832 80', '37844 80', '37858 80', '37866 80', '37730 80', '37732 80', '37734 80', '37742 80', '37756 80', '37778 80', '37794 80', '37856 80', '37892 80', '37932 80', '37936 80', '37952 80', '37956 80', '37962 80', '37964 80', '37984 80', '37982 80', '38044 80', '38002 80', '37996 80', '37986 80', '37978 80', '37992 80', '38024 80', '37972 80', '38060 80', '38072 80', '38056 80', '38134 80', '38098 80', '38086 80', '38154 80', '38074 80', '38068 80', '38118 80', '38116 80', '38128 80', '38212 80', '38146 80', '38092 80', '38054 80', '38112 80', '38124 80', '38096 80', '38144 80', '38108 80', '38428 80', '38176 80', '38186 80', '38078 80', '38200 80', '38188 80', '38224 80', '38226 80', '38236 80', '38270 80', '38280 80', '38282 80', '38286 80', '38296 80', '38300 80', '38306 80', '38320 80', '38316 80', '38324 80', '38328 80', '38354 80', '38350 80', '38342 80', '38352 80', '38362 80', '38360 80', '38366 80', '38382 80', '38380 80', '38388 80', '38392 80', '38394 80', '38398 80', '38410 80', '38412 80', '38422 80', '38432 80', '38430 80', '38650 80', '38572 80', '38576 80', '38574 80', '38578 80', '38580 80', '38586 80', '38596 80', '38598 80', '38604 80', '38602 80', '38606 80', '38610 80', '38616 80', '38634 80', '38646 80', '38652 80', '38656 80', '38660 80', '38664 80', '38666 80', '38668 80', '38678 80', '38676 80', '38684 80', '38686 80', '38700 80', '38704 80', '38718 80', '38716 80', '38742 80', '38750 80', '38760 80', '38758 80', '38770 80', '38772 80', '38774 80', '38788 80', '38794 80', '38798 80', '38434 80', '38436 80', '38442 80', '38452 80', '38450 80', '38468 80', '38466 80', '38464 80', '38474 80', '38498 80', '38508 80', '38526 80', '38518 80', '38536 80', '38534 80', '38538 80', '38542 80', '38540 80', '38550 80', '38554 80', '38556 80', '38564 80', '38822 80', '38824 80', '38828 80', '38830 80', '38844 80', '38852 80', '38864 80', '38870 80', '38872 80', '38876 80', '38874 80', '38880 80', '38886 80', '38888 80', '38892 80', '38894 80', '38906 80', '38916 80', '38920 80', '38924 80', '38932 80', '38934 80', '38942 80', '38960 80', '38962 80', '38964 80', '38968 80', '38976 80', '38978 80', '38982 80', '39006 80', '39018 80', '39022 80', '39030 80', '39038 80', '39050 80', '39056 80', '39058 80', '39064 80', '39072 80', '39078 80', '39080 80', '39086 80', '39092 80', '39098 80', '39120 80', '39124 80', '39126 80', '39132 80', '39130 80', '39136 80', '39138 80', '39140 80', '39148 80', '39152 80', '39172 80', '39174 80', '39196 80', '39200 80', '39408 80', '39206 80', '39210 80', '39214 80', '39230 80', '39238 80', '39244 80', '39246 80', '39254 80', '39262 80', '39272 80', '39284 80', '39286 80', '39300 80', '39308 80', '39314 80', '39324 80', '39328 80', '39332 80', '39336 80', '39338 80', '39350 80', '39358 80', '39364 80', '39368 80', '39372 80', '39370 80', '39376 80', '39384 80', '39386 80', '39388 80', '39394 80', '39396 80', '39406 80', '39424 80', '39442 80', '39466 80', '39470 80', '39476 80', '39482 80', '39484 80', '39488 80', '39494 80', '39498 80', '39500 80', '39504 80', '39508 80', '39516 80', '39518 80', '39528 80', '39532 80', '39536 80', '39534 80', '39542 80', '39546 80', '39554 80', '39552 80', '39564 80', '39578 80', '39582 80', '39584 80', '39586 80', '39600 80', '39606 80', '39614 80', '39622 80', '39626 80', '39640 80', '39650 80', '39652 80', '39664 80', '39672 80', '39676 80', '39680 80', '39686 80', '39688 80', '39692 80', '39706 80', '39722 80', '39740 80', '39746 80', '39762 80', '39764 80', '39772 80', '58482 80', '59068 80', '59072 80', '59268 80', '59290 80', '59004 80', '59264 80', '59648 80', '59266 80', '59778 80', '60534 80', '35526 80', '35530 80', '35528 80', '37614 80', '33370 80', '33364 80', '33366 80', '39682 80', '39678 80', '39832 80', '39844 80', '39848 80', '39852 80', '39864 80', '39874 80', '39880 80', '39894 80', '39900 80', '39902 80', '39910 80', '39918 80', '39946 80', '39950 80', '39948 80', '39954 80', '39958 80', '39962 80', '39960 80', '39982 80', '39994 80', '39996 80', '40014 80', '40028 80', '40058 80', '40064 80', '40062 80', '40072 80', '40082 80', '40084 80', '40102 80', '40116 80', '40144 80', '40148 80', '40146 80', '40156 80', '40172 80', '40182 80', '40188 80', '40194 80', '40198 80', '40200 80', '40202 80', '40206 80', '39898 80', '40220 80', '40226 80', '40228 80', '40230 80', '40236 80', '40242 80', '40240 80', '40246 80', '40250 80', '40256 80', '40258 80', '40262 80', '40270 80', '40280 80', '40282 80', '40288 80', '39984 80', '40302 80', '40292 80', '40308 80', '40330 80', '40318 80', '40338 80', '40340 80', '40348 80', '40038 80', '40356 80', '40354 80', '40352 80', '40046 80', '40364 80', '40368 80', '40398 80', '40402 80', '40406 80', '40408 80', '40414 80', '40422 80', '40428 80', '40430 80', '40458 80', '39812 80', '40482 80', '40484 80', '40152 80', '40490 80', '40502 80', '40504 80', '40526 80', '40528 80', '40538 80', '40546 80', '40548 80', '40570 80', '40568 80', '40264 80', '40608 80', '40324 80', '40090 80', '40132 80', '40486 80', '40276 80', '40278 80', '39828 80', '39842 80', '39912 80', '39966 80', '39972 80', '40012 80', '40266 80', '40176 80', '40234 80', '40296 80', '40298 80', '40508 80', '40522 80', '40304 80', '40384 80', '40586 80', '40390 80', '39796 80', '39792 80', '39914 80', '40004 80', '40040 80', '40114 80', '40618 80', '40620 80', '40628 80', '40632 80', '40670 80', '40692 80', '40722 80', '40730 80', '40740 80', '40756 80', '40748 80', '40754 80', '40768 80', '40776 80', '40794 80', '40802 80', '40800 80', '40806 80', '40826 80', '40832 80', '40846 80', '40852 80', '40860 80', '40868 80', '40876 80', '40874 80', '40898 80', '40912 80', '40934 80', '40950 80', '40952 80', '40956 80', '40648 80', '40980 80', '41004 80', '41008 80', '41026 80', '41030 80', '41040 80', '40710 80', '41046 80', '41066 80', '40750 80', '41072 80', '41086 80', '40770 80', '41098 80', '40772 80', '40778 80', '41128 80', '41126 80', '41140 80', '41148 80', '41120 80', '41146 80', '41150 80', '41152 80', '40838 80', '41172 80', '41170 80', '41168 80', '41176 80', '41178 80', '41210 80', '41224 80', '41220 80', '41230 80', '40922 80', '41240 80', '41242 80', '41264 80', '41268 80', '41288 80', '41314 80', '41318 80', '41320 80', '41328 80', '41332 80', '41334 80', '40698 80', '41032 80', '41016 80', '41336 80', '41340 80', '41342 80', '41348 80', '41088 80', '41378 80', '41382 80', '41384 80', '41386 80', '41392 80', '41400 80', '41410 80', '41420 80', '41430 80', '41444 80', '41464 80', '41154 80', '41482 80', '41504 80', '41512 80', '41514 80', '41526 80', '41524 80', '41530 80', '41536 80', '41538 80', '41546 80', '41238 80', '41568 80', '40976 80', '41582 80', '41602 80', '41604 80', '41628 80', '41632 80', '41634 80', '41626 80', '41642 80', '41636 80', '41644 80', '41650 80', '41654 80', '41662 80', '41676 80', '41678 80', '41702 80', '41710 80', '41716 80', '41724 80', '41746 80', '41768 80', '41762 80', '41468 80', '41780 80', '41778 80', '41782 80', '41800 80', '41798 80', '41796 80', '41810 80', '41804 80', '41808 80', '41814 80', '41520 80', '41822 80', '41838 80', '41842 80', '41844 80', '41860 80', '41552 80', '41858 80', '41856 80', '41876 80', '41890 80', '41900 80', '41930 80', '41942 80', '41946 80', '41944 80', '41956 80', '41982 80', '41998 80', '42006 80', '42008 80', '42024 80', '42030 80', '41738 80', '41732 80', '40614 80', '41478 80', '40734 80', '41870 80', '41968 80', '41110 80', '41106 80', '40616 80', '40982 80', '41848 80', '41236 80', '41054 80', '41056 80', '41104 80', '41122 80', '40858 80', '40856 80', '41966 80', '41970 80', '41344 80', '41360 80', '41428 80', '41260 80', '41256 80', '41298 80', '41534 80', '40724 80', '41434 80', '41496 80', '41544 80', '41580 80', '41590 80', '41594 80', '41306 80', '41700 80', '41708 80', '41452 80', '41754 80', '41446 80', '41788 80', '41812 80', '41868 80', '41888 80', '41894 80', '42018 80', '41898 80', '41906 80', '41908 80', '41912 80', '41918 80', '41994 80', '40904 80', '40906 80', '42036 80', '40798 80', '41290 80', '41646 80', '40462 80', '42078 80', '42084 80', '42100 80', '42112 80', '42114 80', '42116 80', '42122 80', '42128 80', '42136 80', '42140 80', '42142 80', '42152 80', '42156 80', '42154 80', '42160 80', '42186 80', '42192 80', '42200 80', '42204 80', '42208 80', '42240 80', '42258 80', '42264 80', '42276 80', '42274 80', '42278 80', '42282 80', '42288 80', '42292 80', '42294 80', '42322 80', '42336 80', '42340 80', '42358 80', '42370 80', '42368 80', '42374 80', '42390 80', '42392 80', '42398 80', '42404 80', '42412 80', '42424 80', '42434 80', '42148 80', '42454 80', '42466 80', '42494 80', '42500 80', '42502 80', '42506 80', '42514 80', '42516 80', '42536 80', '42560 80', '42548 80', '42286 80', '42576 80', '42582 80', '42606 80', '42598 80', '42342 80', '42648 80', '42676 80', '42682 80', '42686 80', '42724 80', '42732 80', '42764 80', '42760 80', '42436 80', '42774 80', '42786 80', '42798 80', '42804 80', '42802 80', '42808 80', '42814 80', '42788 80', '42828 80', '42822 80', '42490 80', '42850 80', '42866 80', '42542 80', '42622 80', '42616 80', '42662 80', '42674 80', '42692 80', '42718 80', '42710 80', '42844 80', '42852 80', '42846 80', '42080 80', '42050 80', '42054 80', '42162 80', '42170 80', '42238 80', '42324 80', '42458 80', '42474 80', '42568 80', '42554 80', '42562 80', '42574 80', '42630 80', '42698 80', '42706 80', '42734 80', '42746 80', '42744 80', '42856 80', '42132 80', '42330 80', '43664 80', '43668 80', '43678 80', '43666 80', '43676 80', '43672 80', '43674 80', '43690 80', '43698 80', '43702 80', '43706 80', '43712 80', '43708 80', '43718 80', '43722 80', '43730 80', '43736 80', '43746 80', '43744 80', '43750 80', '43756 80', '43772 80', '43786 80', '43792 80', '43798 80', '43804 80', '43806 80', '43810 80', '43812 80', '43820 80', '43822 80', '43828 80', '43836 80', '43838 80', '43842 80', '43834 80', '43850 80', '43852 80', '43854 80', '43858 80', '43864 80', '43870 80', '43874 80', '43876 80', '43878 80', '43900 80', '43896 80', '43902 80', '43906 80', '43912 80', '43916 80', '43914 80', '43920 80', '43922 80', '43924 80', '43932 80', '43942 80', '43934 80', '43946 80', '43952 80', '43954 80', '43960 80', '43974 80', '43982 80', '43986 80', '43984 80', '43990 80', '43998 80', '44006 80', '44010 80', '44012 80', '44004 80', '44016 80', '44022 80', '44030 80', '44040 80', '44042 80', '44046 80', '44050 80', '44048 80', '44060 80', '44058 80', '44072 80', '44076 80', '44078 80', '44084 80', '44090 80', '44100 80', '44110 80', '44120 80', '44118 80', '44124 80', '44130 80', '44136 80', '44138 80', '44150 80', '44156 80', '44166 80', '44170 80', '44172 80', '44196 80', '44200 80', '44202 80', '44204 80', '44208 80', '44206 80', '44210 80', '44224 80', '44222 80', '44232 80', '44230 80', '44264 80', '44266 80', '44276 80', '44282 80', '44280 80', '44284 80', '44288 80', '44290 80', '44306 80', '44308 80', '44314 80', '44318 80', '44326 80', '44328 80', '44330 80', '44336 80', '44340 80', '44346 80', '44350 80', '44360 80', '44366 80', '44362 80', '44376 80', '44394 80', '44410 80', '44420 80', '44422 80', '44424 80', '44442 80', '44450 80', '44456 80', '44460 80', '44458 80', '44466 80', '44470 80', '44472 80', '44474 80', '44482 80', '44478 80', '44488 80', '44492 80', '44496 80', '44506 80', '44512 80', '44508 80', '44514 80', '44510 80', '44516 80', '44522 80', '44520 80', '44528 80', '44530 80', '44556 80', '44562 80', '44566 80', '44574 80', '44578 80', '44580 80', '44588 80', '44602 80', '44596 80', '44600 80', '44598 80', '44612 80', '44634 80', '44638 80', '44644 80', '44650 80', '44660 80', '44664 80', '44668 80', '44678 80', '44676 80', '44682 80', '44686 80', '44708 80', '44706 80', '44712 80', '44722 80', '44730 80', '44732 80', '44734 80', '44748 80', '44756 80', '44760 80', '44772 80', '44774 80', '44782 80', '44784 80', '44788 80', '44790 80', '44812 80', '44808 80', '44820 80', '44824 80', '44832 80', '44830 80', '44836 80', '44846 80', '44844 80', '44852 80', '44854 80', '44866 80', '44872 80', '44876 80', '44886 80', '44894 80', '44900 80', '44904 80', '44912 80', '44922 80', '44926 80', '44936 80', '44934 80', '44950 80', '44960 80', '44968 80', '44962 80', '44974 80', '44976 80', '44984 80', '44992 80', '44996 80', '44994 80', '45010 80', '45016 80', '45014 80', '45024 80', '45028 80', '45036 80', '45068 80', '45058 80', '45084 80', '45110 80', '45122 80', '45130 80', '45132 80', '45146 80', '45144 80', '45150 80', '44432 80', '45082 80', '45158 80', '45156 80', '45160 80', '45162 80', '45176 80', '45174 80', '45186 80', '45192 80', '45190 80', '45198 80', '45202 80', '45206 80', '45216 80', '45228 80', '45242 80', '45236 80', '45244 80', '45246 80', '45254 80', '45250 80', '45258 80', '45274 80', '45280 80', '45288 80', '45300 80', '45306 80', '45304 80', '45314 80', '45318 80', '45338 80', '45348 80', '45356 80', '45354 80', '45368 80', '45372 80', '45370 80', '45378 80', '45384 80', '45386 80', '45376 80', '45422 80', '45424 80', '45438 80', '45456 80', '45454 80', '45476 80', '45472 80', '45484 80', '45488 80', '45496 80', '45498 80', '45504 80', '45508 80', '45506 80', '45518 80', '45512 80', '45522 80', '45528 80', '45538 80', '45542 80', '45550 80', '45568 80', '45566 80', '45572 80', '45584 80', '45586 80', '45590 80', '45596 80', '45592 80', '45612 80', '45618 80', '45616 80', '45620 80', '45632 80', '45658 80', '45660 80', '45664 80', '45668 80', '45670 80', '45678 80', '45684 80', '45690 80', '45704 80', '45706 80', '45710 80', '45714 80', '45720 80', '45728 80', '45730 80', '45732 80', '45744 80', '45746 80', '45752 80', '45762 80', '42894 80', '42892 80', '42900 80', '42926 80', '42910 80', '42908 80', '42898 80', '42936 80', '42950 80', '42948 80', '42954 80', '42968 80', '42966 80', '42964 80', '42988 80', '42978 80', '42974 80', '42960 80', '42994 80', '43006 80', '43026 80', '43114 80', '43088 80', '43152 80', '43142 80', '43148 80', '43166 80', '43204 80', '43184 80', '43212 80', '43230 80', '43300 80', '43328 80', '43042 80', '43086 80', '43080 80', '43352 80', '43154 80', '43200 80', '43194 80', '43224 80', '43218 80', '43234 80', '43238 80', '43262 80', '43256 80', '43298 80', '42998 80', '43036 80', '43028 80', '43180 80', '43214 80', '43232 80', '43264 80', '43272 80', '43104 80', '43090 80', '43112 80', '43094 80', '43240 80', '43268 80', '43296 80', '43000 80', '43024 80', '43066 80', '43062 80', '43070 80', '43312 80', '43314 80', '43310 80', '43332 80', '43334 80', '43378 80', '43302 80', '43308 80', '43336 80', '43138 80', '43064 80', '43136 80', '43344 80', '43376 80', '43338 80', '43134 80', '43342 80', '43346 80', '43360 80', '43358 80', '43356 80', '43362 80', '45560 80', '43398 80', '43396 80', '43402 80', '43420 80', '43428 80', '43462 80', '43458 80', '43472 80', '43480 80', '43418 80', '43500 80', '43432 80', '43512 80', '43460 80', '43550 80', '43546 80', '43542 80', '43442 80', '43450 80', '43470 80', '43484 80', '43506 80', '43524 80', '43446 80', '43444 80', '43434 80', '43528 80', '43580 80', '43582 80', '43588 80', '43590 80', '43568 80', '43558 80', '43564 80', '43608 80', '43610 80', '43612 80', '43618 80', '43656 80', '43658 80', '43654 80', '43648 80', '43662 80']
    slowhttptest=['49632 80', '33376 80', '33378 80', '33386 80', '33388 80', '33384 80', '33694 80', '33668 80', '33404 80', '33414 80', '33418 80', '33424 80', '33430 80', '33432 80', '33440 80', '33450 80', '33454 80', '33458 80', '33472 80', '33478 80', '33480 80', '33494 80', '33498 80', '33502 80', '33510 80', '33522 80', '33524 80', '33526 80', '33560 80', '33562 80', '33570 80', '33574 80', '33582 80', '33586 80', '33594 80', '33598 80', '33606 80', '33612 80', '33610 80', '33614 80', '33616 80', '33630 80', '33636 80', '33644 80', '33660 80', '33662 80', '33672 80', '33670 80', '33682 80', '33690 80', '33700 80', '33704 80', '33708 80', '33710 80', '33722 80', '33728 80', '33736 80', '33740 80', '33748 80', '33750 80', '33752 80', '33754 80', '33756 80', '33758 80', '33762 80', '33770 80', '33774 80', '34088 80', '34040 80', '33846 80', '33856 80', '33860 80', '34014 80', '34026 80', '34032 80', '33784 80', '33790 80', '33794 80', '33800 80', '33796 80', '33798 80', '33804 80', '33820 80', '33826 80', '33830 80', '33832 80', '33834 80', '33886 80', '33898 80', '33896 80', '33900 80', '33904 80', '33910 80', '33914 80', '33920 80', '33926 80', '33932 80', '33944 80', '33948 80', '33952 80', '33956 80', '33958 80', '33962 80', '33966 80', '33978 80', '33982 80', '33988 80', '33990 80', '34004 80', '34012 80', '34072 80', '34074 80', '34092 80', '34110 80', '34108 80', '34112 80', '34114 80', '34118 80', '34124 80', '34130 80', '34144 80', '34146 80', '34148 80', '34156 80', '34154 80', '34442 80', '34240 80', '34244 80', '34260 80', '34262 80', '34278 80', '34282 80', '34294 80', '34170 80', '34182 80', '34180 80', '34186 80', '34192 80', '34196 80', '34200 80', '34204 80', '34208 80', '34212 80', '34220 80', '34222 80', '34224 80', '34250 80', '34254 80', '34286 80', '34304 80', '34314 80', '34316 80', '34322 80', '34318 80', '34326 80', '34324 80', '34328 80', '34334 80', '34338 80', '34352 80', '34360 80', '34362 80', '34364 80', '34366 80', '34370 80', '34374 80', '34378 80', '34388 80', '34394 80', '34400 80', '34402 80', '34406 80', '34418 80', '34422 80', '34428 80', '34432 80', '34444 80', '34446 80', '34462 80', '34464 80', '34466 80', '34472 80', '34474 80', '34478 80', '34488 80', '34492 80', '34498 80', '34502 80', '34504 80', '34518 80', '34538 80', '34536 80', '34540 80', '34548 80', '34552 80', '34550 80', '34880 80', '34832 80', '34690 80', '34700 80', '34708 80', '34710 80', '34718 80', '34722 80', '34726 80', '34730 80', '34728 80', '34734 80', '34738 80', '34742 80', '34748 80', '34556 80', '34558 80', '34572 80', '34570 80', '34578 80', '34580 80', '34586 80', '34594 80', '34598 80', '34606 80', '34610 80', '34614 80', '34612 80', '34616 80', '34620 80', '34640 80', '34648 80', '34652 80', '34658 80', '34660 80', '34668 80', '34672 80', '34692 80', '34754 80', '34756 80', '34766 80', '34770 80', '34784 80', '34790 80', '34788 80', '34792 80', '34796 80', '34806 80', '34810 80', '34812 80', '34818 80', '34820 80', '34824 80', '34822 80', '34830 80', '34836 80', '34842 80', '34848 80', '34854 80', '34862 80', '34866 80', '34874 80', '34884 80', '34888 80', '34886 80', '34900 80', '34908 80', '34906 80', '34916 80', '34918 80', '34930 80', '34934 80', '34936 80', '34940 80', '35016 80', '35026 80', '35048 80', '35076 80', '35142 80', '35140 80', '35148 80', '35144 80', '35152 80', '35158 80', '35160 80', '35170 80', '34942 80', '34948 80', '34956 80', '34958 80', '34960 80', '34974 80', '34978 80', '34980 80', '34986 80', '34990 80', '34996 80', '35000 80', '35008 80', '35006 80', '35010 80', '35020 80', '35032 80', '35040 80', '35058 80', '35062 80', '35092 80', '35100 80', '35104 80', '35116 80', '35192 80', '35194 80', '35208 80', '35220 80', '35234 80', '35240 80', '35250 80', '35254 80', '35258 80', '35260 80', '35266 80', '35272 80', '35274 80', '35280 80', '35284 80', '35286 80', '35292 80', '35298 80', '35304 80', '35308 80', '35306 80', '35312 80', '35314 80', '35318 80', '35322 80', '35334 80', '35340 80', '35344 80', '35346 80', '35350 80', '35352 80', '35356 80', '35366 80', '35382 80', '35384 80', '35390 80', '35392 80', '35394 80', '35398 80', '35402 80', '35406 80', '35412 80', '35416 80', '35418 80', '35420 80', '35422 80', '35428 80', '35432 80', '35436 80', '35438 80', '35448 80', '35450 80', '35456 80', '35460 80', '35466 80', '35470 80', '35492 80', '35502 80', '35504 80', '35510 80', '35544 80', '35548 80', '35552 80', '35556 80', '35558 80', '35576 80', '35578 80', '35864 80', '35862 80', '35610 80', '35616 80', '35622 80', '35626 80', '35632 80', '35642 80', '35644 80', '35648 80', '35654 80', '35656 80', '35660 80', '35668 80', '35670 80', '35672 80', '35678 80', '35680 80', '35684 80', '35686 80', '35692 80', '35702 80', '35706 80', '35712 80', '35714 80', '35726 80', '35730 80', '35732 80', '35738 80', '35752 80', '35758 80', '35762 80', '35766 80', '35786 80', '35796 80', '35798 80', '35802 80', '35806 80', '35804 80', '35820 80', '35844 80', '35838 80', '35840 80', '35842 80', '35856 80', '35866 80', '35884 80', '35882 80', '35888 80', '35892 80', '35898 80', '35906 80', '35912 80', '35920 80', '35924 80', '35922 80', '35932 80', '35942 80', '35948 80', '35950 80', '35956 80', '35958 80', '35960 80', '35966 80', '35970 80', '36050 80', '36088 80', '36086 80', '36238 80', '36234 80', '36240 80', '36242 80', '36244 80', '36258 80', '35978 80', '35990 80', '36000 80', '36002 80', '36004 80', '36016 80', '36022 80', '36024 80', '36030 80', '36034 80', '36044 80', '36076 80', '36100 80', '36104 80', '36110 80', '36120 80', '36128 80', '36132 80', '36130 80', '36136 80', '36142 80', '36150 80', '36154 80', '36160 80', '36166 80', '36172 80', '36174 80', '36182 80', '36186 80', '36188 80', '36190 80', '36192 80', '36194 80', '36222 80', '36224 80', '36228 80', '36232 80', '36230 80', '36260 80', '36262 80', '36266 80', '36290 80', '36300 80', '36294 80', '36306 80', '36310 80', '36314 80', '36320 80', '36324 80', '36326 80', '36328 80', '36346 80', '36348 80', '36350 80', '36662 80', '36438 80', '36444 80', '36446 80', '36448 80', '36492 80', '36504 80', '36506 80', '36510 80', '36360 80', '36362 80', '36372 80', '36370 80', '36376 80', '36384 80', '36388 80', '36390 80', '36396 80', '36410 80', '36412 80', '36418 80', '36434 80', '36522 80', '36530 80', '36536 80', '36534 80', '36538 80', '36548 80', '36564 80', '36562 80', '36570 80', '36582 80', '36590 80', '36596 80', '36598 80', '36602 80', '36604 80', '36610 80', '36614 80', '36624 80', '36628 80', '36636 80', '36640 80', '36642 80', '36644 80', '36646 80', '36650 80', '36652 80', '36654 80', '36656 80', '36670 80', '36672 80', '36684 80', '36690 80', '36694 80', '36696 80', '36700 80', '36704 80', '36712 80', '36716 80', '36724 80', '36738 80', '36740 80', '36742 80', '37084 80', '37062 80', '36828 80', '36834 80', '36910 80', '36914 80', '36916 80', '36920 80', '36932 80', '36934 80', '36936 80', '36938 80', '36940 80', '36942 80', '36956 80', '36962 80', '36960 80', '36964 80', '36968 80', '36970 80', '36764 80', '36774 80', '36778 80', '36814 80', '36820 80', '36854 80', '36862 80', '36864 80', '36874 80', '36894 80', '36896 80', '36900 80', '36904 80', '36906 80', '36908 80', '36954 80', '36972 80', '36974 80', '36976 80', '36988 80', '36992 80', '36994 80', '36998 80', '37020 80', '37032 80', '37040 80', '37042 80', '37046 80', '37050 80', '37054 80', '37070 80', '37074 80', '37076 80', '37082 80', '37096 80', '37100 80', '37102 80', '37112 80', '37118 80', '37116 80', '37120 80', '37126 80', '37484 80', '37246 80', '37252 80', '37264 80', '37272 80', '37274 80', '37288 80', '37294 80', '37354 80', '37358 80', '37362 80', '37370 80', '37374 80', '37372 80', '37382 80', '37384 80', '37392 80', '37390 80', '37138 80', '37146 80', '37162 80', '37168 80', '37170 80', '37188 80', '37190 80', '37198 80', '37196 80', '37208 80', '37218 80', '37236 80', '37238 80', '37244 80', '37266 80', '37284 80', '37290 80', '37300 80', '37304 80', '37318 80', '37322 80', '37324 80', '37348 80', '37352 80', '37388 80', '37398 80', '37402 80', '37404 80', '37422 80', '37428 80', '37430 80', '37432 80', '37434 80', '37446 80', '37450 80', '37448 80', '37454 80', '37462 80', '37464 80', '37474 80', '37510 80', '37514 80', '37518 80', '37522 80', '37524 80', '37528 80', '37534 80', '37546 80', '37548 80', '37550 80', '37562 80', '37568 80', '37572 80', '37584 80', '37590 80', '37592 80', '37600 80', '37602 80', '37604 80', '37610 80', '37624 80', '37628 80', '37632 80', '37634 80', '37650 80', '37876 80', '37680 80', '37872 80', '37686 80', '37896 80', '37696 80', '37708 80', '37906 80', '37712 80', '37716 80', '37914 80', '37722 80', '37724 80', '37738 80', '37938 80', '37740 80', '37946 80', '37746 80', '37950 80', '37748 80', '37954 80', '37758 80', '37968 80', '37762 80', '37928 80', '37766 80', '37776 80', '37782 80', '37784 80', '37800 80', '37804 80', '37830 80', '37832 80', '37844 80', '37858 80', '37866 80', '37730 80', '37732 80', '37734 80', '37742 80', '37756 80', '37778 80', '37794 80', '37856 80', '37892 80', '37932 80', '37936 80', '37952 80', '37956 80', '37962 80', '37964 80', '37984 80', '37982 80', '38044 80', '38002 80', '37996 80', '37986 80', '37978 80', '37992 80', '38024 80', '37972 80', '38060 80', '38072 80', '38056 80', '38134 80', '38098 80', '38086 80', '38154 80', '38074 80', '38068 80', '38118 80', '38116 80', '38128 80', '38212 80', '38146 80', '38092 80', '38054 80', '38112 80', '38124 80', '38096 80', '38144 80', '38108 80', '38428 80', '38176 80', '38186 80', '38078 80', '38200 80', '38188 80', '38224 80', '38226 80', '38236 80', '38270 80', '38276 80', '38280 80', '38282 80', '38286 80', '38296 80', '38300 80', '38306 80', '38320 80', '38316 80', '38324 80', '38328 80', '38354 80', '38350 80', '38342 80', '38344 80', '38352 80', '38362 80', '38360 80', '38366 80', '38382 80', '38380 80', '38388 80', '38392 80', '38394 80', '38398 80', '38410 80', '38412 80', '38422 80', '38432 80', '38430 80', '38650 80', '38572 80', '38576 80', '38574 80', '38578 80', '38580 80', '38586 80', '38596 80', '38598 80', '38604 80', '38602 80', '38606 80', '38610 80', '38616 80', '38634 80', '38646 80', '38652 80', '38656 80', '38660 80', '38664 80', '38666 80', '38668 80', '38678 80', '38676 80', '38684 80', '38686 80', '38700 80', '38704 80', '38718 80', '38716 80', '38742 80', '38750 80', '38760 80', '38758 80', '38770 80', '38772 80', '38774 80', '38788 80', '38794 80', '38798 80', '38434 80', '38436 80', '38442 80', '38452 80', '38450 80', '38468 80', '38466 80', '38464 80', '38474 80', '38498 80', '38508 80', '38526 80', '38518 80', '38536 80', '38534 80', '38538 80', '38542 80', '38540 80', '38550 80', '38554 80', '38556 80', '38564 80', '38822 80', '38824 80', '38828 80', '38830 80', '38844 80', '38852 80', '38864 80', '38870 80', '38872 80', '38876 80', '38874 80', '38880 80', '38886 80', '38888 80', '38892 80', '38894 80', '38906 80', '38916 80', '38920 80', '38924 80', '38932 80', '38934 80', '38942 80', '38960 80', '38962 80', '38964 80', '38968 80', '38976 80', '38978 80', '38982 80', '39006 80', '39018 80', '39022 80', '39030 80', '39038 80', '39050 80', '39056 80', '39058 80', '39064 80', '39072 80', '39078 80', '39080 80', '39086 80', '39092 80', '39098 80', '39120 80', '39124 80', '39126 80', '39132 80', '39130 80', '39136 80', '39138 80', '39140 80', '39148 80', '39152 80', '39172 80', '39174 80', '39196 80', '39200 80', '39418 80', '39408 80', '39206 80', '39210 80', '39214 80', '39230 80', '39238 80', '39244 80', '39246 80', '39254 80', '39262 80', '39272 80', '39284 80', '39286 80', '39300 80', '39308 80', '39314 80', '39324 80', '39328 80', '39332 80', '39336 80', '39338 80', '39350 80', '39358 80', '39364 80', '39368 80', '39372 80', '39370 80', '39376 80', '39384 80', '39386 80', '39388 80', '39394 80', '39396 80', '39406 80', '39424 80', '39442 80', '39466 80', '39470 80', '39476 80', '39482 80', '39484 80', '39488 80', '39494 80', '39498 80', '39500 80', '39504 80', '39508 80', '39516 80', '39518 80', '39528 80', '39532 80', '39536 80', '39534 80', '39542 80', '39546 80', '39554 80', '39552 80', '39564 80', '39578 80', '39582 80', '39584 80', '39586 80', '39600 80', '39606 80', '39614 80', '39622 80', '39626 80', '39640 80', '39650 80', '39652 80', '39664 80', '39672 80', '39676 80', '39680 80', '39686 80', '39688 80', '39692 80', '39706 80', '39722 80', '39740 80', '39746 80', '39762 80', '39764 80', '39772 80', '48628 80', '48636 80', '48652 80', '48662 80', '48664 80', '48668 80', '48670 80', '48694 80', '48700 80', '48702 80', '48706 80', '48724 80', '48720 80', '48722 80', '48726 80', '48730 80', '48732 80', '48736 80', '48738 80', '48740 80', '48752 80', '48756 80', '48760 80', '48764 80', '48770 80', '48778 80', '48780 80', '48782 80', '48788 80', '48790 80', '48794 80', '48796 80', '48798 80', '48806 80', '48812 80', '48818 80', '48824 80', '48828 80', '48834 80', '48840 80', '48848 80', '48852 80', '48862 80', '48868 80', '48870 80', '48874 80', '48882 80', '48894 80', '48898 80', '48912 80', '48914 80', '48902 80', '48918 80', '48922 80', '48928 80', '48930 80', '48940 80', '48952 80', '48962 80', '48972 80', '48986 80', '48990 80', '48988 80', '49000 80', '49002 80', '49008 80', '49006 80', '49016 80', '49022 80', '49032 80', '49042 80', '49046 80', '49050 80', '49058 80', '49086 80', '49316 80', '49094 80', '49104 80', '49114 80', '49120 80', '49126 80', '49124 80', '49132 80', '49140 80', '49154 80', '49152 80', '49164 80', '49168 80', '49176 80', '49184 80', '49188 80', '49192 80', '49198 80', '49200 80', '49204 80', '49206 80', '49210 80', '49214 80', '49218 80', '49222 80', '49228 80', '49226 80', '49232 80', '49238 80', '49242 80', '49252 80', '49266 80', '49264 80', '49268 80', '49270 80', '49276 80', '49288 80', '49290 80', '49302 80', '49308 80', '49326 80', '49330 80', '49346 80', '49356 80', '49364 80', '49372 80', '49384 80', '49390 80', '49392 80', '49394 80', '49402 80', '49408 80', '49414 80', '49418 80', '49424 80', '49430 80', '49432 80', '49436 80', '49468 80', '49476 80', '49478 80', '49674 80', '49676 80', '49666 80', '49724 80', '49728 80', '49756 80', '49480 80', '49482 80', '49484 80', '49500 80', '49502 80', '49506 80', '49528 80', '49526 80', '49530 80', '49538 80', '49550 80', '49554 80', '49560 80', '49570 80', '49572 80', '49578 80', '49582 80', '49594 80', '49598 80', '49610 80', '49608 80', '49618 80', '49622 80', '49624 80', '49634 80', '49636 80', '49644 80', '49654 80', '49656 80', '49658 80', '49660 80', '49670 80', '49678 80', '49680 80', '49684 80', '49692 80', '49704 80', '49710 80', '49712 80', '49718 80', '49720 80', '49730 80', '49734 80', '49738 80', '49754 80', '49760 80', '49758 80', '49762 80', '49766 80', '49778 80', '49780 80', '49784 80', '49792 80', '49794 80', '49798 80', '49802 80', '49808 80', '49810 80', '49816 80', '49820 80', '49826 80', '49828 80', '49836 80', '49834 80', '49844 80', '49842 80', '49850 80', '49852 80', '49860 80', '50062 80', '50064 80', '49874 80', '49876 80', '49878 80', '49880 80', '49884 80', '49886 80', '49896 80', '49906 80', '49912 80', '49914 80', '49916 80', '49920 80', '49924 80', '49944 80', '49946 80', '49952 80', '49956 80', '49960 80', '49970 80', '49988 80', '50002 80', '50006 80', '50012 80', '50010 80', '50016 80', '50018 80', '50022 80', '50024 80', '50028 80', '50034 80', '50032 80', '50036 80', '50050 80', '50048 80', '50046 80', '50056 80', '50052 80', '50058 80', '50066 80', '50072 80', '50088 80', '50096 80', '50090 80', '50108 80', '50112 80', '50110 80', '50116 80', '50120 80', '50124 80', '50136 80', '50138 80', '50144 80', '50148 80', '50146 80', '50152 80', '50158 80', '50164 80', '50166 80', '50168 80', '50176 80', '50180 80', '50186 80', '50184 80', '50190 80', '50192 80', '50198 80', '50196 80', '50212 80', '50224 80', '50236 80', '50242 80', '50246 80', '50250 80', '50490 80', '50492 80', '50520 80', '50544 80', '50572 80', '50578 80', '50260 80', '50264 80', '50280 80', '50282 80', '50284 80', '50294 80', '50292 80', '50304 80', '50302 80', '50312 80', '50328 80', '50338 80', '50336 80', '50340 80', '50342 80', '50344 80', '50346 80', '50350 80', '50370 80', '50372 80', '50376 80', '50386 80', '50392 80', '50394 80', '50396 80', '50406 80', '50412 80', '50418 80', '50422 80', '50426 80', '50430 80', '50428 80', '50434 80', '50444 80', '50450 80', '50460 80', '50464 80', '50466 80', '50478 80', '50500 80', '50502 80', '50524 80', '50526 80', '50528 80', '50538 80', '50552 80', '50554 80', '50566 80', '50580 80', '50584 80', '50586 80', '50596 80', '50594 80', '50600 80', '50608 80', '50612 80', '50616 80', '50614 80', '50618 80', '50632 80', '50636 80', '50644 80', '50654 80', '50656 80', '50686 80']
    slowloris=['49632 80', '53058 80', '53688 80', '53682 80', '53658 80', '53648 80', '53642 80', '53634 80', '53630 80', '53660 80', '53598 80', '53578 80', '53568 80', '53566 80', '53554 80', '53552 80', '53528 80', '53512 80', '53510 80', '53506 80', '53496 80', '53494 80', '53490 80', '53472 80', '53468 80', '53470 80', '53458 80', '53440 80', '53438 80', '53436 80', '53426 80', '53422 80', '53846 80', '53858 80', '53866 80', '53872 80', '53878 80', '53890 80', '53896 80', '53902 80', '53912 80', '53918 80', '53926 80', '53932 80', '53940 80', '53948 80', '53956 80', '53982 80', '53990 80', '53996 80', '53898 80', '53922 80', '53964 80', '54018 80', '53740 80', '53742 80', '53766 80', '53794 80', '53812 80', '53808 80', '53818 80', '53850 80', '53862 80', '53874 80', '53892 80', '53904 80', '53910 80', '53942 80', '53958 80', '53984 80', '53992 80', '54006 80', '53788 80', '53798 80', '53796 80', '53810 80', '53826 80', '53842 80', '53856 80', '53864 80', '53870 80', '53900 80', '53888 80', '53924 80', '53930 80', '53938 80', '53952 80', '53970 80', '53978 80', '53988 80', '54002 80', '54016 80', '54012 80', '54024 80', '54026 80', '54030 80', '54032 80', '54034 80', '54040 80', '54046 80', '54048 80', '54050 80', '54058 80', '54056 80', '54060 80', '54066 80', '54062 80', '54070 80', '54080 80', '54082 80', '54084 80', '54096 80', '54100 80', '54114 80', '54126 80', '54140 80', '54146 80', '54144 80', '54154 80', '54166 80', '54178 80', '54182 80', '54190 80', '54192 80', '54200 80', '54210 80', '54214 80', '54208 80', '54216 80', '54220 80', '54232 80', '54228 80', '54234 80', '54238 80', '54244 80', '54252 80', '54256 80', '54258 80', '54274 80', '54282 80', '54286 80', '54318 80', '54268 80', '54280 80', '54276 80', '54298 80', '54308 80', '54266 80', '54272 80', '54278 80', '54304 80', '54312 80', '54292 80', '54314 80', '54370 80', '54362 80', '54376 80', '54344 80', '54388 80', '54368 80', '54378 80', '54360 80', '54420 80', '54428 80', '54432 80', '54446 80', '54448 80', '54454 80', '54408 80', '54412 80', '54422 80', '54452 80', '54462 80', '54480 80', '54484 80', '54504 80', '54518 80', '54530 80', '54532 80', '54542 80', '54562 80', '54564 80', '54576 80', '54592 80', '54614 80', '54626 80', '54630 80', '54632 80', '54650 80', '54654 80', '54656 80', '54672 80', '54676 80', '54680 80', '54684 80', '54692 80', '54704 80', '54708 80', '54714 80', '54716 80', '54718 80', '54724 80', '54726 80', '54730 80', '54736 80', '54738 80', '54754 80', '54766 80', '54764 80', '54768 80', '54774 80', '54780 80', '54800 80', '54798 80', '54806 80', '54808 80', '54810 80', '54822 80', '54824 80', '54840 80', '54842 80', '54844 80', '54850 80', '54852 80', '54854 80', '54860 80', '54866 80', '54872 80', '54874 80', '54876 80', '54884 80', '54886 80', '54890 80', '54892 80', '54894 80', '54898 80', '54904 80', '54912 80', '54916 80', '54920 80', '54938 80', '54942 80', '54950 80', '54956 80', '54968 80', '54972 80', '54974 80', '54978 80', '54980 80', '54986 80', '54994 80', '54998 80', '55006 80', '55010 80', '55022 80', '55024 80', '55026 80', '55028 80', '55032 80', '55034 80', '55040 80', '55048 80', '55052 80', '55056 80', '55058 80', '55064 80', '55068 80', '55070 80', '55072 80', '55076 80', '55094 80', '55104 80', '55108 80', '55116 80', '55128 80', '55134 80', '55144 80', '55148 80', '55156 80', '55164 80', '55172 80', '55184 80', '55186 80', '55190 80', '55204 80', '55210 80', '55214 80', '55218 80', '55228 80', '55232 80', '55242 80', '55244 80', '55246 80', '55260 80', '55274 80', '55272 80', '55288 80', '55302 80', '55312 80', '55314 80', '55316 80', '55320 80', '55324 80', '55338 80', '55340 80', '55352 80', '55358 80', '55366 80', '55374 80', '55376 80', '55386 80', '55390 80', '55396 80', '55402 80', '55400 80', '55410 80', '55416 80', '55422 80', '55420 80', '55424 80', '55448 80', '55454 80', '55456 80', '55458 80', '55464 80', '55466 80', '55484 80', '55490 80', '55498 80', '55504 80', '55512 80', '55518 80', '55516 80', '55532 80', '55534 80', '55546 80', '55542 80', '55558 80', '55570 80', '55578 80', '55582 80', '55604 80', '55612 80', '55620 80', '55628 80', '55632 80', '55634 80', '55638 80', '55640 80', '55644 80', '55652 80', '55658 80', '55670 80', '55678 80', '55686 80', '55692 80', '55696 80', '55698 80', '55702 80', '55706 80', '55708 80', '55714 80', '55718 80', '55726 80', '55728 80', '55762 80', '55768 80', '55772 80', '55780 80', '55778 80', '55786 80', '55782 80', '55792 80', '55798 80', '55802 80', '55800 80', '55804 80', '55810 80', '55814 80', '55828 80', '55826 80', '55832 80', '55830 80', '55836 80', '55838 80', '55856 80', '55858 80', '55862 80', '55868 80', '55870 80', '55876 80', '55878 80', '55884 80', '55894 80', '55904 80', '55910 80', '55912 80', '55914 80', '55916 80', '55920 80', '55918 80', '55946 80', '55954 80', '55952 80', '55976 80', '55986 80', '55988 80', '55992 80', '55998 80', '56006 80', '56012 80', '56044 80', '56042 80', '56060 80', '56076 80', '56074 80', '56090 80', '56092 80', '56096 80', '56098 80', '56106 80', '56108 80', '56110 80', '56112 80', '56116 80', '56118 80', '56122 80', '56120 80', '56130 80', '56134 80', '56144 80', '56148 80', '56146 80', '56150 80', '56158 80', '56172 80', '56168 80', '56178 80', '56180 80', '56182 80', '56184 80', '56190 80', '56192 80', '56188 80', '56194 80', '56196 80', '56204 80', '56202 80', '56218 80', '56216 80', '56240 80', '56242 80', '56244 80', '56248 80', '56262 80', '56264 80', '56268 80', '56274 80', '56278 80', '56276 80', '56282 80', '56284 80', '56296 80', '56298 80', '56294 80', '56292 80', '56302 80', '56308 80', '56318 80', '56324 80', '56326 80', '56340 80', '56336 80', '56360 80', '56368 80', '56372 80', '56396 80', '56400 80', '56414 80', '56408 80', '56416 80', '56426 80', '56432 80', '56438 80', '56440 80', '56436 80', '56444 80', '56470 80', '56482 80', '56486 80', '56488 80', '56498 80', '56502 80', '56510 80', '56512 80', '56516 80', '56534 80', '56536 80', '56540 80', '56546 80', '56548 80', '56552 80', '56566 80', '56564 80', '56568 80', '56580 80', '56586 80', '56600 80', '56598 80', '56596 80', '56604 80', '56612 80', '56618 80', '56622 80', '56624 80', '56626 80', '56628 80', '56630 80', '56640 80', '56644 80', '56646 80', '56650 80', '56652 80', '56658 80', '56656 80', '56662 80', '56660 80', '56664 80', '56672 80', '56688 80', '56700 80', '56696 80', '56712 80', '56716 80', '56726 80', '56728 80', '56724 80', '56732 80', '56730 80', '56734 80', '56740 80', '56744 80', '56736 80', '56748 80', '56746 80', '56750 80', '56752 80', '56762 80', '56766 80', '56772 80', '56776 80', '56784 80', '56790 80', '56792 80', '56796 80', '56800 80', '56816 80', '56818 80', '56820 80', '56834 80', '56840 80', '56850 80', '56860 80', '56862 80', '56866 80', '56874 80', '56872 80', '56882 80', '56884 80', '56886 80', '56890 80', '56892 80', '56904 80', '56908 80', '56910 80', '56912 80', '56914 80', '56918 80', '56920 80', '56922 80', '56936 80', '56938 80', '56950 80', '56952 80', '56954 80', '56960 80', '56966 80', '56970 80', '56976 80', '56990 80', '56992 80', '56994 80', '56996 80', '57002 80', '57006 80', '57008 80', '57010 80', '57012 80', '57014 80', '57016 80', '57018 80', '57022 80', '57026 80', '57032 80', '57044 80', '57046 80', '57050 80', '57052 80', '57062 80', '57066 80', '57064 80', '57068 80', '57074 80', '57076 80', '57080 80', '57084 80', '57092 80', '57094 80', '57096 80', '57098 80', '57100 80', '57106 80', '57108 80', '57116 80', '57118 80', '57124 80', '57126 80', '57128 80', '57130 80', '57132 80', '57136 80', '57142 80', '57144 80', '57148 80', '57150 80', '57152 80', '57154 80', '57156 80', '57158 80', '57160 80', '57162 80', '57166 80', '57168 80', '57170 80', '57172 80', '57174 80', '57178 80', '57182 80', '57184 80', '57188 80', '57190 80', '57192 80', '57194 80', '57200 80', '57202 80', '57204 80', '57206 80', '57210 80', '57214 80', '57216 80', '57218 80', '57222 80', '57226 80', '57230 80', '57232 80', '57236 80', '57238 80', '57254 80', '57260 80', '57268 80', '57280 80', '57278 80', '57284 80', '57292 80', '57296 80', '57302 80', '57306 80', '57310 80', '57320 80', '57322 80', '57328 80', '57340 80', '57352 80', '57358 80', '57362 80', '57364 80', '57378 80', '57372 80', '57384 80', '57386 80', '57388 80', '57390 80', '57394 80', '57412 80', '57426 80', '57454 80', '57458 80', '57470 80', '57474 80', '57478 80', '57482 80', '57484 80', '57488 80', '57490 80', '57492 80', '57498 80', '57500 80', '57508 80', '57506 80', '57514 80', '57516 80', '57520 80', '57526 80', '57528 80', '57530 80', '57536 80', '57538 80', '57540 80', '57542 80', '57544 80', '57548 80', '57556 80', '57558 80', '57564 80', '57566 80', '57568 80', '57570 80', '57574 80', '57576 80', '57582 80', '57586 80', '57596 80', '57600 80', '57602 80', '57604 80', '57608 80', '57618 80', '57628 80', '57646 80', '57650 80', '57652 80', '57654 80', '57656 80', '57664 80', '57668 80', '57670 80', '57680 80', '57682 80', '57686 80', '57692 80', '57690 80', '57710 80', '57712 80', '57716 80', '57720 80', '57728 80', '57736 80', '57738 80', '57744 80', '57754 80', '57756 80', '57766 80', '57768 80', '57774 80', '57778 80', '57780 80', '57784 80', '57786 80', '57788 80', '57794 80', '57800 80', '57802 80', '57804 80', '57812 80', '57810 80', '57824 80', '57828 80', '57838 80', '57844 80', '57852 80', '57854 80', '57882 80', '57886 80', '57894 80', '57908 80', '57922 80', '57930 80', '57932 80', '57934 80', '57938 80', '57956 80', '57958 80', '57964 80', '57972 80', '57970 80', '57968 80', '57974 80', '57978 80', '57980 80', '57992 80', '57998 80', '57996 80', '58002 80', '58008 80', '58026 80', '58032 80', '58038 80', '58042 80', '58044 80', '58046 80', '58048 80', '58080 80', '58086 80', '58094 80', '58096 80', '58108 80', '58112 80', '58122 80', '58120 80', '58134 80', '58138 80', '58140 80', '58154 80', '58160 80', '58168 80', '58170 80', '58174 80', '58192 80', '58202 80', '58210 80', '58216 80', '58214 80', '58220 80', '58222 80', '58224 80', '58226 80', '58232 80', '58234 80', '58238 80', '58242 80', '58244 80', '58246 80', '58250 80', '58260 80', '58268 80', '58272 80', '58280 80', '58284 80', '58294 80', '58296 80', '58300 80', '58302 80', '58306 80', '58308 80', '58310 80', '58312 80', '58314 80', '58316 80', '58318 80', '58320 80', '58322 80', '58324 80', '58326 80', '58328 80', '58330 80', '58344 80', '58358 80', '58362 80', '58366 80', '58368 80', '58376 80', '58380 80', '58386 80', '58388 80', '58392 80', '58394 80', '58400 80', '58398 80', '58404 80', '58402 80', '58406 80', '58408 80', '58410 80', '58414 80', '58420 80', '58422 80', '58426 80', '58424 80', '58430 80', '58434 80', '58444 80', '58448 80', '58454 80', '58456 80', '58462 80', '58460 80', '58464 80', '58466 80', '58470 80', '58474 80', '58472 80', '58486 80', '58492 80', '58496 80', '58498 80', '58502 80', '58504 80', '58508 80', '58510 80', '58514 80', '58516 80', '58518 80', '58522 80', '58524 80', '58532 80', '58540 80', '58542 80', '58550 80', '58554 80', '58560 80', '58564 80', '58570 80', '58572 80', '58576 80', '58578 80', '58584 80', '58588 80', '58590 80', '58592 80', '58594 80', '58648 80', '58650 80', '58656 80', '58654 80', '58658 80', '58660 80', '58662 80', '58666 80', '58668 80', '58670 80', '58676 80', '58674 80', '58684 80', '58686 80', '58692 80', '58700 80', '58704 80', '58710 80', '58714 80', '58718 80', '58726 80', '58742 80', '58750 80', '58758 80', '58768 80', '58770 80', '58778 80', '58782 80', '58784 80', '58788 80', '58790 80', '58792 80', '58806 80', '58808 80', '58810 80', '58914 80', '58928 80', '58934 80', '58948 80', '58946 80', '58972 80', '58976 80', '58980 80', '58992 80', '58996 80', '59000 80', '59010 80', '59018 80', '59030 80', '59034 80', '59040 80', '59042 80', '59044 80', '59050 80', '59054 80', '59058 80', '59092 80', '59094 80', '59098 80', '59100 80', '59102 80', '59106 80', '59108 80', '59110 80', '59114 80', '59118 80', '59128 80', '59146 80', '59148 80', '59158 80', '59168 80', '59170 80', '59180 80', '59182 80', '59184 80', '59186 80', '59192 80', '59196 80', '59202 80', '59204 80', '59210 80', '59208 80', '59224 80', '59228 80', '59230 80', '59234 80', '59244 80', '59246 80', '59248 80', '59254 80', '59256 80', '59258 80', '59274 80', '59304 80', '59308 80', '59310 80', '59312 80', '59316 80', '59318 80', '59324 80', '59326 80', '59332 80', '59344 80', '59348 80', '59362 80', '59364 80', '59368 80', '59378 80', '59384 80', '59382 80', '59388 80', '59392 80', '59406 80', '59410 80', '59412 80', '59416 80', '59414 80', '59438 80', '59442 80', '59460 80', '59464 80', '59468 80', '59470 80', '59472 80', '59474 80', '59476 80', '59480 80', '59484 80', '59482 80', '59486 80', '59488 80', '59490 80', '59492 80', '59496 80', '59498 80', '59502 80', '59500 80', '59504 80', '59510 80', '59516 80', '59514 80', '59524 80', '59530 80', '59532 80', '59534 80', '59536 80', '59540 80', '59542 80', '59544 80', '59546 80', '59550 80', '59554 80', '59552 80', '59560 80', '59566 80', '59570 80', '59572 80', '59574 80', '59576 80', '59578 80', '59582 80', '59584 80', '59586 80', '59590 80', '59592 80', '59602 80', '59606 80', '59614 80', '59618 80', '59626 80', '59628 80', '59630 80', '59632 80', '59638 80', '59640 80', '59644 80', '59652 80', '59660 80', '59662 80', '59664 80', '59668 80', '59676 80', '59678 80', '59680 80', '59682 80', '59690 80', '59692 80', '59694 80', '59696 80', '59702 80', '59708 80', '59710 80', '59714 80', '59716 80', '59722 80', '59726 80', '59742 80', '59746 80', '59754 80', '59762 80', '59768 80', '59774 80', '59792 80', '59794 80', '59798 80', '59800 80', '59804 80', '59808 80', '59818 80', '59820 80', '59824 80', '59836 80', '59838 80', '59842 80', '59846 80', '59856 80', '59862 80', '59868 80', '59876 80', '59894 80', '59896 80', '59902 80', '59908 80', '59912 80', '59914 80', '59926 80', '59936 80', '59938 80', '59940 80', '59946 80', '59950 80', '59954 80', '59958 80', '59976 80', '59996 80', '60002 80', '60018 80', '60020 80', '60024 80', '60028 80', '60034 80', '60050 80', '60052 80', '60058 80', '60070 80', '60078 80', '60082 80', '60084 80', '60086 80', '60090 80', '60100 80', '60102 80', '60114 80', '60122 80', '60120 80', '60128 80', '60132 80', '60134 80', '60138 80', '60146 80', '60152 80', '60156 80', '60158 80', '60160 80', '60164 80', '60172 80', '60180 80', '60178 80', '60186 80', '60192 80', '60198 80', '60210 80', '60216 80', '60234 80', '60238 80', '60236 80', '60250 80', '60252 80', '60254 80', '60258 80', '60256 80', '60270 80', '60272 80', '60274 80', '60278 80', '60280 80', '60284 80', '60282 80', '60286 80', '60290 80', '60296 80', '60302 80', '60306 80', '60312 80', '60326 80', '60328 80', '60332 80', '60340 80', '60342 80', '60344 80', '60348 80', '60352 80', '60360 80', '60364 80', '60368 80', '60372 80', '60374 80', '60376 80', '60380 80', '60384 80', '60388 80', '60390 80', '60398 80', '60406 80', '60412 80', '60420 80', '60422 80', '60424 80', '60438 80', '60442 80', '60452 80', '60466 80', '60480 80', '60488 80', '60490 80', '60500 80', '60502 80', '60508 80', '60518 80', '60520 80', '60524 80', '60542 80', '60550 80', '60554 80', '60560 80', '60562 80', '60568 80', '60574 80', '60576 80', '60580 80', '60598 80', '60604 80', '60608 80', '60610 80', '60612 80', '60622 80', '60624 80', '60628 80', '60636 80', '60642 80', '60650 80', '60658 80', '60660 80', '60662 80', '60674 80', '60676 80', '60680 80', '60706 80', '60708 80', '60716 80', '60714 80', '60730 80', '60732 80', '60734 80', '60738 80', '60740 80', '60746 80', '60754 80', '60756 80', '60764 80', '60766 80', '60786 80', '60802 80', '60808 80', '60816 80', '60814 80', '60822 80', '60836 80', '60840 80', '60856 80', '60852 80', '60864 80', '60868 80', '60876 80', '60894 80', '60898 80', '60912 80', '60910 80', '60916 80', '60918 80', '60932 80', '60942 80', '60944 80', '60956 80', '60960 80', '60958 80', '60970 80', '60986 80', '60990 80', '60988 80', '60992 80', '60994 80', '60998 80', '60996 80', '32778 80', '32772 80', '32786 80', '32782 80', '32788 80', '32790 80', '32798 80', '32796 80', '32806 80', '32808 80', '32804 80', '32812 80', '32816 80', '32828 80', '32832 80', '32836 80', '32842 80', '32838 80', '32862 80', '32868 80', '32872 80', '32882 80', '32886 80', '32888 80', '32890 80', '32896 80', '32906 80', '32900 80', '32910 80', '32912 80', '32914 80', '32928 80', '32926 80', '32930 80', '32950 80', '32956 80', '32954 80', '32962 80', '32966 80', '32974 80', '32986 80', '33002 80', '33006 80', '33016 80', '33018 80', '33026 80', '33036 80', '33042 80', '33054 80', '33050 80', '33058 80', '33070 80', '33072 80', '33078 80', '33076 80', '33102 80', '33104 80', '33108 80', '33112 80', '33118 80', '33130 80', '33136 80', '33132 80', '33162 80', '33164 80', '33166 80', '33178 80', '33176 80', '33188 80', '33200 80', '33202 80', '33210 80', '33206 80', '33214 80', '33230 80', '33240 80', '33242 80', '33244 80', '33254 80', '33258 80', '33272 80', '33276 80', '33278 80', '33292 80', '33290 80', '33288 80', '33294 80', '33310 80', '33316 80', '33314 80', '33328 80', '33330 80', '33340 80', '33348 80', '33352 80', '33358 80', '33360 80', '33362 80']
    fake_port.append(GoldenEye)
    fake_port.append(hulk)
    fake_port.append(LOIT)
    fake_port.append(slowhttptest)
    fake_port.append(slowloris)
    addr=["1","2","3","4","5","GoldenEye","Hulk","LOIT","slowhttptest","slowloris"]
    #addr=["GoldenEye","Hulk","LOIT","slowhttptest","slowloris"]
    tag=[0,0,0,0,0,1,2,3,4,5]
    #tag=[0,1,2,3,4]
    class_flow=6
    num_node=para['num_node']
    for i in range(len(addr)):
        flows_DDoS,flows_norm=csv_dataset(addr[i],fake_port[i])
        #load一个文件建一次图
        if(tag[i]!=0):
            for k in flows_DDoS:
            #print("flow_DDoS:%s" % len(k))
                g_list.extend(cons_graph(k,num_node,tag[i]))
            #print("flow_DDoS:%s" %len(g_list))
        for m in flows_norm:
            #print("flow_norm:%s" % len(m))
            li=cons_graph(m,num_node,0)
            if(li != None):
                g_list.extend(li)
                #print("flow_norm:%s" %len(g_list))

    for g in g_list:#
        g.neighbors = [[] for i in range(len(g.g))]
        for i, j in g.g.edges():
            g.neighbors[i].append(j)
            g.neighbors[j].append(i)
        degree_list = []
        for i in range(len(g.g)):
            g.neighbors[i] = g.neighbors[i]
            degree_list.append(len(g.neighbors[i]))
        g.max_neighbor = max(degree_list)

        #g.label = lable_dict[g.label]

        edges = [list(pair) for pair in g.g.edges()]#拓展边,无向边

        edges.extend([[i, j] for j, i in edges])

        deg_list = list(dict(g.g.degree(range(len(g.g)))).values())
        g.edge_mat = torch.LongTensor(edges).transpose(0,1)

    if degree_as_tag:
        for g in g_list:
            g.node_tags = list(dict(g.g.degree).values())

    #Extracting unique tag labels

    tagset = set([])
    for g in g_list:
        #print(g.node_tags)
        tagset = tagset.union(set(g.node_tags))
        #print(tagset)

    tagset = list(tagset)
    tag2index = {tagset[i]:i for i in range(len(tagset))}
    num_normal=0
    num_DDoS=0
    for g in g_list:
        if(g.label==0):
            num_normal+=1
        if(g.label==1):
            num_DDoS+=1
        g.node_features = torch.zeros(len(g.node_tags), len(tagset))
        g.node_features[range(len(g.node_tags)), [tag2index[tag] for tag in g.node_tags]] = 1
    num_DDoS=len(g_list)-num_normal

    print('# classes: %d' %class_flow)
    print('# maximum node tag: %d' % len(tagset))

    print("# data: %d" % len(g_list))
    print("num_normal:%d" %num_normal)
    print("num_DDoS:%d" %num_DDoS )

    return g_list, class_flow

def separate_data(graph_list, seed, fold_idx):
    assert 0 <= fold_idx and fold_idx < 10, "fold_idx must be from 0 to 9."
    skf = StratifiedKFold(n_splits=10, shuffle = True, random_state = seed)

    labels = [graph.label for graph in graph_list]
    idx_list = []
    for idx in skf.split(np.zeros(len(labels)), labels):
        idx_list.append(idx)
    train_idx, test_idx = idx_list[fold_idx]

    train_graph_list = [graph_list[i] for i in train_idx]
    test_graph_list = [graph_list[i] for i in test_idx]

    return train_graph_list, test_graph_list