CHARSET="ANSI";
AXIS-VERSION="2013";
CODEPAGE="ISO-8859-15";
LANGUAGE="fi";
LANGUAGES="fi";
CREATION-DATE="20200625 09:00";
DECIMALS=0;
SHOWDECIMALS=0;
MATRIX="asas";
SUBJECT-CODE="Asuminen";
SUBJECT-AREA="ASU";
COPYRIGHT=YES;
DESCRIPTION="R01E Asunnot osa-alueittain talotyypin, varustetason ja valmistumisvuoden mukaan 31.12, 2015-2019";
TITLE="R01E Asunnot osa-alueittain talotyypin, varustetason ja valmistumisvuoden mukaan 31.12, 2015-2019";
DESCRIPTIONDEFAULT=YES;
CONTENTS="R01E Asunnot 31.12, 2015-2019";
UNITS="Asunto";
STUB="Osa-alue","Vuosi";
HEADING="Talotyyppi","Varustetaso","Valmistumisvuosi";
VALUES("Osa-alue")="853 Turku",
"853101001 Rauhankatu VII",
"853101002 Ursininkatu pohj.",
"853101003 Ursininkatu et.",
"853101004 Kristiinankatu et.",
"853101005 Kristiinankatu pohj.",
"853101006 Puolalanmäki VII",
"853101007 Tuurepori VI",
"853101008 Kauppatori VI",
"853101009 Verkatehdas VI",
"853102010 Yliopisto I",
"853102011 Sirkkala I",
"853103012 Vartiovuori II",
"853103013 Samppalinna III",
"853103014 Urheilupuisto III",
"853104015 Martti IV",
"853104016 Itäranta",
"853105017 Länsiranta",
"853105018 Kakola",
"853105019 Port Arthur",
"853106020 Iso-Heikkilä it.",
"853106021 Iso-Heikkilä länt.",
"853109029 Kupittaa",
"853110030 Kurjenmäki it.",
"853110031 Kurjenmäki länt.",
"853110032 Mäntymäki",
"853111033 Vähäheikkilä it.",
"853111034 Vähäheikkilä länt.",
"853112035 Korppolaismäki",
"853112036 Majakkaranta",
"853113037 Otkantti",
"853113038 Rahtisatama",
"853127022 Vatsela",
"853142128 Ruissalo",
"853214040 Pikisaari",
"853214041 Jänessaari",
"853214042 Maanpää",
"853215043 Lauttaranta",
"853215044 Särkilahti",
"853215045 Illoinen",
"853215046 Oriniemi",
"853216047 Toijainen",
"853216048 Kukola",
"853216049 Haarla",
"853216050 Friskala",
"853217051 Moikoinen",
"853217052 Kaistarniemi",
"853217053 Papinsaari",
"853218054 Satava",
"853218055 Kakskerta",
"853311058 Vähäheikkilä loun.",
"853311059 Vähäheikkilä kaak.",
"853312057 Korppolainen",
"853319060 Pihlajaniemi",
"853319061 Puistomäki",
"853319062 Uittamo",
"853319063 Ispoinen",
"853319064 Katariina",
"853320065 Ilpoinen",
"853320066 Luolavuori länt.",
"853320067 Luolavuori it.",
"853320068 Peltola",
"853321069 Vasaramäki",
"853322070 Koivula",
"853322071 Harittu",
"853323072 Skanssi",
"853424074 Huhkola",
"853424075 Teoll. Lauste",
"853424076 Pääskyvuori",
"853425077 Asuin-Lauste",
"853425078 Vaala",
"853425079 Varissuo",
"853525085 Huhtaraivio",
"853526080 Teoll. Itäharju",
"853526081 Asuin-Itäharju",
"853526082 Nummenmäki",
"853526083 Kurala",
"853526084 Kohmo",
"853527086 Paaskunta",
"853527087 Kuuvuori",
"853527088 Yo-kylä",
"853528089 Koroinen",
"853529090 Asuin-Räntämäki",
"853529091 Teoll. Räntämäki",
"853530092 Oriketo",
"853531093 Halinen",
"853535104 Piipanoja",
"853608098 Raunistula et.",
"853632094 Virusmäki - Raunistula",
"853632095 Kastu et.",
"853632096 Kastu pohj.",
"853632097 Kaerla it.",
"853633099 Impivaara",
"853634100 Asuin-Runosmäki",
"853634101 Teoll. Runosmäki",
"853635102 Kärsämäki et.",
"853635103 Orjasmäki",
"853706023 Vr - Iso-Heikkilä",
"853707024 Teoll. Pitkämäki",
"853707025 Kähäri et.",
"853707026 Pohjola",
"853708027 Autistenaukio - Oikotie",
"853708028 Vätti et.",
"853736106 Kähäri pohj.",
"853736107 Asuin-Pitkämäki",
"853736108 Suikkila",
"853736109 Ruohonpää it.",
"853736110 Ruohonpää länt.",
"853736111 Pläkkikaupunki",
"853737112 Vätti pohj.",
"853737113 Hepokulta",
"853737114 Länsikeskus",
"853738116 Länsinummi",
"853738117 Nättinummi",
"853738118 Metsäkylä",
"853739119 Muhkuri",
"853839120 Pahaniemi kaakko",
"853839121 Härkämäki - Jyrkkälä",
"853839122 Pahaniemi et.",
"853839123 Artukainen",
"853840124 Asuin-Perno",
"853840125 Telakka",
"853841126 Pansio länt.",
"853841127 Pansio it.",
"853943129 Lentokenttä",
"853943130 Saramäki - Paimala",
"853943131 Maaria - Jäkärlä",
"853944132 Moisio - Kanervamäki",
"853945133 Etelä-Paattinen",
"853945134 Ikkala - Tortinmäki",
"853999999 853 tuntematon";
VALUES("Talotyyppi")="Kaikki talotyypit","Erillinen pientalo","Rivi- tai ketjutalo","Asuinkerrostalo","Muu rakennus (liike-, toimisto- ym.)";
VALUES("Varustetaso")="Kaikki varustetasot","Hyvin varustettu","Puutteellisesti varustettu tai tuntematon";
VALUES("Valmistumisvuosi")="Yhteensä","-1920","1921-1929","1930-1939","1940-1949","1950-1959","1960-1969","1970-1979","1980-1989","1990-1999","2000-2009","2010-","Tuntematon";
CODES("Osa-alue")="853 Turku",
"853101001 Rauhankatu VII",
"853101002 Ursininkatu pohj.",
"853101003 Ursininkatu et.",
"853101004 Kristiinankatu et.",
"853101005 Kristiinankatu pohj.",
"853101006 Puolalanmäki VII",
"853101007 Tuurepori VI",
"853101008 Kauppatori VI",
"853101009 Verkatehdas VI",
"853102010 Yliopisto I",
"853102011 Sirkkala I",
"853103012 Vartiovuori II",
"853103013 Samppalinna III",
"853103014 Urheilupuisto III",
"853104015 Martti IV",
"853104016 Itäranta",
"853105017 Länsiranta",
"853105018 Kakola",
"853105019 Port Arthur",
"853106020 Iso-Heikkilä it.",
"853106021 Iso-Heikkilä länt.",
"853109029 Kupittaa",
"853110030 Kurjenmäki it.",
"853110031 Kurjenmäki länt.",
"853110032 Mäntymäki",
"853111033 Vähäheikkilä it.",
"853111034 Vähäheikkilä länt.",
"853112035 Korppolaismäki",
"853112036 Majakkaranta",
"853113037 Otkantti",
"853113038 Rahtisatama",
"853127022 Vatsela",
"853142128 Ruissalo",
"853214040 Pikisaari",
"853214041 Jänessaari",
"853214042 Maanpää",
"853215043 Lauttaranta",
"853215044 Särkilahti",
"853215045 Illoinen",
"853215046 Oriniemi",
"853216047 Toijainen",
"853216048 Kukola",
"853216049 Haarla",
"853216050 Friskala",
"853217051 Moikoinen",
"853217052 Kaistarniemi",
"853217053 Papinsaari",
"853218054 Satava",
"853218055 Kakskerta",
"853311058 Vähäheikkilä loun.",
"853311059 Vähäheikkilä kaak.",
"853312057 Korppolainen",
"853319060 Pihlajaniemi",
"853319061 Puistomäki",
"853319062 Uittamo",
"853319063 Ispoinen",
"853319064 Katariina",
"853320065 Ilpoinen",
"853320066 Luolavuori länt.",
"853320067 Luolavuori it.",
"853320068 Peltola",
"853321069 Vasaramäki",
"853322070 Koivula",
"853322071 Harittu",
"853323072 Skanssi",
"853424074 Huhkola",
"853424075 Teoll. Lauste",
"853424076 Pääskyvuori",
"853425077 Asuin-Lauste",
"853425078 Vaala",
"853425079 Varissuo",
"853525085 Huhtaraivio",
"853526080 Teoll. Itäharju",
"853526081 Asuin-Itäharju",
"853526082 Nummenmäki",
"853526083 Kurala",
"853526084 Kohmo",
"853527086 Paaskunta",
"853527087 Kuuvuori",
"853527088 Yo-kylä",
"853528089 Koroinen",
"853529090 Asuin-Räntämäki",
"853529091 Teoll. Räntämäki",
"853530092 Oriketo",
"853531093 Halinen",
"853535104 Piipanoja",
"853608098 Raunistula et.",
"853632094 Virusmäki - Raunistula",
"853632095 Kastu et.",
"853632096 Kastu pohj.",
"853632097 Kaerla it.",
"853633099 Impivaara",
"853634100 Asuin-Runosmäki",
"853634101 Teoll. Runosmäki",
"853635102 Kärsämäki et.",
"853635103 Orjasmäki",
"853706023 Vr - Iso-Heikkilä",
"853707024 Teoll. Pitkämäki",
"853707025 Kähäri et.",
"853707026 Pohjola",
"853708027 Autistenaukio - Oikotie",
"853708028 Vätti et.",
"853736106 Kähäri pohj.",
"853736107 Asuin-Pitkämäki",
"853736108 Suikkila",
"853736109 Ruohonpää it.",
"853736110 Ruohonpää länt.",
"853736111 Pläkkikaupunki",
"853737112 Vätti pohj.",
"853737113 Hepokulta",
"853737114 Länsikeskus",
"853738116 Länsinummi",
"853738117 Nättinummi",
"853738118 Metsäkylä",
"853739119 Muhkuri",
"853839120 Pahaniemi kaakko",
"853839121 Härkämäki - Jyrkkälä",
"853839122 Pahaniemi et.",
"853839123 Artukainen",
"853840124 Asuin-Perno",
"853840125 Telakka",
"853841126 Pansio länt.",
"853841127 Pansio it.",
"853943129 Lentokenttä",
"853943130 Saramäki - Paimala",
"853943131 Maaria - Jäkärlä",
"853944132 Moisio - Kanervamäki",
"853945133 Etelä-Paattinen",
"853945134 Ikkala - Tortinmäki",
"853999999 853 tuntematon";
CODES("Talotyyppi")="S","1","2","3","4";
CODES("Varustetaso")="S","1","2";
CODES("Valmistumisvuosi")="S","1754-1920","1921-1929","1930-1939","1940-1949","1950-1959","1960-1969","1970-1979","1980-1989","1990-1999","2000-2009","2010-","9999";
DOMAIN("Osa-alue")="osa-alue 2020 pxpro_fi";
LAST-UPDATED="20200626 08:00";
CONTACT="Turun kaupunki#Avoin data#avoindata@turku.fi#https://data.turku.fi";
SOURCE="Tilastokeskus - Asunnot ja asuinolot";
NOTE="Turun kaupungin avoimen datan palvelu on rajannut aineiston laajuutta.##"
"Tilaston kuvaus#Laatuseloste#Käsitteet ja ""määritelmät##Tilastossa käytetään 1.1.2020 aluejakoa.##Varustetasoluokituksen käytössä on hyvä ottaa huomioon, että kaikki varustepäivitykset eivät kirjaudu viranomaisrekisteriin. Vuodesta 2005 asunnot on jaettu varustetason mukaan kahteen luokkaan#""Hyvin varustettuihin ja Puutteellisesti varustettuihin (sis. varustetasoltaan tuntemattomat) asuntoihin. Hyvin varustettu asunto: asunnossa on vesijohto, viemäri, lämminvesi, WC,#peseytymistilat ja keskus- tai sähkölämmitys. Puutteellisesti varustetusta ""asunnosta puuttuu jokin varuste tai tieto varusteista.##Talotyypiltään Erillinen pientalo sisältää sekä omakoti- että paritaloasunnot sekä asutut vapaa-ajan asunnot. Talotyypiltään Muu rakennus sisältää mm. liike- ja toimistorakennuksissa olevat asunnot.#""#Asunnolla eli asuinhuoneistolla tarkoitetaan keittiöllä, keittokomerolla tai keittotilalla varustettua yhden asuinhuoneen tai useampia asuinhuoneita käsittävää, ympärivuotiseen asumiseen tarkoitettua kokonaisuutta, jonka huoneistoala on vähintään 7 m2.##""© Tilastokeskus - Statistikcentralen#";
NOTE("Talotyyppi")="Talotyypiltään Erillinen pientalo sisältää sekä omakoti- että paritaloasunnot sekä asutut vapaa-ajan asunnot. Talotyypiltään Muu rakennus sisältää mm. liike- ja toimistorakennuksissa olevat asunnot.";
VALUES("Vuosi")="2015","2016","2017","2018","2019";
CODES("Vuosi")="2015","2016","2017","2018","2019";
TIMEVAL("Vuosi")=TLIST(A1),"2015","2016","2017","2018","2019";
VARIABLE-TYPE("Vuosi")=Time;
CONTVARIABLE="Valmistumisvuosi";
DATA=111600
4316
4515
1994
3286
12560
20849
23581
11804
13637
7206
5625
2227
104717
2670
3339
1379
2264
11334
20543
23451
11739
13627
7200
5618
1553
6883
1646
1176
615
1022
1226
306
130
65
10
6
7
674
14507
960
635
519
1563
2948
1484
1000
1354
1556
1488
817
183
12230
491
415
321
1100
2295
1332
989
1303
1546
1482
811
145
2277
469
220
198
463
653
152
11
51
10
6
6
38
13900
2206
928
521
307
239
564
1185
3164
2887
1223
437
239
12258
1393
621
298
149
182
522
1185
3154
2887
1223
437
207
1642
813
307
223
158
57
42
0
10
0
0
0
32
81492
1072
2895
938
1380
9185
18688
20977
7063
9031
4481
4359
1423
78904
737
2266
754
992
8712
18593
20882
7063
9031
4481
4359
1034
2588
335
629
184
388
473
95
95
0
0
0
0
389
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
113769
4496
4639
2186
3384
12841
20993
23903
11915
13611
7207
6391
2203
107161
2809
3417
1565
2332
11643
20669
23868
11851
13601
7204
6385
1817
6608
1687
1222
621
1052
1198
324
35
64
10
3
6
386
14946
1012
673
531
1614
3063
1540
1024
1351
1558
1487
916
177
12545
497
426
328
1136
2389
1375
1012
1301
1548
1484
911
138
2401
515
247
203
478
674
165
12
50
10
3
5
39
14211
2229
960
520
327
240
577
1246
3194
2895
1225
562
236
12563
1410
650
306
161
184
535
1246
3184
2895
1225
562
205
1648
819
310
214
166
56
42
0
10
0
0
0
31
82892
1158
2950
1120
1406
9362
18762
21216
7138
8997
4482
4899
1402
80713
834
2303
927
1011
8938
18664
21216
7138
8997
4482
4899
1304
2179
324
647
193
395
424
98
0
0
0
0
0
98
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
115209
4607
4737
2235
3432
12968
21065
24143
12002
13840
7770
7619
791
108861
2964
3506
1625
2393
11775
20760
24013
11970
13837
7769
7614
635
6348
1643
1231
610
1039
1193
305
130
32
3
1
5
156
15040
1026
681
535
1621
3075
1534
1034
1372
1572
1541
1026
23
12738
528
438
331
1146
2404
1371
1019
1356
1569
1540
1022
14
2302
498
243
204
475
671
163
15
16
3
1
4
9
14270
2267
995
520
341
179
593
1240
3169
2901
1277
733
55
12727
1475
676
318
184
150
565
1240
3159
2901
1277
732
50
1543
792
319
202
157
29
28
0
10
0
0
1
5
84164
1215
2990
1165
1437
9547
18817
21354
7214
9210
4937
5848
430
82040
892
2339
972
1042
9098
18721
21354
7212
9210
4937
5848
415
2124
323
651
193
395
449
96
0
2
0
0
0
15
1735
99
71
15
33
167
121
515
247
157
15
12
283
1356
69
53
4
21
123
103
400
243
157
15
12
156
379
30
18
11
12
44
18
115
4
0
0
0
127
117836
4605
4751
2238
3415
12961
21065
24124
12071
13914
7757
10210
725
111496
2983
3521
1632
2397
11761
20758
23936
12010
13904
7755
10205
634
6340
1622
1230
606
1018
1200
307
188
61
10
2
5
91
15198
1031
694
535
1614
3085
1542
1033
1363
1581
1544
1157
19
12855
536
443
331
1147
2406
1380
1020
1315
1571
1542
1152
12
2343
495
251
204
467
679
162
13
48
10
2
5
7
14332
2261
962
525
337
179
587
1241
3173
2905
1281
826
55
12820
1487
653
322
183
150
559
1241
3163
2905
1281
826
50
1512
774
309
203
154
29
28
0
10
0
0
0
5
86668
1215
3023
1164
1437
9546
18813
21277
7363
9268
4917
8214
431
84556
891
2371
977
1047
9098
18717
21277
7363
9268
4917
8214
416
2112
324
652
187
390
448
96
0
0
0
0
0
15
1638
98
72
14
27
151
123
573
172
160
15
13
220
1265
69
54
2
20
107
102
398
169
160
15
13
156
373
29
18
12
7
44
21
175
3
0
0
0
64
119908
4672
4753
2228
3362
12988
20997
24753
12163
13878
7774
12250
90
113571
3060
3537
1630
2367
11781
20698
24505
12102
13868
7772
12191
60
6337
1612
1216
598
995
1207
299
248
61
10
2
59
30
15249
1014
681
532
1604
3065
1542
1034
1361
1579
1544
1278
15
12958
545
442
333
1144
2391
1378
1020
1313
1569
1542
1273
8
2291
469
239
199
460
674
164
14
48
10
2
5
7
14348
2277
967
518
334
179
584
1200
3179
2905
1297
867
41
12841
1498
659
318
183
150
559
1200
3169
2905
1297
867
36
1507
779
308
200
151
29
25
0
10
0
0
0
5
88694
1275
3024
1164
1397
9595
18757
21736
7447
9263
4918
10088
30
86528
949
2371
977
1019
9134
18665
21736
7447
9263
4918
10034
15
2166
326
653
187
378
461
92
0
0
0
0
54
15
1617
106
81
14
27
149
114
783
176
131
15
17
4
1244
68
65
2
21
106
96
549
173
131
15
17
1
373
38
16
12
6
43
18
234
3
0
0
0
3
2485
207
162
208
0
826
567
0
77
115
192
75
56
2350
143
156
178
0
796
562
0
77
115
192
75
56
135
64
6
30
0
30
5
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
292
186
0
0
0
61
0
0
0
16
0
0
29
213
133
0
0
0
35
0
0
0
16
0
0
29
79
53
0
0
0
26
0
0
0
0
0
0
0
2183
14
162
208
0
763
566
0
77
99
192
75
27
2128
4
156
178
0
759
561
0
77
99
192
75
27
55
10
6
30
0
4
5
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2503
208
176
209
0
829
566
0
78
115
192
75
55
2368
150
164
179
0
799
561
0
78
115
192
75
55
135
58
12
30
0
30
5
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
193
0
0
0
61
0
0
0
16
0
0
30
219
138
0
0
0
35
0
0
0
16
0
0
30
81
55
0
0
0
26
0
0
0
0
0
0
0
2187
4
176
209
0
764
565
0
78
99
192
75
25
2136
4
164
179
0
760
560
0
78
99
192
75
25
51
0
12
30
0
4
5
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2505
203
176
179
30
829
598
0
78
145
192
75
0
2373
148
164
149
30
799
593
0
78
145
192
75
0
132
55
12
30
0
30
5
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
193
0
0
0
0
32
0
0
16
0
0
0
187
139
0
0
0
0
32
0
0
16
0
0
0
54
54
0
0
0
0
0
0
0
0
0
0
0
2253
4
176
179
30
825
565
0
78
129
192
75
0
2176
4
164
149
30
795
560
0
78
129
192
75
0
77
0
12
30
0
30
5
0
0
0
0
0
0
7
6
0
0
0
0
1
0
0
0
0
0
0
6
5
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
2506
203
176
179
30
829
599
0
78
145
192
75
0
2374
148
163
150
30
799
594
0
78
145
192
75
0
132
55
13
29
0
30
5
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
192
0
0
0
0
32
0
0
16
0
0
0
186
138
0
0
0
0
32
0
0
16
0
0
0
54
54
0
0
0
0
0
0
0
0
0
0
0
2255
4
176
179
30
825
567
0
78
129
192
75
0
2178
4
163
150
30
795
562
0
78
129
192
75
0
77
0
13
29
0
30
5
0
0
0
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
2508
204
176
179
30
829
600
0
78
145
192
75
0
2377
150
163
150
30
799
595
0
78
145
192
75
0
131
54
13
29
0
30
5
0
0
0
0
0
0
7
3
0
0
0
4
0
0
0
0
0
0
0
7
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
192
0
0
0
0
32
0
0
16
0
0
0
186
138
0
0
0
0
32
0
0
16
0
0
0
54
54
0
0
0
0
0
0
0
0
0
0
0
2256
4
176
179
30
825
568
0
78
129
192
75
0
2179
4
163
150
30
795
563
0
78
129
192
75
0
77
0
13
29
0
30
5
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2243
69
114
43
0
225
1168
32
161
208
182
0
41
2178
64
83
39
0
210
1158
32
161
208
182
0
41
65
5
31
4
0
15
10
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2223
49
114
43
0
225
1168
32
161
208
182
0
41
2159
45
83
39
0
210
1158
32
161
208
182
0
41
64
4
31
4
0
15
10
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2309
75
114
50
0
227
1169
32
161
208
182
49
42
2230
64
83
40
0
211
1158
32
161
208
182
49
42
79
11
31
10
0
16
11
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2289
55
114
50
0
227
1169
32
161
208
182
49
42
2211
45
83
40
0
211
1158
32
161
208
182
49
42
78
10
31
10
0
16
11
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2324
75
114
50
0
227
1171
32
162
208
236
49
0
2244
64
83
40
0
211
1159
32
162
208
236
49
0
80
11
31
10
0
16
12
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2304
55
114
50
0
227
1171
32
162
208
236
49
0
2225
45
83
40
0
211
1159
32
162
208
236
49
0
79
10
31
10
0
16
12
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2404
74
114
50
0
227
1168
32
162
208
236
133
0
2325
64
83
40
0
211
1156
32
162
208
236
133
0
79
10
31
10
0
16
12
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2385
55
114
50
0
227
1168
32
162
208
236
133
0
2306
45
83
40
0
211
1156
32
162
208
236
133
0
79
10
31
10
0
16
12
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2406
74
115
50
0
227
1169
32
162
208
236
133
0
2327
64
84
40
0
211
1157
32
162
208
236
133
0
79
10
31
10
0
16
12
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2387
55
115
50
0
227
1169
32
162
208
236
133
0
2308
45
84
40
0
211
1157
32
162
208
236
133
0
79
10
31
10
0
16
12
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
644
9
69
34
1
146
94
83
0
83
0
125
0
627
9
58
34
1
140
94
83
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
638
6
69
34
0
146
94
81
0
83
0
125
0
621
6
58
34
0
140
94
81
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
643
9
68
34
1
146
94
83
0
83
0
125
0
626
9
57
34
1
140
94
83
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
637
6
68
34
0
146
94
81
0
83
0
125
0
620
6
57
34
0
140
94
81
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
642
9
68
34
0
146
94
83
0
83
0
125
0
625
9
57
34
0
140
94
83
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
637
6
68
34
0
146
94
81
0
83
0
125
0
620
6
57
34
0
140
94
81
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
4
2
0
0
0
0
0
2
0
0
0
0
0
4
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
642
9
67
34
1
146
94
83
0
83
0
125
0
625
9
56
34
1
140
94
83
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
636
6
67
34
0
146
94
81
0
83
0
125
0
619
6
56
34
0
140
94
81
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
5
2
0
0
1
0
0
2
0
0
0
0
0
5
2
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
642
9
67
34
1
146
94
83
0
83
0
125
0
625
9
56
34
1
140
94
83
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
636
6
67
34
0
146
94
81
0
83
0
125
0
619
6
56
34
0
140
94
81
0
83
0
125
0
17
0
11
0
0
6
0
0
0
0
0
0
0
5
2
0
0
1
0
0
2
0
0
0
0
0
5
2
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
497
22
0
0
0
162
177
38
0
0
54
44
0
485
17
0
0
0
155
177
38
0
0
54
44
0
12
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
487
12
0
0
0
162
177
38
0
0
54
44
0
480
12
0
0
0
155
177
38
0
0
54
44
0
7
0
0
0
0
7
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
534
43
0
0
0
163
177
52
0
0
54
45
0
523
38
0
0
0
157
177
52
0
0
54
45
0
11
5
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
523
33
0
0
0
163
177
52
0
0
54
44
0
517
33
0
0
0
157
177
52
0
0
54
44
0
6
0
0
0
0
6
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
536
44
0
0
0
164
177
52
0
0
54
45
0
524
39
0
0
0
157
177
52
0
0
54
45
0
12
5
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
524
33
0
0
0
164
177
52
0
0
54
44
0
517
33
0
0
0
157
177
52
0
0
54
44
0
7
0
0
0
0
7
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
521
44
0
0
0
164
177
37
0
0
54
45
0
509
39
0
0
0
157
177
37
0
0
54
45
0
12
5
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
509
33
0
0
0
164
177
37
0
0
54
44
0
502
33
0
0
0
157
177
37
0
0
54
44
0
7
0
0
0
0
7
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
522
44
0
0
0
165
177
37
0
0
54
45
0
511
39
0
0
0
159
177
37
0
0
54
45
0
11
5
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
510
33
0
0
0
165
177
37
0
0
54
44
0
504
33
0
0
0
159
177
37
0
0
54
44
0
6
0
0
0
0
6
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
791
25
119
0
0
272
196
0
74
0
0
75
30
758
23
107
0
0
258
193
0
74
0
0
75
28
33
2
12
0
0
14
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
749
13
119
0
0
272
166
0
74
0
0
75
30
721
13
107
0
0
258
166
0
74
0
0
75
28
28
0
12
0
0
14
0
0
0
0
0
0
2
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
800
25
123
0
0
272
196
0
74
0
0
75
35
766
23
111
0
0
258
193
0
74
0
0
75
32
34
2
12
0
0
14
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
758
13
123
0
0
272
166
0
74
0
0
75
35
729
13
111
0
0
258
166
0
74
0
0
75
32
29
0
12
0
0
14
0
0
0
0
0
0
3
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
807
25
165
0
0
346
196
0
0
0
0
75
0
770
23
147
0
0
332
193
0
0
0
0
75
0
37
2
18
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
13
165
0
0
346
166
0
0
0
0
75
0
733
13
147
0
0
332
166
0
0
0
0
75
0
32
0
18
0
0
14
0
0
0
0
0
0
0
42
12
0
0
0
0
30
0
0
0
0
0
0
37
10
0
0
0
0
27
0
0
0
0
0
0
5
2
0
0
0
0
3
0
0
0
0
0
0
808
25
166
0
0
346
196
0
0
0
0
75
0
772
23
149
0
0
332
193
0
0
0
0
75
0
36
2
17
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
766
13
166
0
0
346
166
0
0
0
0
75
0
735
13
149
0
0
332
166
0
0
0
0
75
0
31
0
17
0
0
14
0
0
0
0
0
0
0
42
12
0
0
0
0
30
0
0
0
0
0
0
37
10
0
0
0
0
27
0
0
0
0
0
0
5
2
0
0
0
0
3
0
0
0
0
0
0
809
26
165
0
0
346
197
0
0
0
0
75
0
774
24
149
0
0
332
194
0
0
0
0
75
0
35
2
16
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
767
14
165
0
0
346
167
0
0
0
0
75
0
737
14
149
0
0
332
167
0
0
0
0
75
0
30
0
16
0
0
14
0
0
0
0
0
0
0
42
12
0
0
0
0
30
0
0
0
0
0
0
37
10
0
0
0
0
27
0
0
0
0
0
0
5
2
0
0
0
0
3
0
0
0
0
0
0
977
238
311
0
0
139
19
0
133
80
0
57
0
908
208
277
0
0
135
18
0
133
80
0
57
0
69
30
34
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
43
39
0
0
0
0
0
0
0
4
0
0
0
36
32
0
0
0
0
0
0
0
4
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
932
197
311
0
0
139
19
0
133
76
0
57
0
871
175
277
0
0
135
18
0
133
76
0
57
0
61
22
34
0
0
4
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
984
244
312
0
0
139
19
0
133
80
0
57
0
914
210
281
0
0
135
18
0
133
80
0
57
0
70
34
31
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
48
44
0
0
0
0
0
0
0
4
0
0
0
36
32
0
0
0
0
0
0
0
4
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
934
198
312
0
0
139
19
0
133
76
0
57
0
877
177
281
0
0
135
18
0
133
76
0
57
0
57
21
31
0
0
4
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
984
252
312
0
0
139
19
0
125
80
0
57
0
915
218
282
0
0
135
18
0
125
80
0
57
0
69
34
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
48
44
0
0
0
0
0
0
0
4
0
0
0
36
32
0
0
0
0
0
0
0
4
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
934
206
312
0
0
139
19
0
125
76
0
57
0
878
185
282
0
0
135
18
0
125
76
0
57
0
56
21
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
984
252
312
0
0
139
19
0
125
80
0
57
0
915
218
282
0
0
135
18
0
125
80
0
57
0
69
34
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
48
44
0
0
0
0
0
0
0
4
0
0
0
36
32
0
0
0
0
0
0
0
4
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
934
206
312
0
0
139
19
0
125
76
0
57
0
878
185
282
0
0
135
18
0
125
76
0
57
0
56
21
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
986
254
312
0
0
139
19
0
125
80
0
57
0
916
219
282
0
0
135
18
0
125
80
0
57
0
70
35
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
48
44
0
0
0
0
0
0
0
4
0
0
0
36
32
0
0
0
0
0
0
0
4
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
936
208
312
0
0
139
19
0
125
76
0
57
0
879
186
282
0
0
135
18
0
125
76
0
57
0
57
22
30
0
0
4
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1126
99
428
88
0
187
266
0
0
0
33
25
0
1046
80
385
85
0
177
261
0
0
0
33
25
0
80
19
43
3
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
32
9
0
0
0
0
0
0
0
0
0
0
31
22
9
0
0
0
0
0
0
0
0
0
0
10
10
0
0
0
0
0
0
0
0
0
0
0
1077
66
418
88
0
186
261
0
0
0
33
25
0
1011
58
376
85
0
176
258
0
0
0
33
25
0
66
8
42
3
0
10
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1174
102
433
90
0
186
267
0
0
0
33
63
0
1093
84
389
87
0
176
261
0
0
0
33
63
0
81
18
44
3
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
33
9
0
0
0
0
0
0
0
0
0
0
33
24
9
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
1126
68
424
90
0
186
262
0
0
0
33
63
0
1057
60
380
87
0
176
258
0
0
0
33
63
0
69
8
44
3
0
10
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1206
134
432
90
0
231
223
0
0
0
33
63
0
1127
116
389
87
0
221
218
0
0
0
33
63
0
79
18
43
3
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
33
9
0
0
0
0
0
0
0
0
0
0
33
24
9
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
1156
98
423
90
0
231
218
0
0
0
33
63
0
1089
90
380
87
0
221
215
0
0
0
33
63
0
67
8
43
3
0
10
3
0
0
0
0
0
0
8
3
0
0
0
0
5
0
0
0
0
0
0
5
2
0
0
0
0
3
0
0
0
0
0
0
3
1
0
0
0
0
2
0
0
0
0
0
0
1244
134
432
90
0
232
223
0
0
0
33
100
0
1165
116
389
87
0
222
218
0
0
0
33
100
0
79
18
43
3
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
33
9
0
0
0
0
0
0
0
0
0
0
33
24
9
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
1194
98
423
90
0
232
218
0
0
0
33
100
0
1127
90
380
87
0
222
215
0
0
0
33
100
0
67
8
43
3
0
10
3
0
0
0
0
0
0
8
3
0
0
0
0
5
0
0
0
0
0
0
5
2
0
0
0
0
3
0
0
0
0
0
0
3
1
0
0
0
0
2
0
0
0
0
0
0
1274
134
431
90
0
232
218
0
0
0
33
136
0
1198
116
388
87
0
223
215
0
0
0
33
136
0
76
18
43
3
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
33
9
0
0
0
0
0
0
0
0
0
0
33
24
9
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
1229
98
422
90
0
232
218
0
0
0
33
136
0
1163
90
379
87
0
223
215
0
0
0
33
136
0
66
8
43
3
0
9
3
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
2051
31
329
16
149
495
934
23
56
0
0
0
18
1920
29
246
16
133
482
930
23
56
0
0
0
5
131
2
83
0
16
13
4
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1943
21
286
16
149
468
934
23
28
0
0
0
18
1824
19
215
16
133
455
930
23
28
0
0
0
5
119
2
71
0
16
13
4
0
0
0
0
0
13
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2069
26
332
16
149
509
942
23
56
0
0
0
16
1941
24
249
16
133
495
940
23
56
0
0
0
5
128
2
83
0
16
14
2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1987
16
289
16
149
508
942
23
28
0
0
0
16
1871
14
218
16
133
494
940
23
28
0
0
0
5
116
2
71
0
16
14
2
0
0
0
0
0
11
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2098
28
349
16
150
512
943
23
58
0
19
0
0
1982
26
267
16
134
498
941
23
58
0
19
0
0
116
2
82
0
16
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2003
18
292
16
150
512
943
23
30
0
19
0
0
1898
16
221
16
134
498
941
23
30
0
19
0
0
105
2
71
0
16
14
2
0
0
0
0
0
0
86
1
57
0
0
0
0
0
28
0
0
0
0
75
1
46
0
0
0
0
0
28
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
2101
29
349
16
150
513
944
23
77
0
0
0
0
1984
26
267
16
134
499
942
23
77
0
0
0
0
117
3
82
0
16
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2005
18
292
16
150
513
944
23
49
0
0
0
0
1900
16
221
16
134
499
942
23
49
0
0
0
0
105
2
71
0
16
14
2
0
0
0
0
0
0
87
2
57
0
0
0
0
0
28
0
0
0
0
75
1
46
0
0
0
0
0
28
0
0
0
0
12
1
11
0
0
0
0
0
0
0
0
0
0
2151
85
345
16
150
513
942
23
77
0
0
0
0
2031
81
260
16
134
500
940
23
77
0
0
0
0
120
4
85
0
16
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2055
74
288
16
150
513
942
23
49
0
0
0
0
1948
72
214
16
134
500
940
23
49
0
0
0
0
107
2
74
0
16
13
2
0
0
0
0
0
0
87
2
57
0
0
0
0
0
28
0
0
0
0
74
0
46
0
0
0
0
0
28
0
0
0
0
13
2
11
0
0
0
0
0
0
0
0
0
0
2406
169
63
180
85
184
295
159
161
544
401
130
35
2216
47
61
180
52
159
289
159
161
544
401
130
33
190
122
2
0
33
25
6
0
0
0
0
0
2
20
16
1
0
0
0
0
0
0
1
0
0
2
12
8
1
0
0
0
0
0
0
1
0
0
2
8
8
0
0
0
0
0
0
0
0
0
0
0
77
65
4
0
4
4
0
0
0
0
0
0
0
29
20
4
0
4
1
0
0
0
0
0
0
0
48
45
0
0
0
3
0
0
0
0
0
0
0
2298
87
58
178
81
172
295
159
161
543
401
130
33
2167
19
56
178
48
152
289
159
161
543
401
130
31
131
68
2
0
33
20
6
0
0
0
0
0
2
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2438
172
63
180
85
184
296
159
189
544
401
130
35
2245
47
61
180
52
159
290
159
189
544
401
130
33
193
125
2
0
33
25
6
0
0
0
0
0
2
24
20
1
0
0
0
0
0
0
1
0
0
2
12
8
1
0
0
0
0
0
0
1
0
0
2
12
12
0
0
0
0
0
0
0
0
0
0
0
77
65
4
0
4
4
0
0
0
0
0
0
0
29
20
4
0
4
1
0
0
0
0
0
0
0
48
45
0
0
0
3
0
0
0
0
0
0
0
2326
86
58
178
81
172
296
159
189
543
401
130
33
2196
19
56
178
48
152
290
159
189
543
401
130
31
130
67
2
0
33
20
6
0
0
0
0
0
2
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2445
173
64
180
85
182
301
159
226
544
401
130
0
2250
48
62
180
52
155
295
159
224
544
401
130
0
195
125
2
0
33
27
6
0
2
0
0
0
0
24
21
2
0
0
0
0
0
0
1
0
0
0
12
9
2
0
0
0
0
0
0
1
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
77
65
4
0
4
4
0
0
0
0
0
0
0
29
20
4
0
4
1
0
0
0
0
0
0
0
48
45
0
0
0
3
0
0
0
0
0
0
0
2333
86
58
178
81
175
296
159
226
543
401
130
0
2201
19
56
178
48
153
290
159
224
543
401
130
0
132
67
2
0
33
22
6
0
2
0
0
0
0
11
1
0
2
0
3
5
0
0
0
0
0
0
8
0
0
2
0
1
5
0
0
0
0
0
0
3
1
0
0
0
2
0
0
0
0
0
0
0
2442
173
64
178
85
182
301
159
225
544
401
130
0
2249
48
62
178
52
155
295
159
225
544
401
130
0
193
125
2
0
33
27
6
0
0
0
0
0
0
24
21
2
0
0
0
0
0
0
1
0
0
0
12
9
2
0
0
0
0
0
0
1
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
77
65
4
0
4
4
0
0
0
0
0
0
0
29
20
4
0
4
1
0
0
0
0
0
0
0
48
45
0
0
0
3
0
0
0
0
0
0
0
2332
86
58
178
81
175
296
159
225
543
401
130
0
2202
19
56
178
48
153
290
159
225
543
401
130
0
130
67
2
0
33
22
6
0
0
0
0
0
0
9
1
0
0
0
3
5
0
0
0
0
0
0
6
0
0
0
0
1
5
0
0
0
0
0
0
3
1
0
0
0
2
0
0
0
0
0
0
0
2443
173
64
178
85
182
300
159
227
544
401
130
0
2252
49
62
178
52
155
295
159
227
544
401
130
0
191
124
2
0
33
27
5
0
0
0
0
0
0
25
22
2
0
0
0
0
0
0
1
0
0
0
13
10
2
0
0
0
0
0
0
1
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
76
64
4
0
4
4
0
0
0
0
0
0
0
29
20
4
0
4
1
0
0
0
0
0
0
0
47
44
0
0
0
3
0
0
0
0
0
0
0
2333
86
58
178
81
175
295
159
227
543
401
130
0
2204
19
56
178
48
153
290
159
227
543
401
130
0
129
67
2
0
33
22
5
0
0
0
0
0
0
9
1
0
0
0
3
5
0
0
0
0
0
0
6
0
0
0
0
1
5
0
0
0
0
0
0
3
1
0
0
0
2
0
0
0
0
0
0
0
1331
309
7
71
4
358
311
51
5
0
21
121
73
1131
184
2
66
3
296
310
51
5
0
21
121
72
200
125
5
5
1
62
1
0
0
0
0
0
1
34
34
0
0
0
0
0
0
0
0
0
0
0
13
13
0
0
0
0
0
0
0
0
0
0
0
21
21
0
0
0
0
0
0
0
0
0
0
0
223
216
7
0
0
0
0
0
0
0
0
0
0
151
149
2
0
0
0
0
0
0
0
0
0
0
72
67
5
0
0
0
0
0
0
0
0
0
0
1062
53
0
71
0
358
309
51
5
0
21
121
73
957
17
0
66
0
296
308
51
5
0
21
121
72
105
36
0
5
0
62
1
0
0
0
0
0
1
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1409
338
7
71
4
344
311
50
5
0
21
189
69
1268
207
7
66
3
342
310
50
5
0
21
189
68
141
131
0
5
1
2
1
0
0
0
0
0
1
50
50
0
0
0
0
0
0
0
0
0
0
0
14
14
0
0
0
0
0
0
0
0
0
0
0
36
36
0
0
0
0
0
0
0
0
0
0
0
220
213
7
0
0
0
0
0
0
0
0
0
0
154
147
7
0
0
0
0
0
0
0
0
0
0
66
66
0
0
0
0
0
0
0
0
0
0
0
1111
53
0
71
0
344
309
50
5
0
21
189
69
1073
24
0
66
0
342
308
50
5
0
21
189
68
38
29
0
5
0
2
1
0
0
0
0
0
1
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1439
342
7
89
5
344
392
51
0
0
21
188
0
1305
220
7
83
3
342
390
51
0
0
21
188
0
134
122
0
6
2
2
2
0
0
0
0
0
0
50
50
0
0
0
0
0
0
0
0
0
0
0
23
23
0
0
0
0
0
0
0
0
0
0
0
27
27
0
0
0
0
0
0
0
0
0
0
0
225
218
7
0
0
0
0
0
0
0
0
0
0
159
152
7
0
0
0
0
0
0
0
0
0
0
66
66
0
0
0
0
0
0
0
0
0
0
0
1132
53
0
89
0
344
386
51
0
0
21
188
0
1093
24
0
83
0
342
384
51
0
0
21
188
0
39
29
0
6
0
2
2
0
0
0
0
0
0
32
21
0
0
5
0
6
0
0
0
0
0
0
30
21
0
0
3
0
6
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
1434
339
7
89
5
344
390
51
0
0
21
188
0
1304
221
7
83
3
342
388
51
0
0
21
188
0
130
118
0
6
2
2
2
0
0
0
0
0
0
54
54
0
0
0
0
0
0
0
0
0
0
0
27
27
0
0
0
0
0
0
0
0
0
0
0
27
27
0
0
0
0
0
0
0
0
0
0
0
221
214
7
0
0
0
0
0
0
0
0
0
0
159
152
7
0
0
0
0
0
0
0
0
0
0
62
62
0
0
0
0
0
0
0
0
0
0
0
1131
53
0
89
0
344
385
51
0
0
21
188
0
1092
24
0
83
0
342
383
51
0
0
21
188
0
39
29
0
6
0
2
2
0
0
0
0
0
0
28
18
0
0
5
0
5
0
0
0
0
0
0
26
18
0
0
3
0
5
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
1442
349
7
89
4
344
389
51
0
0
21
188
0
1302
220
7
83
3
342
387
51
0
0
21
188
0
140
129
0
6
1
2
2
0
0
0
0
0
0
54
54
0
0
0
0
0
0
0
0
0
0
0
27
27
0
0
0
0
0
0
0
0
0
0
0
27
27
0
0
0
0
0
0
0
0
0
0
0
230
223
7
0
0
0
0
0
0
0
0
0
0
163
156
7
0
0
0
0
0
0
0
0
0
0
67
67
0
0
0
0
0
0
0
0
0
0
0
1130
53
0
89
0
344
384
51
0
0
21
188
0
1091
24
0
83
0
342
382
51
0
0
21
188
0
39
29
0
6
0
2
2
0
0
0
0
0
0
28
19
0
0
4
0
5
0
0
0
0
0
0
21
13
0
0
3
0
5
0
0
0
0
0
0
7
6
0
0
1
0
0
0
0
0
0
0
0
4931
56
595
0
0
455
2125
458
160
255
167
660
0
4805
52
482
0
0
455
2116
458
160
255
167
660
0
126
4
113
0
0
0
9
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4889
43
595
0
0
427
2124
458
160
255
167
660
0
4763
39
482
0
0
427
2115
458
160
255
167
660
0
126
4
113
0
0
0
9
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4977
56
595
0
0
455
2126
458
170
255
167
695
0
4851
52
482
0
0
455
2117
458
170
255
167
695
0
126
4
113
0
0
0
9
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4935
43
595
0
0
427
2125
458
170
255
167
695
0
4809
39
482
0
0
427
2116
458
170
255
167
695
0
126
4
113
0
0
0
9
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
5059
56
597
0
0
455
2128
533
95
255
167
773
0
4929
50
484
0
0
455
2117
533
95
255
167
773
0
130
6
113
0
0
0
11
0
0
0
0
0
0
5
2
2
0
0
1
0
0
0
0
0
0
0
3
0
2
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5015
43
595
0
0
427
2127
533
95
255
167
773
0
4887
39
482
0
0
427
2116
533
95
255
167
773
0
128
4
113
0
0
0
11
0
0
0
0
0
0
28
0
0
0
0
27
1
0
0
0
0
0
0
28
0
0
0
0
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5055
56
597
0
0
455
2128
532
95
252
167
773
0
4925
50
485
0
0
455
2116
532
95
252
167
773
0
130
6
112
0
0
0
12
0
0
0
0
0
0
5
2
2
0
0
1
0
0
0
0
0
0
0
3
0
2
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5012
43
595
0
0
427
2128
532
95
252
167
773
0
4884
39
483
0
0
427
2116
532
95
252
167
773
0
128
4
112
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
27
0
0
0
0
0
0
0
27
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5059
56
598
0
0
456
2130
532
95
252
167
773
0
4930
50
486
0
0
456
2119
532
95
252
167
773
0
129
6
112
0
0
0
11
0
0
0
0
0
0
5
2
2
0
0
1
0
0
0
0
0
0
0
3
0
2
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5016
43
596
0
0
428
2130
532
95
252
167
773
0
4889
39
484
0
0
428
2119
532
95
252
167
773
0
127
4
112
0
0
0
11
0
0
0
0
0
0
27
0
0
0
0
27
0
0
0
0
0
0
0
27
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2325
236
61
51
97
298
888
202
199
159
81
1
52
2184
165
50
49
90
288
882
202
199
159
81
1
18
141
71
11
2
7
10
6
0
0
0
0
0
34
104
5
0
0
97
0
0
0
0
2
0
0
0
96
4
0
0
90
0
0
0
0
2
0
0
0
8
1
0
0
7
0
0
0
0
0
0
0
0
81
73
0
8
0
0
0
0
0
0
0
0
0
35
27
0
8
0
0
0
0
0
0
0
0
0
46
46
0
0
0
0
0
0
0
0
0
0
0
2129
152
61
42
0
298
888
201
199
157
80
0
51
2045
130
50
40
0
288
882
201
199
157
80
0
18
84
22
11
2
0
10
6
0
0
0
0
0
33
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2354
257
61
54
97
299
895
201
199
159
81
1
50
2222
195
50
50
90
289
889
201
199
159
81
1
18
132
62
11
4
7
10
6
0
0
0
0
0
32
103
4
0
0
97
0
0
0
0
2
0
0
0
96
4
0
0
90
0
0
0
0
2
0
0
0
7
0
0
0
7
0
0
0
0
0
0
0
0
101
89
0
12
0
0
0
0
0
0
0
0
0
52
42
0
10
0
0
0
0
0
0
0
0
0
49
47
0
2
0
0
0
0
0
0
0
0
0
2139
157
61
42
0
299
895
201
199
157
80
0
48
2066
143
50
40
0
289
889
201
199
157
80
0
18
73
14
11
2
0
10
6
0
0
0
0
0
30
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2399
277
61
106
96
299
895
201
220
160
81
3
0
2298
212
50
102
89
289
891
201
220
160
81
3
0
101
65
11
4
7
10
4
0
0
0
0
0
0
105
5
0
0
96
0
0
0
0
2
0
2
0
98
5
0
0
89
0
0
0
0
2
0
2
0
7
0
0
0
7
0
0
0
0
0
0
0
0
101
89
0
12
0
0
0
0
0
0
0
0
0
52
42
0
10
0
0
0
0
0
0
0
0
0
49
47
0
2
0
0
0
0
0
0
0
0
0
2178
170
61
94
0
299
895
201
220
158
80
0
0
2138
157
50
92
0
289
891
201
220
158
80
0
0
40
13
11
2
0
10
4
0
0
0
0
0
0
15
13
0
0
0
0
0
0
0
0
1
1
0
10
8
0
0
0
0
0
0
0
0
1
1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2399
275
61
106
96
299
896
201
220
161
81
3
0
2296
208
50
102
89
289
892
201
220
161
81
3
0
103
67
11
4
7
10
4
0
0
0
0
0
0
106
6
0
0
96
0
0
0
0
2
0
2
0
98
5
0
0
89
0
0
0
0
2
0
2
0
8
1
0
0
7
0
0
0
0
0
0
0
0
97
85
0
12
0
0
0
0
0
0
0
0
0
48
38
0
10
0
0
0
0
0
0
0
0
0
49
47
0
2
0
0
0
0
0
0
0
0
0
2180
170
61
94
0
299
896
201
220
159
80
0
0
2139
156
50
92
0
289
892
201
220
159
80
0
0
41
14
11
2
0
10
4
0
0
0
0
0
0
16
14
0
0
0
0
0
0
0
0
1
1
0
11
9
0
0
0
0
0
0
0
0
1
1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2392
276
61
99
94
299
896
202
220
161
81
3
0
2293
209
50
97
87
290
893
202
220
161
81
3
0
99
67
11
2
7
9
3
0
0
0
0
0
0
104
6
0
0
94
0
0
0
0
2
0
2
0
96
5
0
0
87
0
0
0
0
2
0
2
0
8
1
0
0
7
0
0
0
0
0
0
0
0
83
78
0
5
0
0
0
0
0
0
0
0
0
39
34
0
5
0
0
0
0
0
0
0
0
0
44
44
0
0
0
0
0
0
0
0
0
0
0
2181
170
61
94
0
299
896
202
220
159
80
0
0
2142
156
50
92
0
290
893
202
220
159
80
0
0
39
14
11
2
0
9
3
0
0
0
0
0
0
24
22
0
0
0
0
0
0
0
0
1
1
0
16
14
0
0
0
0
0
0
0
0
1
1
0
8
8
0
0
0
0
0
0
0
0
0
0
0
1789
87
196
10
40
552
629
164
66
21
18
0
6
1700
48
158
10
34
549
627
164
66
21
18
0
5
89
39
38
0
6
3
2
0
0
0
0
0
1
42
0
0
0
40
0
0
0
0
1
0
0
1
36
0
0
0
34
0
0
0
0
1
0
0
1
6
0
0
0
6
0
0
0
0
0
0
0
0
95
75
15
0
0
0
0
0
0
0
0
0
5
59
42
13
0
0
0
0
0
0
0
0
0
4
36
33
2
0
0
0
0
0
0
0
0
0
1
1651
11
181
10
0
552
629
164
66
20
18
0
0
1605
6
145
10
0
549
627
164
66
20
18
0
0
46
5
36
0
0
3
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1796
87
196
13
44
552
629
164
66
21
18
0
6
1707
48
159
13
37
549
627
164
66
21
18
0
5
89
39
37
0
7
3
2
0
0
0
0
0
1
46
0
0
0
44
0
0
0
0
1
0
0
1
39
0
0
0
37
0
0
0
0
1
0
0
1
7
0
0
0
7
0
0
0
0
0
0
0
0
95
75
15
0
0
0
0
0
0
0
0
0
5
60
42
14
0
0
0
0
0
0
0
0
0
4
35
33
1
0
0
0
0
0
0
0
0
0
1
1654
11
181
13
0
552
629
164
66
20
18
0
0
1608
6
145
13
0
549
627
164
66
20
18
0
0
46
5
36
0
0
3
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1798
87
201
13
45
553
629
164
66
21
18
0
1
1711
50
163
13
38
550
627
164
66
21
18
0
1
87
37
38
0
7
3
2
0
0
0
0
0
0
47
0
0
0
45
0
0
0
0
1
0
0
1
40
0
0
0
38
0
0
0
0
1
0
0
1
7
0
0
0
7
0
0
0
0
0
0
0
0
95
75
20
0
0
0
0
0
0
0
0
0
0
62
44
18
0
0
0
0
0
0
0
0
0
0
33
31
2
0
0
0
0
0
0
0
0
0
0
1655
11
181
13
0
553
629
164
66
20
18
0
0
1609
6
145
13
0
550
627
164
66
20
18
0
0
46
5
36
0
0
3
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1910
76
201
13
45
553
629
164
66
21
18
123
1
1834
50
163
13
38
550
627
164
66
21
18
123
1
76
26
38
0
7
3
2
0
0
0
0
0
0
47
0
0
0
45
0
0
0
0
1
0
0
1
40
0
0
0
38
0
0
0
0
1
0
0
1
7
0
0
0
7
0
0
0
0
0
0
0
0
84
64
20
0
0
0
0
0
0
0
0
0
0
62
44
18
0
0
0
0
0
0
0
0
0
0
22
20
2
0
0
0
0
0
0
0
0
0
0
1778
11
181
13
0
553
629
164
66
20
18
123
0
1732
6
145
13
0
550
627
164
66
20
18
123
0
46
5
36
0
0
3
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1910
76
201
13
45
553
629
164
66
21
18
123
1
1835
50
164
13
38
550
627
164
66
21
18
123
1
75
26
37
0
7
3
2
0
0
0
0
0
0
47
0
0
0
45
0
0
0
0
1
0
0
1
40
0
0
0
38
0
0
0
0
1
0
0
1
7
0
0
0
7
0
0
0
0
0
0
0
0
84
64
20
0
0
0
0
0
0
0
0
0
0
62
44
18
0
0
0
0
0
0
0
0
0
0
22
20
2
0
0
0
0
0
0
0
0
0
0
1778
11
181
13
0
553
629
164
66
20
18
123
0
1733
6
146
13
0
550
627
164
66
20
18
123
0
45
5
35
0
0
3
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
815
46
2
0
0
89
297
237
58
43
43
0
0
797
29
1
0
0
89
297
237
58
43
43
0
0
18
17
1
0
0
0
0
0
0
0
0
0
0
29
27
2
0
0
0
0
0
0
0
0
0
0
11
10
1
0
0
0
0
0
0
0
0
0
0
18
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
785
19
0
0
0
89
296
237
58
43
43
0
0
785
19
0
0
0
89
296
237
58
43
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
815
45
2
0
0
89
298
237
58
43
43
0
0
798
29
1
0
0
89
298
237
58
43
43
0
0
17
16
1
0
0
0
0
0
0
0
0
0
0
28
26
2
0
0
0
0
0
0
0
0
0
0
11
10
1
0
0
0
0
0
0
0
0
0
0
17
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
786
19
0
0
0
89
297
237
58
43
43
0
0
786
19
0
0
0
89
297
237
58
43
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
816
47
2
0
0
88
298
237
58
43
43
0
0
797
29
1
0
0
88
298
237
58
43
43
0
0
19
18
1
0
0
0
0
0
0
0
0
0
0
30
28
2
0
0
0
0
0
0
0
0
0
0
11
10
1
0
0
0
0
0
0
0
0
0
0
19
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
785
19
0
0
0
88
297
237
58
43
43
0
0
785
19
0
0
0
88
297
237
58
43
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
870
48
2
0
0
88
298
237
58
43
43
53
0
850
29
1
0
0
88
298
237
58
43
43
53
0
20
19
1
0
0
0
0
0
0
0
0
0
0
28
26
2
0
0
0
0
0
0
0
0
0
0
11
10
1
0
0
0
0
0
0
0
0
0
0
17
16
1
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
838
19
0
0
0
88
297
237
58
43
43
53
0
838
19
0
0
0
88
297
237
58
43
43
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
880
58
2
0
0
88
298
237
58
43
43
53
0
854
33
1
0
0
88
298
237
58
43
43
53
0
26
25
1
0
0
0
0
0
0
0
0
0
0
28
26
2
0
0
0
0
0
0
0
0
0
0
11
10
1
0
0
0
0
0
0
0
0
0
0
17
16
1
0
0
0
0
0
0
0
0
0
0
13
13
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
838
19
0
0
0
88
297
237
58
43
43
53
0
838
19
0
0
0
88
297
237
58
43
43
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3486
138
351
45
492
1030
852
25
47
340
94
61
11
3120
89
278
37
357
944
850
25
37
340
94
61
8
366
49
73
8
135
86
2
0
10
0
0
0
3
13
1
0
0
4
8
0
0
0
0
0
0
0
10
0
0
0
3
7
0
0
0
0
0
0
0
3
1
0
0
1
1
0
0
0
0
0
0
0
412
112
236
0
19
6
0
0
24
4
0
0
11
307
78
186
0
13
4
0
0
14
4
0
0
8
105
34
50
0
6
2
0
0
10
0
0
0
3
3033
25
115
45
469
988
852
25
23
336
94
61
0
2777
11
92
37
341
907
850
25
23
336
94
61
0
256
14
23
8
128
81
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
3495
142
350
45
493
1035
852
25
47
340
94
61
11
3135
93
284
37
357
949
850
25
37
340
94
61
8
360
49
66
8
136
86
2
0
10
0
0
0
3
14
1
0
0
4
9
0
0
0
0
0
0
0
11
0
0
0
3
8
0
0
0
0
0
0
0
3
1
0
0
1
1
0
0
0
0
0
0
0
415
116
235
0
19
6
0
0
24
4
0
0
11
317
82
192
0
13
4
0
0
14
4
0
0
8
98
34
43
0
6
2
0
0
10
0
0
0
3
3039
25
115
45
470
993
852
25
23
336
94
61
0
2782
11
92
37
341
912
850
25
23
336
94
61
0
257
14
23
8
129
81
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
3497
142
354
49
488
1035
852
25
47
340
94
67
4
3145
95
291
41
354
950
850
25
37
340
94
66
2
352
47
63
8
134
85
2
0
10
0
0
1
2
15
1
0
0
4
10
0
0
0
0
0
0
0
12
0
0
0
3
9
0
0
0
0
0
0
0
3
1
0
0
1
1
0
0
0
0
0
0
0
413
116
239
0
14
6
0
0
24
4
0
6
4
322
84
199
0
10
4
0
0
14
4
0
5
2
91
32
40
0
4
2
0
0
10
0
0
1
2
3043
25
115
49
470
993
852
25
23
336
94
61
0
2787
11
92
41
341
913
850
25
23
336
94
61
0
256
14
23
8
129
80
2
0
0
0
0
0
0
26
0
0
0
0
26
0
0
0
0
0
0
0
24
0
0
0
0
24
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
3500
142
354
49
488
1036
853
25
47
340
94
67
5
3154
95
291
41
359
951
851
25
37
340
94
67
3
346
47
63
8
129
85
2
0
10
0
0
0
2
15
1
0
0
4
10
0
0
0
0
0
0
0
12
0
0
0
3
9
0
0
0
0
0
0
0
3
1
0
0
1
1
0
0
0
0
0
0
0
414
116
239
0
14
6
0
0
24
4
0
6
5
324
84
199
0
10
4
0
0
14
4
0
6
3
90
32
40
0
4
2
0
0
10
0
0
0
2
3043
25
115
49
470
993
852
25
23
336
94
61
0
2792
11
92
41
346
913
850
25
23
336
94
61
0
251
14
23
8
124
80
2
0
0
0
0
0
0
28
0
0
0
0
27
1
0
0
0
0
0
0
26
0
0
0
0
25
1
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
3498
142
354
49
447
1075
853
25
47
340
94
67
5
3153
95
291
41
331
978
851
25
37
340
94
67
3
345
47
63
8
116
97
2
0
10
0
0
0
2
14
1
0
0
3
10
0
0
0
0
0
0
0
12
0
0
0
3
9
0
0
0
0
0
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
414
116
239
0
14
6
0
0
24
4
0
6
5
324
84
199
0
10
4
0
0
14
4
0
6
3
90
32
40
0
4
2
0
0
10
0
0
0
2
3043
25
115
49
430
1033
852
25
23
336
94
61
0
2792
11
92
41
318
941
850
25
23
336
94
61
0
251
14
23
8
112
92
2
0
0
0
0
0
0
27
0
0
0
0
26
1
0
0
0
0
0
0
25
0
0
0
0
24
1
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2618
38
77
64
289
178
0
95
12
1247
232
289
97
2455
20
70
49
177
167
0
95
12
1247
232
289
97
163
18
7
15
112
11
0
0
0
0
0
0
0
90
9
2
13
58
0
0
5
1
0
1
0
1
78
6
1
10
53
0
0
5
1
0
1
0
1
12
3
1
3
5
0
0
0
0
0
0
0
0
198
21
65
51
45
0
0
0
11
0
0
0
5
148
12
59
39
22
0
0
0
11
0
0
0
5
50
9
6
12
23
0
0
0
0
0
0
0
0
2328
8
8
0
186
178
0
90
0
1247
231
289
91
2227
2
8
0
102
167
0
90
0
1247
231
289
91
101
6
0
0
84
11
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2826
34
77
228
288
178
0
95
19
1247
232
332
96
2688
18
70
215
197
167
0
95
19
1247
232
332
96
138
16
7
13
91
11
0
0
0
0
0
0
0
92
6
2
15
61
0
0
5
1
0
1
0
1
79
3
1
11
56
0
0
5
1
0
1
0
1
13
3
1
4
5
0
0
0
0
0
0
0
0
203
20
65
50
45
0
0
0
18
0
0
0
5
159
13
59
41
23
0
0
0
18
0
0
0
5
44
7
6
9
22
0
0
0
0
0
0
0
0
2529
8
8
163
182
178
0
90
0
1247
231
332
90
2448
2
8
163
118
167
0
90
0
1247
231
332
90
81
6
0
0
64
11
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2877
34
82
229
288
178
0
95
19
1346
225
381
0
2741
18
75
218
197
167
0
95
19
1346
225
381
0
136
16
7
11
91
11
0
0
0
0
0
0
0
91
6
2
15
61
0
0
5
1
0
1
0
0
78
3
1
11
56
0
0
5
1
0
1
0
0
13
3
1
4
5
0
0
0
0
0
0
0
0
211
20
70
49
45
0
0
0
18
0
0
9
0
169
13
64
42
23
0
0
0
18
0
0
9
0
42
7
6
7
22
0
0
0
0
0
0
0
0
2573
8
8
165
182
178
0
90
0
1346
224
372
0
2492
2
8
165
118
167
0
90
0
1346
224
372
0
81
6
0
0
64
11
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2992
34
82
229
288
178
0
95
19
1346
225
496
0
2858
18
75
218
199
167
0
95
19
1346
225
496
0
134
16
7
11
89
11
0
0
0
0
0
0
0
91
6
2
15
61
0
0
5
1
0
1
0
0
79
3
1
11
57
0
0
5
1
0
1
0
0
12
3
1
4
4
0
0
0
0
0
0
0
0
211
20
70
49
45
0
0
0
18
0
0
9
0
170
13
64
42
24
0
0
0
18
0
0
9
0
41
7
6
7
21
0
0
0
0
0
0
0
0
2688
8
8
165
182
178
0
90
0
1346
224
487
0
2607
2
8
165
118
167
0
90
0
1346
224
487
0
81
6
0
0
64
11
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3027
34
82
229
288
178
0
95
19
1346
224
532
0
2894
18
75
218
200
167
0
95
19
1346
224
532
0
133
16
7
11
88
11
0
0
0
0
0
0
0
91
6
2
15
61
0
0
5
1
0
1
0
0
79
3
1
11
57
0
0
5
1
0
1
0
0
12
3
1
4
4
0
0
0
0
0
0
0
0
211
20
70
49
45
0
0
0
18
0
0
9
0
171
13
64
42
25
0
0
0
18
0
0
9
0
40
7
6
7
20
0
0
0
0
0
0
0
0
2723
8
8
165
182
178
0
90
0
1346
223
523
0
2642
2
8
165
118
167
0
90
0
1346
223
523
0
81
6
0
0
64
11
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1222
225
37
14
9
0
234
84
0
343
97
140
39
1121
156
34
4
8
0
216
84
0
343
97
140
39
101
69
3
10
1
0
18
0
0
0
0
0
0
30
26
0
4
0
0
0
0
0
0
0
0
0
15
15
0
0
0
0
0
0
0
0
0
0
0
15
11
0
4
0
0
0
0
0
0
0
0
0
212
158
18
10
8
0
18
0
0
0
0
0
0
128
102
15
4
7
0
0
0
0
0
0
0
0
84
56
3
6
1
0
18
0
0
0
0
0
0
979
41
19
0
0
0
216
84
0
343
97
140
39
977
39
19
0
0
0
216
84
0
343
97
140
39
2
2
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1238
222
62
10
10
0
234
84
0
342
97
141
36
1125
151
45
4
9
0
216
84
0
342
97
141
36
113
71
17
6
1
0
18
0
0
0
0
0
0
22
22
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
238
159
43
10
8
0
18
0
0
0
0
0
0
138
101
26
4
7
0
0
0
0
0
0
0
0
100
58
17
6
1
0
18
0
0
0
0
0
0
976
41
19
0
0
0
216
84
0
342
97
141
36
974
39
19
0
0
0
216
84
0
342
97
141
36
2
2
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1233
218
62
4
9
0
219
84
0
385
97
155
0
1146
152
45
4
8
0
216
84
0
385
97
155
0
87
66
17
0
1
0
3
0
0
0
0
0
0
18
18
0
0
0
0
0
0
0
0
0
0
0
10
10
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
217
159
43
4
8
0
3
0
0
0
0
0
0
140
103
26
4
7
0
0
0
0
0
0
0
0
77
56
17
0
1
0
3
0
0
0
0
0
0
997
41
19
0
0
0
216
84
0
385
97
155
0
995
39
19
0
0
0
216
84
0
385
97
155
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1373
224
62
4
9
0
219
84
0
385
97
289
0
1282
154
45
4
8
0
216
84
0
385
97
289
0
91
70
17
0
1
0
3
0
0
0
0
0
0
24
24
0
0
0
0
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
217
159
43
4
8
0
3
0
0
0
0
0
0
140
103
26
4
7
0
0
0
0
0
0
0
0
77
56
17
0
1
0
3
0
0
0
0
0
0
1131
41
19
0
0
0
216
84
0
385
97
289
0
1129
39
19
0
0
0
216
84
0
385
97
289
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1652
224
62
4
10
0
216
84
0
385
97
570
0
1572
162
45
4
9
0
216
84
0
385
97
570
0
80
62
17
0
1
0
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
222
167
43
4
8
0
0
0
0
0
0
0
0
148
111
26
4
7
0
0
0
0
0
0
0
0
74
56
17
0
1
0
0
0
0
0
0
0
0
1412
41
19
0
0
0
216
84
0
385
97
570
0
1410
39
19
0
0
0
216
84
0
385
97
570
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1134
85
0
0
0
341
393
41
14
65
19
176
0
1084
84
0
0
0
292
393
41
14
65
19
176
0
50
1
0
0
0
49
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
20
20
0
0
0
0
0
0
0
0
0
0
0
20
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
61
0
0
0
341
393
41
14
65
19
176
0
1061
61
0
0
0
292
393
41
14
65
19
176
0
49
0
0
0
0
49
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1182
117
0
0
0
361
393
41
14
64
19
173
0
1120
116
0
0
0
300
393
41
14
64
19
173
0
62
1
0
0
0
61
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1173
108
0
0
0
361
393
41
14
64
19
173
0
1112
108
0
0
0
300
393
41
14
64
19
173
0
61
0
0
0
0
61
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1364
133
0
0
0
361
393
41
80
64
19
273
0
1302
132
0
0
0
300
393
41
80
64
19
273
0
62
1
0
0
0
61
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
0
0
10
0
25
15
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1335
114
0
0
0
361
393
41
80
64
19
263
0
1274
114
0
0
0
300
393
41
80
64
19
263
0
61
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1716
133
0
0
0
361
393
41
80
64
19
625
0
1654
132
0
0
0
300
393
41
80
64
19
625
0
62
1
0
0
0
61
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
0
0
10
0
25
15
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1687
114
0
0
0
361
393
41
80
64
19
615
0
1626
114
0
0
0
300
393
41
80
64
19
615
0
61
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1846
134
0
0
0
361
393
41
172
64
19
662
0
1784
133
0
0
0
300
393
41
172
64
19
662
0
62
1
0
0
0
61
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
0
0
10
0
25
15
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1816
114
0
0
0
361
393
41
172
64
19
652
0
1755
114
0
0
0
300
393
41
172
64
19
652
0
61
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2533
950
95
0
77
366
713
177
99
0
1
0
55
2128
638
66
0
62
329
710
177
99
0
1
0
46
405
312
29
0
15
37
3
0
0
0
0
0
9
12
11
0
0
0
0
0
0
0
0
1
0
0
7
6
0
0
0
0
0
0
0
0
1
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
1073
921
26
0
13
0
0
0
79
0
0
0
34
756
619
21
0
9
0
0
0
79
0
0
0
28
317
302
5
0
4
0
0
0
0
0
0
0
6
1442
13
69
0
64
366
712
177
20
0
0
0
21
1363
12
45
0
53
329
709
177
20
0
0
0
18
79
1
24
0
11
37
3
0
0
0
0
0
3
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2543
958
95
0
78
367
713
177
99
0
1
0
55
2134
644
66
0
62
330
710
177
99
0
1
0
45
409
314
29
0
16
37
3
0
0
0
0
0
10
10
9
0
0
0
0
0
0
0
0
1
0
0
7
6
0
0
0
0
0
0
0
0
1
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1086
932
26
0
14
0
0
0
79
0
0
0
35
763
626
21
0
9
0
0
0
79
0
0
0
28
323
306
5
0
5
0
0
0
0
0
0
0
7
1442
13
69
0
64
367
712
177
20
0
0
0
20
1363
12
45
0
53
330
709
177
20
0
0
0
17
79
1
24
0
11
37
3
0
0
0
0
0
3
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2517
1009
95
0
78
367
713
177
71
0
1
0
6
2130
709
66
0
62
330
710
177
71
0
1
0
4
387
300
29
0
16
37
3
0
0
0
0
0
2
14
13
0
0
0
0
0
0
0
0
1
0
0
9
8
0
0
0
0
0
0
0
0
1
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
1052
955
26
0
14
0
0
0
51
0
0
0
6
753
668
21
0
9
0
0
0
51
0
0
0
4
299
287
5
0
5
0
0
0
0
0
0
0
2
1445
36
69
0
64
367
712
177
20
0
0
0
0
1366
32
45
0
53
330
709
177
20
0
0
0
0
79
4
24
0
11
37
3
0
0
0
0
0
0
6
5
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
2529
1022
95
0
78
367
713
177
71
0
0
0
6
2148
728
66
0
62
330
710
177
71
0
0
0
4
381
294
29
0
16
37
3
0
0
0
0
0
2
16
16
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
1063
966
26
0
14
0
0
0
51
0
0
0
6
770
685
21
0
9
0
0
0
51
0
0
0
4
293
281
5
0
5
0
0
0
0
0
0
0
2
1445
36
69
0
64
367
712
177
20
0
0
0
0
1366
32
45
0
53
330
709
177
20
0
0
0
0
79
4
24
0
11
37
3
0
0
0
0
0
0
5
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
2527
1019
95
0
78
367
713
177
71
0
0
0
7
2148
727
66
0
62
330
710
177
71
0
0
0
5
379
292
29
0
16
37
3
0
0
0
0
0
2
16
16
0
0
0
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
1061
963
26
0
14
0
0
0
51
0
0
0
7
770
684
21
0
9
0
0
0
51
0
0
0
5
291
279
5
0
5
0
0
0
0
0
0
0
2
1445
36
69
0
64
367
712
177
20
0
0
0
0
1366
32
45
0
53
330
709
177
20
0
0
0
0
79
4
24
0
11
37
3
0
0
0
0
0
0
5
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
169
27
0
0
1
20
3
1
1
0
0
116
0
165
23
0
0
1
20
3
1
1
0
0
116
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
27
0
0
0
5
0
0
0
0
0
0
0
28
23
0
0
0
5
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
116
0
0
0
0
0
0
0
0
0
0
116
0
116
0
0
0
0
0
0
0
0
0
0
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
219
27
0
0
0
21
3
1
1
0
0
166
0
215
23
0
0
0
21
3
1
1
0
0
166
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
27
0
0
0
6
0
0
0
0
0
0
0
29
23
0
0
0
6
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
166
0
166
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
218
26
0
0
0
21
3
1
1
0
0
166
0
215
23
0
0
0
21
3
1
1
0
0
166
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
26
0
0
0
6
0
0
0
0
0
0
0
29
23
0
0
0
6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
166
0
166
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
15
3
1
1
0
0
0
0
20
0
0
0
0
15
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
218
26
0
0
0
21
3
1
1
0
0
166
0
215
23
0
0
0
21
3
1
1
0
0
166
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
26
0
0
0
6
0
0
0
0
0
0
0
29
23
0
0
0
6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
166
0
166
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
15
3
1
1
0
0
0
0
20
0
0
0
0
15
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
26
0
0
0
21
3
0
0
0
0
166
0
213
23
0
0
0
21
3
0
0
0
0
166
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
26
0
0
0
6
0
0
0
0
0
0
0
29
23
0
0
0
6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
166
0
166
0
0
0
0
0
0
0
0
0
0
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
15
3
0
0
0
0
0
0
18
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1408
0
0
28
52
970
318
2
5
0
1
30
2
1363
0
0
14
30
962
317
2
5
0
1
30
2
45
0
0
14
22
8
1
0
0
0
0
0
0
75
0
0
19
43
2
2
1
5
0
1
2
0
52
0
0
11
30
1
1
1
5
0
1
2
0
23
0
0
8
13
1
1
0
0
0
0
0
0
38
0
0
9
7
13
9
0
0
0
0
0
0
25
0
0
3
0
13
9
0
0
0
0
0
0
13
0
0
6
7
0
0
0
0
0
0
0
0
1291
0
0
0
2
954
307
0
0
0
0
28
0
1282
0
0
0
0
947
307
0
0
0
0
28
0
9
0
0
0
2
7
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1413
0
0
28
54
972
319
2
5
0
1
30
2
1366
0
0
14
30
964
318
2
5
0
1
30
2
47
0
0
14
24
8
1
0
0
0
0
0
0
76
0
0
19
44
2
2
1
5
0
1
2
0
52
0
0
11
30
1
1
1
5
0
1
2
0
24
0
0
8
14
1
1
0
0
0
0
0
0
38
0
0
9
7
13
9
0
0
0
0
0
0
25
0
0
3
0
13
9
0
0
0
0
0
0
13
0
0
6
7
0
0
0
0
0
0
0
0
1295
0
0
0
3
956
308
0
0
0
0
28
0
1285
0
0
0
0
949
308
0
0
0
0
28
0
10
0
0
0
3
7
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1461
0
0
28
54
972
319
2
5
0
3
78
0
1414
0
0
14
30
964
318
2
5
0
3
78
0
47
0
0
14
24
8
1
0
0
0
0
0
0
76
0
0
19
44
2
2
1
5
0
1
2
0
52
0
0
11
30
1
1
1
5
0
1
2
0
24
0
0
8
14
1
1
0
0
0
0
0
0
38
0
0
9
7
13
9
0
0
0
0
0
0
25
0
0
3
0
13
9
0
0
0
0
0
0
13
0
0
6
7
0
0
0
0
0
0
0
0
1343
0
0
0
3
956
308
0
0
0
0
76
0
1333
0
0
0
0
949
308
0
0
0
0
76
0
10
0
0
0
3
7
0
0
0
0
0
0
0
4
0
0
0
0
1
0
1
0
0
2
0
0
4
0
0
0
0
1
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1615
0
0
28
54
972
319
2
5
0
3
232
0
1568
0
0
14
30
964
318
2
5
0
3
232
0
47
0
0
14
24
8
1
0
0
0
0
0
0
76
0
0
19
44
2
2
1
5
0
1
2
0
52
0
0
11
30
1
1
1
5
0
1
2
0
24
0
0
8
14
1
1
0
0
0
0
0
0
38
0
0
9
7
13
9
0
0
0
0
0
0
25
0
0
3
0
13
9
0
0
0
0
0
0
13
0
0
6
7
0
0
0
0
0
0
0
0
1497
0
0
0
3
956
308
0
0
0
0
230
0
1487
0
0
0
0
949
308
0
0
0
0
230
0
10
0
0
0
3
7
0
0
0
0
0
0
0
4
0
0
0
0
1
0
1
0
0
2
0
0
4
0
0
0
0
1
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1732
0
0
28
54
971
319
1
5
0
3
351
0
1685
0
0
14
30
963
318
1
5
0
3
351
0
47
0
0
14
24
8
1
0
0
0
0
0
0
76
0
0
19
44
2
2
1
5
0
1
2
0
52
0
0
11
30
1
1
1
5
0
1
2
0
24
0
0
8
14
1
1
0
0
0
0
0
0
38
0
0
9
7
13
9
0
0
0
0
0
0
25
0
0
3
0
13
9
0
0
0
0
0
0
13
0
0
6
7
0
0
0
0
0
0
0
0
1616
0
0
0
3
956
308
0
0
0
0
349
0
1606
0
0
0
0
949
308
0
0
0
0
349
0
10
0
0
0
3
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
480
0
0
91
0
0
0
0
6
383
0
0
0
448
0
0
59
0
0
0
0
6
383
0
0
0
32
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
0
90
0
0
0
0
6
37
0
0
0
102
0
0
59
0
0
0
0
6
37
0
0
0
31
0
0
31
0
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
480
0
0
91
0
0
0
0
6
383
0
0
0
448
0
0
59
0
0
0
0
6
383
0
0
0
32
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
0
90
0
0
0
0
6
37
0
0
0
102
0
0
59
0
0
0
0
6
37
0
0
0
31
0
0
31
0
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
480
0
0
91
0
0
0
0
6
383
0
0
0
448
0
0
59
0
0
0
0
6
383
0
0
0
32
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
0
90
0
0
0
0
6
37
0
0
0
102
0
0
59
0
0
0
0
6
37
0
0
0
31
0
0
31
0
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
480
0
0
91
0
0
0
0
6
383
0
0
0
448
0
0
59
0
0
0
0
6
383
0
0
0
32
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
0
90
0
0
0
0
6
37
0
0
0
102
0
0
59
0
0
0
0
6
37
0
0
0
31
0
0
31
0
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
480
0
0
91
0
0
0
0
6
383
0
0
0
448
0
0
59
0
0
0
0
6
383
0
0
0
32
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
0
90
0
0
0
0
6
37
0
0
0
102
0
0
59
0
0
0
0
6
37
0
0
0
31
0
0
31
0
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
346
0
0
0
0
0
0
0
0
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
182
0
0
0
0
0
0
0
0
0
0
0
182
181
0
0
0
0
0
0
0
0
0
0
0
181
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
0
0
0
0
0
0
0
0
0
0
0
182
181
0
0
0
0
0
0
0
0
0
0
0
181
1
0
0
0
0
0
0
0
0
0
0
0
1
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
176
0
0
0
0
0
0
0
0
0
0
0
176
175
0
0
0
0
0
0
0
0
0
0
0
175
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
0
0
0
0
0
0
0
0
0
0
0
176
175
0
0
0
0
0
0
0
0
0
0
0
175
1
0
0
0
0
0
0
0
0
0
0
0
1
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
209
0
0
0
0
0
0
0
0
0
209
0
0
209
0
0
0
0
0
0
0
0
0
209
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
209
0
0
0
0
0
0
0
0
0
209
0
0
209
0
0
0
0
0
0
0
0
0
209
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
208
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1074
7
121
108
268
368
63
3
10
0
4
92
30
925
6
94
71
215
351
63
3
10
0
4
92
16
149
1
27
37
53
17
0
0
0
0
0
0
14
125
3
18
19
74
7
1
1
0
0
0
0
2
106
2
14
13
68
5
1
1
0
0
0
0
2
19
1
4
6
6
2
0
0
0
0
0
0
0
247
4
103
76
34
25
5
0
0
0
0
0
0
183
4
80
55
14
25
5
0
0
0
0
0
0
64
0
23
21
20
0
0
0
0
0
0
0
0
686
0
0
13
160
336
57
0
0
0
0
92
28
620
0
0
3
133
321
57
0
0
0
0
92
14
66
0
0
10
27
15
0
0
0
0
0
0
14
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1125
7
124
108
299
369
63
3
0
0
4
116
32
953
6
95
73
224
352
63
3
0
0
4
116
17
172
1
29
35
75
17
0
0
0
0
0
0
15
133
3
18
20
80
8
1
1
0
0
0
0
2
114
2
14
14
74
6
1
1
0
0
0
0
2
19
1
4
6
6
2
0
0
0
0
0
0
0
249
4
106
75
34
25
5
0
0
0
0
0
0
185
4
81
56
14
25
5
0
0
0
0
0
0
64
0
25
19
20
0
0
0
0
0
0
0
0
737
0
0
13
185
336
57
0
0
0
0
116
30
648
0
0
3
136
321
57
0
0
0
0
116
15
89
0
0
10
49
15
0
0
0
0
0
0
15
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1123
8
125
107
297
369
63
3
1
0
4
116
30
961
7
96
80
223
353
63
3
1
0
4
116
15
162
1
29
27
74
16
0
0
0
0
0
0
15
131
4
19
19
79
8
1
1
0
0
0
0
0
114
3
15
14
73
7
1
1
0
0
0
0
0
17
1
4
5
6
1
0
0
0
0
0
0
0
248
4
106
75
33
25
5
0
0
0
0
0
0
191
4
81
62
14
25
5
0
0
0
0
0
0
57
0
25
13
19
0
0
0
0
0
0
0
0
737
0
0
13
185
336
57
0
0
0
0
116
30
649
0
0
4
136
321
57
0
0
0
0
116
15
88
0
0
9
49
15
0
0
0
0
0
0
15
7
0
0
0
0
0
0
2
1
0
4
0
0
7
0
0
0
0
0
0
2
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1150
8
125
106
296
367
63
3
34
0
3
116
29
992
7
96
81
223
352
63
3
34
0
3
116
14
158
1
29
25
73
15
0
0
0
0
0
0
15
129
4
19
19
79
6
1
1
0
0
0
0
0
113
3
15
14
73
6
1
1
0
0
0
0
0
16
1
4
5
6
0
0
0
0
0
0
0
0
247
4
106
75
32
25
5
0
0
0
0
0
0
191
4
81
62
14
25
5
0
0
0
0
0
0
56
0
25
13
18
0
0
0
0
0
0
0
0
769
0
0
12
185
336
57
0
34
0
0
116
29
683
0
0
5
136
321
57
0
34
0
0
116
14
86
0
0
7
49
15
0
0
0
0
0
0
15
5
0
0
0
0
0
0
2
0
0
3
0
0
5
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1150
8
125
106
296
367
63
3
33
0
3
116
30
992
7
96
81
223
352
63
3
33
0
3
116
15
158
1
29
25
73
15
0
0
0
0
0
0
15
129
4
19
19
79
6
1
1
0
0
0
0
0
113
3
15
14
73
6
1
1
0
0
0
0
0
16
1
4
5
6
0
0
0
0
0
0
0
0
247
4
106
75
32
25
5
0
0
0
0
0
0
191
4
81
62
14
25
5
0
0
0
0
0
0
56
0
25
13
18
0
0
0
0
0
0
0
0
769
0
0
12
185
336
57
0
33
0
0
116
30
683
0
0
5
136
321
57
0
33
0
0
116
15
86
0
0
7
49
15
0
0
0
0
0
0
15
5
0
0
0
0
0
0
2
0
0
3
0
0
5
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
385
102
19
31
6
70
17
29
53
38
18
1
1
305
54
15
16
6
60
15
29
53
37
18
1
1
80
48
4
15
0
10
2
0
0
1
0
0
0
204
67
8
4
6
60
10
13
15
12
7
1
1
167
42
6
4
6
53
8
13
15
11
7
1
1
37
25
2
0
0
7
2
0
0
1
0
0
0
132
32
11
27
0
10
7
15
9
10
11
0
0
91
11
9
12
0
7
7
15
9
10
11
0
0
41
21
2
15
0
3
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
383
104
19
30
6
71
17
29
50
38
17
1
1
300
54
13
16
6
61
15
29
50
37
17
1
1
83
50
6
14
0
10
2
0
0
1
0
0
0
207
70
8
4
6
61
10
13
15
12
6
1
1
167
43
5
4
6
54
8
13
15
11
6
1
1
40
27
3
0
0
7
2
0
0
1
0
0
0
126
27
11
26
0
10
7
15
9
10
11
0
0
90
11
8
12
0
7
7
15
9
10
11
0
0
36
16
3
14
0
3
0
0
0
0
0
0
0
22
6
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
384
105
19
30
6
71
17
29
49
39
18
1
0
302
55
13
16
6
61
15
29
49
39
18
1
0
82
50
6
14
0
10
2
0
0
0
0
0
0
209
71
8
4
6
61
10
13
15
13
7
1
0
170
44
5
4
6
54
8
13
15
13
7
1
0
39
27
3
0
0
7
2
0
0
0
0
0
0
126
27
11
26
0
10
7
15
9
10
11
0
0
90
11
8
12
0
7
7
15
9
10
11
0
0
36
16
3
14
0
3
0
0
0
0
0
0
0
22
6
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
27
1
0
0
0
0
0
1
25
0
0
0
0
26
0
0
0
0
0
0
1
25
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
389
102
19
30
6
71
17
29
46
39
18
12
0
307
53
13
16
6
61
15
29
46
38
18
12
0
82
49
6
14
0
10
2
0
0
1
0
0
0
208
68
8
4
6
61
10
13
15
13
7
3
0
169
42
5
4
6
54
8
13
15
12
7
3
0
39
26
3
0
0
7
2
0
0
1
0
0
0
126
27
11
26
0
10
7
15
9
10
11
0
0
90
11
8
12
0
7
7
15
9
10
11
0
0
36
16
3
14
0
3
0
0
0
0
0
0
0
31
6
0
0
0
0
0
0
0
16
0
9
0
25
0
0
0
0
0
0
0
0
16
0
9
0
6
6
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
1
22
0
0
0
0
23
0
0
0
0
0
0
1
22
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
387
102
19
30
6
71
17
29
44
39
18
12
0
304
52
13
16
6
61
15
29
44
38
18
12
0
83
50
6
14
0
10
2
0
0
1
0
0
0
208
68
8
4
6
61
10
13
15
13
7
3
0
168
41
5
4
6
54
8
13
15
12
7
3
0
40
27
3
0
0
7
2
0
0
1
0
0
0
126
27
11
26
0
10
7
15
9
10
11
0
0
90
11
8
12
0
7
7
15
9
10
11
0
0
36
16
3
14
0
3
0
0
0
0
0
0
0
31
6
0
0
0
0
0
0
0
16
0
9
0
25
0
0
0
0
0
0
0
0
16
0
9
0
6
6
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
0
0
1
20
0
0
0
0
21
0
0
0
0
0
0
1
20
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
136
17
3
1
0
8
4
47
5
9
41
1
0
101
8
1
1
0
8
3
24
5
9
41
1
0
35
9
2
0
0
0
1
23
0
0
0
0
0
51
17
3
1
0
4
4
1
5
9
6
1
0
39
8
1
1
0
4
3
1
5
9
6
1
0
12
9
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
135
17
3
1
0
8
4
46
5
9
41
1
0
101
8
1
1
0
8
3
24
5
9
41
1
0
34
9
2
0
0
0
1
22
0
0
0
0
0
51
17
3
1
0
4
4
1
5
9
6
1
0
39
8
1
1
0
4
3
1
5
9
6
1
0
12
9
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
135
17
3
1
0
8
4
46
5
9
41
1
0
101
8
1
1
0
8
3
24
5
9
41
1
0
34
9
2
0
0
0
1
22
0
0
0
0
0
51
17
3
1
0
4
4
1
5
9
6
1
0
39
8
1
1
0
4
3
1
5
9
6
1
0
12
9
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
135
17
3
1
0
8
4
46
5
9
41
1
0
101
8
1
1
0
8
3
24
5
9
41
1
0
34
9
2
0
0
0
1
22
0
0
0
0
0
51
17
3
1
0
4
4
1
5
9
6
1
0
39
8
1
1
0
4
3
1
5
9
6
1
0
12
9
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
135
17
3
1
0
8
4
46
5
9
41
1
0
101
8
1
1
0
8
3
24
5
9
41
1
0
34
9
2
0
0
0
1
22
0
0
0
0
0
51
17
3
1
0
4
4
1
5
9
6
1
0
39
8
1
1
0
4
3
1
5
9
6
1
0
12
9
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
62
0
0
0
0
4
0
23
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
167
13
4
2
0
67
19
13
17
12
7
5
8
137
8
4
1
0
43
19
13
17
12
7
5
8
30
5
0
1
0
24
0
0
0
0
0
0
0
144
13
4
2
0
61
15
13
13
9
7
5
2
117
8
4
1
0
40
15
13
13
9
7
5
2
27
5
0
1
0
21
0
0
0
0
0
0
0
17
0
0
0
0
6
4
0
4
3
0
0
0
14
0
0
0
0
3
4
0
4
3
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
171
14
4
2
0
68
20
13
17
12
7
6
8
140
8
4
1
0
44
20
13
17
12
7
6
8
31
6
0
1
0
24
0
0
0
0
0
0
0
148
14
4
2
0
62
16
13
13
9
7
6
2
120
8
4
1
0
41
16
13
13
9
7
6
2
28
6
0
1
0
21
0
0
0
0
0
0
0
17
0
0
0
0
6
4
0
4
3
0
0
0
14
0
0
0
0
3
4
0
4
3
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
173
14
4
2
0
69
21
13
24
12
7
7
0
142
8
4
1
0
45
21
13
24
12
7
7
0
31
6
0
1
0
24
0
0
0
0
0
0
0
150
14
4
2
0
63
17
13
14
9
7
7
0
122
8
4
1
0
42
17
13
14
9
7
7
0
28
6
0
1
0
21
0
0
0
0
0
0
0
17
0
0
0
0
6
4
0
4
3
0
0
0
14
0
0
0
0
3
4
0
4
3
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
14
4
2
0
70
21
13
24
12
7
7
0
143
8
4
1
0
46
21
13
24
12
7
7
0
31
6
0
1
0
24
0
0
0
0
0
0
0
151
14
4
2
0
64
17
13
14
9
7
7
0
123
8
4
1
0
43
17
13
14
9
7
7
0
28
6
0
1
0
21
0
0
0
0
0
0
0
17
0
0
0
0
6
4
0
4
3
0
0
0
14
0
0
0
0
3
4
0
4
3
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
14
3
2
0
69
21
13
24
12
7
8
0
142
8
3
1
0
45
21
13
24
12
7
8
0
31
6
0
1
0
24
0
0
0
0
0
0
0
143
14
3
2
0
56
17
13
14
9
7
8
0
120
8
3
1
0
40
17
13
14
9
7
8
0
23
6
0
1
0
16
0
0
0
0
0
0
0
17
0
0
0
0
6
4
0
4
3
0
0
0
14
0
0
0
0
3
4
0
4
3
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
7
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
753
0
0
0
0
0
0
0
0
483
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
773
0
0
0
0
0
0
0
0
503
270
0
0
773
0
0
0
0
0
0
0
0
503
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
773
0
0
0
0
0
0
0
0
503
270
0
0
773
0
0
0
0
0
0
0
0
503
270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
775
0
0
0
0
0
0
0
0
503
272
0
0
775
0
0
0
0
0
0
0
0
503
272
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
775
0
0
0
0
0
0
0
0
503
272
0
0
775
0
0
0
0
0
0
0
0
503
272
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
13
0
1
0
4
0
0
0
0
0
0
1
6
1
0
0
0
4
0
0
0
0
0
0
1
13
12
0
1
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
20
14
0
1
0
4
0
0
0
0
0
0
1
7
2
0
0
0
4
0
0
0
0
0
0
1
13
12
0
1
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
17
12
0
0
0
4
0
0
0
0
0
0
1
7
2
0
0
0
4
0
0
0
0
0
0
1
10
10
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
0
0
1
5
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
13
1
0
0
4
0
0
0
0
0
0
1
8
2
1
0
0
4
0
0
0
0
0
0
1
11
11
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
4
0
0
0
0
0
0
1
6
0
1
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
119
13
1
0
0
4
0
0
0
0
0
101
0
108
2
1
0
0
4
0
0
0
0
0
101
0
11
11
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
8
0
0
0
0
0
0
0
0
0
101
0
101
0
0
0
0
0
0
0
0
0
0
101
0
8
8
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
4
0
0
0
0
0
0
0
5
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
142
2
0
0
0
0
4
0
0
0
0
136
0
142
2
0
0
0
0
4
0
0
0
0
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
0
0
136
0
136
0
0
0
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
4
0
0
0
0
0
0
6
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
0
57
13
4
0
25
1
9
0
32
0
0
89
0
22
9
4
0
12
1
9
0
32
0
0
52
0
35
4
0
0
13
0
0
0
0
0
0
24
0
10
8
4
0
1
1
0
0
0
0
0
18
0
6
6
4
0
1
1
0
0
0
0
0
6
0
4
2
0
0
0
0
0
0
0
0
0
49
0
16
0
0
0
24
0
9
0
0
0
0
29
0
9
0
0
0
11
0
9
0
0
0
0
20
0
7
0
0
0
13
0
0
0
0
0
0
68
0
31
5
0
0
0
0
0
0
32
0
0
42
0
7
3
0
0
0
0
0
0
32
0
0
26
0
24
2
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
143
0
59
13
4
0
25
1
9
0
32
0
0
89
0
22
9
4
0
12
1
9
0
32
0
0
54
0
37
4
0
0
13
0
0
0
0
0
0
26
0
12
8
4
0
1
1
0
0
0
0
0
18
0
6
6
4
0
1
1
0
0
0
0
0
8
0
6
2
0
0
0
0
0
0
0
0
0
49
0
16
0
0
0
24
0
9
0
0
0
0
29
0
9
0
0
0
11
0
9
0
0
0
0
20
0
7
0
0
0
13
0
0
0
0
0
0
68
0
31
5
0
0
0
0
0
0
32
0
0
42
0
7
3
0
0
0
0
0
0
32
0
0
26
0
24
2
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
143
0
59
13
4
0
25
1
9
0
32
0
0
89
0
22
9
4
0
12
1
9
0
32
0
0
54
0
37
4
0
0
13
0
0
0
0
0
0
26
0
12
8
4
0
1
1
0
0
0
0
0
18
0
6
6
4
0
1
1
0
0
0
0
0
8
0
6
2
0
0
0
0
0
0
0
0
0
49
0
16
0
0
0
24
0
9
0
0
0
0
29
0
9
0
0
0
11
0
9
0
0
0
0
20
0
7
0
0
0
13
0
0
0
0
0
0
68
0
31
5
0
0
0
0
0
0
32
0
0
42
0
7
3
0
0
0
0
0
0
32
0
0
26
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
0
59
13
4
0
25
1
9
0
32
16
0
105
0
22
9
4
0
12
1
9
0
32
16
0
54
0
37
4
0
0
13
0
0
0
0
0
0
26
0
12
8
4
0
1
1
0
0
0
0
0
18
0
6
6
4
0
1
1
0
0
0
0
0
8
0
6
2
0
0
0
0
0
0
0
0
0
49
0
16
0
0
0
24
0
9
0
0
0
0
29
0
9
0
0
0
11
0
9
0
0
0
0
20
0
7
0
0
0
13
0
0
0
0
0
0
84
0
31
5
0
0
0
0
0
0
32
16
0
58
0
7
3
0
0
0
0
0
0
32
16
0
26
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
0
57
13
4
0
25
1
9
0
32
16
0
105
0
22
9
4
0
12
1
9
0
32
16
0
52
0
35
4
0
0
13
0
0
0
0
0
0
24
0
10
8
4
0
1
1
0
0
0
0
0
18
0
6
6
4
0
1
1
0
0
0
0
0
6
0
4
2
0
0
0
0
0
0
0
0
0
49
0
16
0
0
0
24
0
9
0
0
0
0
29
0
9
0
0
0
11
0
9
0
0
0
0
20
0
7
0
0
0
13
0
0
0
0
0
0
84
0
31
5
0
0
0
0
0
0
32
16
0
58
0
7
3
0
0
0
0
0
0
32
16
0
26
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
52
0
6
7
0
1
0
0
1
0
0
2
32
28
0
1
1
0
0
0
0
1
0
0
1
37
24
0
5
6
0
1
0
0
0
0
0
1
54
40
0
6
5
0
1
0
0
1
0
0
1
25
22
0
1
1
0
0
0
0
1
0
0
0
29
18
0
5
4
0
1
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
73
55
0
6
7
1
1
0
0
1
0
0
2
32
28
0
1
1
0
0
0
0
1
0
0
1
41
27
0
5
6
1
1
0
0
0
0
0
1
57
43
0
6
5
0
1
0
0
1
0
0
1
25
22
0
1
1
0
0
0
0
1
0
0
0
32
21
0
5
4
0
1
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
73
55
0
6
7
1
1
0
0
1
0
0
2
33
29
0
1
1
0
0
0
0
1
0
0
1
40
26
0
5
6
1
1
0
0
0
0
0
1
57
43
0
6
5
0
1
0
0
1
0
0
1
26
23
0
1
1
0
0
0
0
1
0
0
0
31
20
0
5
4
0
1
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
2
1
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
2
1
0
0
0
0
0
0
0
73
56
0
6
7
1
0
0
0
1
0
0
2
35
31
0
1
1
0
0
0
0
1
0
0
1
38
25
0
5
6
1
0
0
0
0
0
0
1
56
43
0
6
5
0
0
0
0
1
0
0
1
27
24
0
1
1
0
0
0
0
1
0
0
0
29
19
0
5
4
0
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
2
1
0
0
0
0
0
0
1
4
3
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
2
1
0
0
0
0
0
0
0
71
55
0
6
7
0
0
0
0
1
0
0
2
34
30
0
1
1
0
0
0
0
1
0
0
1
37
25
0
5
6
0
0
0
0
0
0
0
1
55
42
0
6
5
0
0
0
0
1
0
0
1
26
23
0
1
1
0
0
0
0
1
0
0
0
29
19
0
5
4
0
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
2
0
0
0
0
0
0
0
1
4
3
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
0
0
0
0
0
0
0
0
111
39
2
3
8
11
3
2
12
22
4
5
0
78
19
0
0
3
8
3
2
12
22
4
5
0
33
20
2
3
5
3
0
0
0
0
0
0
0
95
32
2
3
8
11
3
2
3
22
4
5
0
65
15
0
0
3
8
3
2
3
22
4
5
0
30
17
2
3
5
3
0
0
0
0
0
0
0
16
7
0
0
0
0
0
0
9
0
0
0
0
13
4
0
0
0
0
0
0
9
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
111
39
2
3
8
11
3
2
12
22
4
5
0
77
18
0
0
3
8
3
2
12
22
4
5
0
34
21
2
3
5
3
0
0
0
0
0
0
0
95
32
2
3
8
11
3
2
3
22
4
5
0
64
14
0
0
3
8
3
2
3
22
4
5
0
31
18
2
3
5
3
0
0
0
0
0
0
0
16
7
0
0
0
0
0
0
9
0
0
0
0
13
4
0
0
0
0
0
0
9
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
111
40
2
3
8
11
2
2
12
22
4
5
0
76
18
0
0
3
8
2
2
12
22
4
5
0
35
22
2
3
5
3
0
0
0
0
0
0
0
95
33
2
3
8
11
2
2
3
22
4
5
0
63
14
0
0
3
8
2
2
3
22
4
5
0
32
19
2
3
5
3
0
0
0
0
0
0
0
16
7
0
0
0
0
0
0
9
0
0
0
0
13
4
0
0
0
0
0
0
9
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
39
2
2
8
11
2
2
12
22
4
6
0
77
18
0
0
3
8
2
2
12
22
4
6
0
33
21
2
2
5
3
0
0
0
0
0
0
0
94
32
2
2
8
11
2
2
3
22
4
6
0
64
14
0
0
3
8
2
2
3
22
4
6
0
30
18
2
2
5
3
0
0
0
0
0
0
0
16
7
0
0
0
0
0
0
9
0
0
0
0
13
4
0
0
0
0
0
0
9
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
39
1
2
8
11
2
2
12
22
4
6
0
77
18
0
0
3
8
2
2
12
22
4
6
0
32
21
1
2
5
3
0
0
0
0
0
0
0
93
32
1
2
8
11
2
2
3
22
4
6
0
64
14
0
0
3
8
2
2
3
22
4
6
0
29
18
1
2
5
3
0
0
0
0
0
0
0
16
7
0
0
0
0
0
0
9
0
0
0
0
13
4
0
0
0
0
0
0
9
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
17
8
3
1
0
0
0
1
0
0
1
3
0
10
5
2
0
0
0
0
1
0
0
1
1
0
7
3
1
1
0
0
0
0
0
0
0
2
0
17
8
3
1
0
0
0
1
0
0
1
3
0
10
5
2
0
0
0
0
1
0
0
1
1
0
7
3
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
16
8
3
1
0
0
0
1
0
0
1
2
0
10
5
2
0
0
0
0
1
0
0
1
1
0
6
3
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
8
2
0
3
3
7
4
7
4
3
4
1
33
3
2
0
1
3
4
3
6
4
3
4
0
13
5
0
0
2
0
3
1
1
0
0
0
1
45
8
2
0
3
3
7
4
7
4
3
4
0
33
3
2
0
1
3
4
3
6
4
3
4
0
12
5
0
0
2
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
44
8
2
0
2
3
7
4
6
4
3
4
1
30
3
2
0
0
3
3
3
5
4
3
4
0
14
5
0
0
2
0
4
1
1
0
0
0
1
44
8
2
0
2
3
7
4
6
4
3
4
1
30
3
2
0
0
3
3
3
5
4
3
4
0
14
5
0
0
2
0
4
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
46
8
3
0
3
3
7
4
6
4
3
5
0
34
3
3
0
1
3
3
3
6
4
3
5
0
12
5
0
0
2
0
4
1
0
0
0
0
0
46
8
3
0
3
3
7
4
6
4
3
5
0
34
3
3
0
1
3
3
3
6
4
3
5
0
12
5
0
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
9
3
0
3
3
7
4
7
4
3
5
0
35
4
3
0
1
3
3
3
6
4
3
5
0
13
5
0
0
2
0
4
1
1
0
0
0
0
48
9
3
0
3
3
7
4
7
4
3
5
0
35
4
3
0
1
3
3
3
6
4
3
5
0
13
5
0
0
2
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
10
3
0
3
3
7
4
7
4
3
6
0
37
5
3
0
1
3
3
3
6
4
3
6
0
13
5
0
0
2
0
4
1
1
0
0
0
0
50
10
3
0
3
3
7
4
7
4
3
6
0
37
5
3
0
1
3
3
3
6
4
3
6
0
13
5
0
0
2
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
315
14
6
0
7
23
13
13
16
4
11
206
2
294
7
1
0
5
17
13
13
16
4
11
206
1
21
7
5
0
2
6
0
0
0
0
0
0
1
132
8
6
0
6
23
13
13
10
4
11
36
2
116
5
1
0
5
17
13
13
10
4
11
36
1
16
3
5
0
1
6
0
0
0
0
0
0
1
93
0
0
0
0
0
0
0
6
0
0
87
0
93
0
0
0
0
0
0
0
6
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
5
0
0
0
0
0
0
0
0
0
83
0
84
1
0
0
0
0
0
0
0
0
0
83
0
4
4
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
319
15
8
0
7
24
14
13
16
4
11
205
2
295
7
2
0
5
17
14
13
16
4
11
205
1
24
8
6
0
2
7
0
0
0
0
0
0
1
133
8
8
0
6
24
13
13
10
4
11
34
2
115
5
2
0
5
17
13
13
10
4
11
34
1
18
3
6
0
1
7
0
0
0
0
0
0
1
94
0
0
0
0
0
0
0
6
0
0
88
0
94
0
0
0
0
0
0
0
6
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
6
0
0
0
0
0
0
0
0
0
83
0
84
1
0
0
0
0
0
0
0
0
0
83
0
5
5
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
319
15
8
1
6
25
14
13
16
4
12
205
0
296
7
2
0
5
18
14
13
16
4
12
205
0
23
8
6
1
1
7
0
0
0
0
0
0
0
134
8
8
1
6
25
13
13
10
4
12
34
0
116
5
2
0
5
18
13
13
10
4
12
34
0
18
3
6
1
1
7
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
6
0
0
88
0
94
0
0
0
0
0
0
0
6
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
6
0
0
0
0
0
0
0
0
0
83
0
84
1
0
0
0
0
0
0
0
0
0
83
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
320
15
8
1
6
25
14
13
15
4
12
207
0
297
7
2
0
5
18
14
13
15
4
12
207
0
23
8
6
1
1
7
0
0
0
0
0
0
0
135
8
8
1
6
25
13
13
9
4
12
36
0
117
5
2
0
5
18
13
13
9
4
12
36
0
18
3
6
1
1
7
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
6
0
0
88
0
94
0
0
0
0
0
0
0
6
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
6
0
0
0
0
0
0
0
0
0
83
0
84
1
0
0
0
0
0
0
0
0
0
83
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
324
15
8
1
6
25
14
13
15
4
12
211
0
301
7
2
0
5
18
14
13
15
4
12
211
0
23
8
6
1
1
7
0
0
0
0
0
0
0
139
8
8
1
6
25
13
13
9
4
12
40
0
121
5
2
0
5
18
13
13
9
4
12
40
0
18
3
6
1
1
7
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
6
0
0
88
0
94
0
0
0
0
0
0
0
6
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
6
0
0
0
0
0
0
0
0
0
83
0
84
1
0
0
0
0
0
0
0
0
0
83
0
5
5
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
1
1
1
10
14
7
6
3
1
9
13
0
52
0
1
1
4
8
6
6
3
1
9
13
0
14
1
0
0
6
6
1
0
0
0
0
0
0
65
1
1
1
10
13
7
6
3
1
9
13
0
51
0
1
1
4
7
6
6
3
1
9
13
0
14
1
0
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
66
1
1
1
10
14
7
6
3
1
9
13
0
52
0
1
1
4
8
6
6
3
1
9
13
0
14
1
0
0
6
6
1
0
0
0
0
0
0
65
1
1
1
10
13
7
6
3
1
9
13
0
51
0
1
1
4
7
6
6
3
1
9
13
0
14
1
0
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
66
1
1
1
10
14
7
6
3
1
9
13
0
53
0
1
1
5
8
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
65
1
1
1
10
13
7
6
3
1
9
13
0
52
0
1
1
5
7
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
1
1
1
10
14
7
6
3
1
9
13
0
53
0
1
1
5
8
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
65
1
1
1
10
13
7
6
3
1
9
13
0
52
0
1
1
5
7
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
1
1
1
10
14
7
6
3
1
9
13
0
53
0
1
1
5
8
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
65
1
1
1
10
13
7
6
3
1
9
13
0
52
0
1
1
5
7
6
6
3
1
9
13
0
13
1
0
0
5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
2
0
3
2
4
11
7
4
3
3
2
1
34
0
0
0
1
3
10
7
4
3
3
2
1
8
2
0
3
1
1
1
0
0
0
0
0
0
42
2
0
3
2
4
11
7
4
3
3
2
1
34
0
0
0
1
3
10
7
4
3
3
2
1
8
2
0
3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
42
2
0
3
2
4
11
7
4
3
3
2
1
33
0
0
0
1
3
9
7
4
3
3
2
1
9
2
0
3
1
1
2
0
0
0
0
0
0
42
2
0
3
2
4
11
7
4
3
3
2
1
33
0
0
0
1
3
9
7
4
3
3
2
1
9
2
0
3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
39
2
0
3
2
3
11
7
3
3
3
2
0
30
0
0
0
1
2
9
7
3
3
3
2
0
9
2
0
3
1
1
2
0
0
0
0
0
0
39
2
0
3
2
3
11
7
3
3
3
2
0
30
0
0
0
1
2
9
7
3
3
3
2
0
9
2
0
3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
2
0
3
2
3
11
7
3
3
3
2
0
30
0
0
0
1
2
9
7
3
3
3
2
0
9
2
0
3
1
1
2
0
0
0
0
0
0
39
2
0
3
2
3
11
7
3
3
3
2
0
30
0
0
0
1
2
9
7
3
3
3
2
0
9
2
0
3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
2
0
3
2
3
11
7
3
3
3
3
0
31
0
0
0
1
2
9
7
3
3
3
3
0
9
2
0
3
1
1
2
0
0
0
0
0
0
40
2
0
3
2
3
11
7
3
3
3
3
0
31
0
0
0
1
2
9
7
3
3
3
3
0
9
2
0
3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
1
1
3
1
6
2
2
12
16
18
5
5
65
0
1
1
1
3
2
2
12
15
18
5
5
7
1
0
2
0
3
0
0
0
1
0
0
0
69
1
1
3
1
6
2
2
12
16
18
5
2
62
0
1
1
1
3
2
2
12
15
18
5
2
7
1
0
2
0
3
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
71
1
1
3
1
6
3
2
11
16
18
5
4
65
0
1
2
1
3
3
2
11
15
18
5
4
6
1
0
1
0
3
0
0
0
1
0
0
0
69
1
1
3
1
6
3
2
11
16
18
5
2
63
0
1
2
1
3
3
2
11
15
18
5
2
6
1
0
1
0
3
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
72
1
1
2
1
6
3
2
12
16
20
5
3
68
0
1
2
1
3
3
2
12
16
20
5
3
4
1
0
0
0
3
0
0
0
0
0
0
0
70
1
1
2
1
6
3
2
12
16
20
5
1
66
0
1
2
1
3
3
2
12
16
20
5
1
4
1
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
1
1
2
1
6
3
2
12
16
20
6
4
69
0
1
2
1
3
3
2
12
15
20
6
4
5
1
0
0
0
3
0
0
0
1
0
0
0
71
1
1
2
1
6
3
2
12
16
20
6
1
66
0
1
2
1
3
3
2
12
15
20
6
1
5
1
0
0
0
3
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
1
1
2
1
6
2
2
12
16
20
6
4
68
0
1
2
1
3
2
2
12
15
20
6
4
5
1
0
0
0
3
0
0
0
1
0
0
0
70
1
1
2
1
6
2
2
12
16
20
6
1
65
0
1
2
1
3
2
2
12
15
20
6
1
5
1
0
0
0
3
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
274
3
1
0
3
4
10
3
5
2
55
188
0
269
1
1
0
2
3
9
3
5
2
55
188
0
5
2
0
0
1
1
1
0
0
0
0
0
0
202
3
1
0
3
4
10
3
5
2
35
136
0
197
1
1
0
2
3
9
3
5
2
35
136
0
5
2
0
0
1
1
1
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
20
52
0
72
0
0
0
0
0
0
0
0
0
20
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
311
3
1
0
4
4
10
3
5
2
55
224
0
305
1
1
0
2
3
9
3
5
2
55
224
0
6
2
0
0
2
1
1
0
0
0
0
0
0
227
3
1
0
4
4
10
3
5
2
35
160
0
221
1
1
0
2
3
9
3
5
2
35
160
0
6
2
0
0
2
1
1
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
20
64
0
84
0
0
0
0
0
0
0
0
0
20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
337
3
1
0
4
4
10
3
6
2
60
244
0
331
1
1
0
2
3
9
3
6
2
60
244
0
6
2
0
0
2
1
1
0
0
0
0
0
0
253
3
1
0
4
4
10
3
6
2
40
180
0
247
1
1
0
2
3
9
3
6
2
40
180
0
6
2
0
0
2
1
1
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
20
64
0
84
0
0
0
0
0
0
0
0
0
20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
351
3
1
0
4
4
10
3
6
2
60
258
0
346
2
1
0
2
3
9
3
6
2
60
258
0
5
1
0
0
2
1
1
0
0
0
0
0
0
267
3
1
0
4
4
10
3
6
2
40
194
0
262
2
1
0
2
3
9
3
6
2
40
194
0
5
1
0
0
2
1
1
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
20
64
0
84
0
0
0
0
0
0
0
0
0
20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
364
3
1
0
4
4
10
3
6
2
60
271
0
359
2
1
0
2
3
9
3
6
2
60
271
0
5
1
0
0
2
1
1
0
0
0
0
0
0
280
3
1
0
4
4
10
3
6
2
40
207
0
275
2
1
0
2
3
9
3
6
2
40
207
0
5
1
0
0
2
1
1
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
20
64
0
84
0
0
0
0
0
0
0
0
0
20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
533
1
0
5
3
4
2
0
3
343
135
20
17
528
1
0
4
1
3
2
0
3
343
135
20
16
5
0
0
1
2
1
0
0
0
0
0
0
1
164
1
0
5
2
4
2
0
0
83
48
3
16
161
1
0
4
1
3
2
0
0
83
48
3
16
3
0
0
1
1
1
0
0
0
0
0
0
0
364
0
0
0
0
0
0
0
0
260
87
17
0
364
0
0
0
0
0
0
0
0
260
87
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
541
1
0
5
3
5
2
0
3
343
135
27
17
534
1
0
3
1
3
2
0
3
343
135
27
16
7
0
0
2
2
2
0
0
0
0
0
0
1
166
1
0
5
2
5
2
0
0
83
48
4
16
161
1
0
3
1
3
2
0
0
83
48
4
16
5
0
0
2
1
2
0
0
0
0
0
0
0
370
0
0
0
0
0
0
0
0
260
87
23
0
370
0
0
0
0
0
0
0
0
260
87
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
536
1
0
5
3
5
2
0
3
343
145
27
2
529
1
0
3
1
3
2
0
3
343
145
27
1
7
0
0
2
2
2
0
0
0
0
0
0
1
161
1
0
5
2
5
2
0
0
83
58
4
1
156
1
0
3
1
3
2
0
0
83
58
4
1
5
0
0
2
1
2
0
0
0
0
0
0
0
370
0
0
0
0
0
0
0
0
260
87
23
0
370
0
0
0
0
0
0
0
0
260
87
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
537
1
0
5
3
5
2
0
3
343
146
27
2
530
1
0
3
1
3
2
0
3
343
146
27
1
7
0
0
2
2
2
0
0
0
0
0
0
1
162
1
0
5
2
5
2
0
0
83
59
4
1
157
1
0
3
1
3
2
0
0
83
59
4
1
5
0
0
2
1
2
0
0
0
0
0
0
0
370
0
0
0
0
0
0
0
0
260
87
23
0
370
0
0
0
0
0
0
0
0
260
87
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
537
2
0
5
3
5
2
0
3
343
146
27
1
530
2
0
3
1
3
2
0
3
343
146
27
0
7
0
0
2
2
2
0
0
0
0
0
0
1
162
2
0
5
2
5
2
0
0
83
59
4
0
157
2
0
3
1
3
2
0
0
83
59
4
0
5
0
0
2
1
2
0
0
0
0
0
0
0
370
0
0
0
0
0
0
0
0
260
87
23
0
370
0
0
0
0
0
0
0
0
260
87
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
723
7
0
1
4
15
11
6
12
322
215
97
33
706
4
0
0
3
9
8
5
11
322
215
97
32
17
3
0
1
1
6
3
1
1
0
0
0
1
294
7
0
1
4
12
10
6
11
57
111
69
6
281
4
0
0
3
9
8
5
10
57
111
69
5
13
3
0
1
1
3
2
1
1
0
0
0
1
241
0
0
0
0
0
0
0
0
116
73
25
27
241
0
0
0
0
0
0
0
0
116
73
25
27
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
0
0
0
3
0
0
0
143
31
0
0
174
0
0
0
0
0
0
0
0
143
31
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
765
7
0
1
4
16
12
6
12
331
214
132
30
746
4
0
0
3
9
8
5
11
331
214
132
29
19
3
0
1
1
7
4
1
1
0
0
0
1
300
7
0
1
4
13
10
6
11
57
110
77
4
286
4
0
0
3
9
8
5
10
57
110
77
3
14
3
0
1
1
4
2
1
1
0
0
0
1
273
0
0
0
0
0
0
0
0
124
73
50
26
273
0
0
0
0
0
0
0
0
124
73
50
26
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
0
0
0
3
0
0
0
143
31
0
0
174
0
0
0
0
0
0
0
0
143
31
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
859
8
0
1
4
18
13
6
12
330
239
206
22
842
6
0
0
4
10
9
5
12
330
239
206
21
17
2
0
1
0
8
4
1
0
0
0
0
1
341
8
0
1
4
15
11
6
11
57
128
97
3
329
6
0
0
4
10
9
5
11
57
128
97
2
12
2
0
1
0
5
2
1
0
0
0
0
1
325
0
0
0
0
0
0
0
0
124
80
102
19
325
0
0
0
0
0
0
0
0
124
80
102
19
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
0
0
0
3
0
0
0
143
31
0
0
174
0
0
0
0
0
0
0
0
143
31
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
16
0
0
0
0
0
2
0
1
6
0
7
0
14
0
0
0
0
0
0
0
1
6
0
7
0
2
0
0
0
0
0
2
0
0
0
0
0
0
932
8
0
1
3
18
13
6
11
329
241
278
24
915
6
0
0
3
10
9
5
10
329
241
278
24
17
2
0
1
0
8
4
1
1
0
0
0
0
369
8
0
1
3
15
11
6
11
58
130
124
2
357
6
0
0
3
10
9
5
10
58
130
124
2
12
2
0
1
0
5
2
1
1
0
0
0
0
372
0
0
0
0
0
0
0
0
124
80
146
22
372
0
0
0
0
0
0
0
0
124
80
146
22
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
0
0
0
3
0
0
0
143
31
0
0
174
0
0
0
0
0
0
0
0
143
31
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
14
0
0
0
0
0
2
0
0
4
0
8
0
12
0
0
0
0
0
0
0
0
4
0
8
0
2
0
0
0
0
0
2
0
0
0
0
0
0
975
8
0
1
3
18
13
6
13
329
241
320
23
958
6
0
0
3
10
9
5
12
329
241
320
23
17
2
0
1
0
8
4
1
1
0
0
0
0
389
8
0
1
3
15
11
6
11
58
130
145
1
377
6
0
0
3
10
9
5
10
58
130
145
1
12
2
0
1
0
5
2
1
1
0
0
0
0
392
0
0
0
0
0
0
0
0
124
80
166
22
392
0
0
0
0
0
0
0
0
124
80
166
22
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
0
0
0
3
0
0
0
143
31
0
0
174
0
0
0
0
0
0
0
0
143
31
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
17
0
0
0
0
0
2
0
2
4
0
9
0
15
0
0
0
0
0
0
0
2
4
0
9
0
2
0
0
0
0
0
2
0
0
0
0
0
0
251
5
0
2
0
2
1
1
0
0
133
107
0
247
2
0
2
0
1
1
1
0
0
133
107
0
4
3
0
0
0
1
0
0
0
0
0
0
0
145
4
0
2
0
2
1
1
0
0
95
40
0
142
2
0
2
0
1
1
1
0
0
95
40
0
3
2
0
0
0
1
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
21
19
0
40
0
0
0
0
0
0
0
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
17
48
0
65
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
254
4
0
2
0
2
1
3
0
0
133
109
0
251
2
0
2
0
1
1
3
0
0
133
109
0
3
2
0
0
0
1
0
0
0
0
0
0
0
149
4
0
2
0
2
1
3
0
0
95
42
0
146
2
0
2
0
1
1
3
0
0
95
42
0
3
2
0
0
0
1
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
21
19
0
40
0
0
0
0
0
0
0
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
17
48
0
65
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
226
3
0
2
0
0
0
3
0
0
113
105
0
224
1
0
2
0
0
0
3
0
0
113
105
0
2
2
0
0
0
0
0
0
0
0
0
0
0
121
3
0
2
0
0
0
3
0
0
75
38
0
119
1
0
2
0
0
0
3
0
0
75
38
0
2
2
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
21
19
0
40
0
0
0
0
0
0
0
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
17
48
0
65
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
3
0
2
0
0
0
3
0
0
113
105
0
225
2
0
2
0
0
0
3
0
0
113
105
0
1
1
0
0
0
0
0
0
0
0
0
0
0
121
3
0
2
0
0
0
3
0
0
75
38
0
120
2
0
2
0
0
0
3
0
0
75
38
0
1
1
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
21
19
0
40
0
0
0
0
0
0
0
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
17
48
0
65
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
3
0
2
0
0
0
3
0
0
113
105
0
225
2
0
2
0
0
0
3
0
0
113
105
0
1
1
0
0
0
0
0
0
0
0
0
0
0
121
3
0
2
0
0
0
3
0
0
75
38
0
120
2
0
2
0
0
0
3
0
0
75
38
0
1
1
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
21
19
0
40
0
0
0
0
0
0
0
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
17
48
0
65
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
762
18
2
16
20
11
19
6
469
119
66
11
5
717
9
1
7
13
9
17
6
458
116
65
11
5
45
9
1
9
7
2
2
0
11
3
1
0
0
339
18
2
9
20
11
18
6
154
70
18
8
5
301
9
1
7
13
9
16
6
143
67
17
8
5
38
9
1
2
7
2
2
0
11
3
1
0
0
421
0
0
7
0
0
0
0
314
49
48
3
0
414
0
0
0
0
0
0
0
314
49
48
3
0
7
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
755
18
2
9
20
11
18
6
468
119
66
13
5
717
9
2
6
13
9
16
6
457
116
65
13
5
38
9
0
3
7
2
2
0
11
3
1
0
0
339
18
2
9
20
11
18
6
152
70
18
10
5
301
9
2
6
13
9
16
6
141
67
17
10
5
38
9
0
3
7
2
2
0
11
3
1
0
0
414
0
0
0
0
0
0
0
314
49
48
3
0
414
0
0
0
0
0
0
0
314
49
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
756
19
2
9
20
13
18
6
468
120
66
15
0
731
10
2
6
13
11
16
6
466
120
66
15
0
25
9
0
3
7
2
2
0
2
0
0
0
0
341
19
2
9
20
13
18
6
153
71
18
12
0
316
10
2
6
13
11
16
6
151
71
18
12
0
25
9
0
3
7
2
2
0
2
0
0
0
0
414
0
0
0
0
0
0
0
314
49
48
3
0
414
0
0
0
0
0
0
0
314
49
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
757
19
2
9
19
13
19
5
468
121
67
15
0
720
10
2
6
13
11
17
5
457
118
66
15
0
37
9
0
3
6
2
2
0
11
3
1
0
0
341
19
2
9
19
13
18
5
153
72
19
12
0
304
10
2
6
13
11
16
5
142
69
18
12
0
37
9
0
3
6
2
2
0
11
3
1
0
0
414
0
0
0
0
0
0
0
314
49
48
3
0
414
0
0
0
0
0
0
0
314
49
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
758
19
2
9
19
13
19
5
468
120
67
17
0
722
11
2
6
13
11
17
5
457
117
66
17
0
36
8
0
3
6
2
2
0
11
3
1
0
0
342
19
2
9
19
13
18
5
153
71
19
14
0
306
11
2
6
13
11
16
5
142
68
18
14
0
36
8
0
3
6
2
2
0
11
3
1
0
0
414
0
0
0
0
0
0
0
314
49
48
3
0
414
0
0
0
0
0
0
0
314
49
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
282
2
0
1
1
2
0
0
2
169
64
35
6
279
1
0
1
1
1
0
0
2
169
64
35
5
3
1
0
0
0
1
0
0
0
0
0
0
1
157
2
0
1
1
2
0
0
2
64
44
35
6
154
1
0
1
1
1
0
0
2
64
44
35
5
3
1
0
0
0
1
0
0
0
0
0
0
1
118
0
0
0
0
0
0
0
0
104
14
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
282
2
0
1
1
2
0
0
2
169
63
35
7
279
1
0
1
1
1
0
0
2
169
63
35
6
3
1
0
0
0
1
0
0
0
0
0
0
1
158
2
0
1
1
2
0
0
2
64
44
35
7
155
1
0
1
1
1
0
0
2
64
44
35
6
3
1
0
0
0
1
0
0
0
0
0
0
1
118
0
0
0
0
0
0
0
0
104
14
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
287
2
0
1
1
2
0
0
2
171
69
39
0
285
1
0
1
1
1
0
0
2
171
69
39
0
2
1
0
0
0
1
0
0
0
0
0
0
0
163
2
0
1
1
2
0
0
2
66
50
39
0
161
1
0
1
1
1
0
0
2
66
50
39
0
2
1
0
0
0
1
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
5
0
0
6
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
290
2
0
1
1
2
0
0
1
171
70
42
0
288
1
0
1
1
1
0
0
1
171
70
42
0
2
1
0
0
0
1
0
0
0
0
0
0
0
165
2
0
1
1
2
0
0
1
66
50
42
0
163
1
0
1
1
1
0
0
1
66
50
42
0
2
1
0
0
0
1
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
6
0
0
7
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
292
3
0
1
1
2
0
0
1
171
70
43
0
290
2
0
1
1
1
0
0
1
171
70
43
0
2
1
0
0
0
1
0
0
0
0
0
0
0
167
3
0
1
1
2
0
0
1
66
50
43
0
165
2
0
1
1
1
0
0
1
66
50
43
0
2
1
0
0
0
1
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
118
0
0
0
0
0
0
0
0
104
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
6
0
0
7
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
2
0
1
0
1
2
0
2
3
82
28
23
141
1
0
0
0
1
2
0
2
3
82
28
22
3
1
0
1
0
0
0
0
0
0
0
0
1
93
2
0
1
0
1
2
0
2
3
34
25
23
90
1
0
0
0
1
2
0
2
3
34
25
22
3
1
0
1
0
0
0
0
0
0
0
0
1
51
0
0
0
0
0
0
0
0
0
48
3
0
51
0
0
0
0
0
0
0
0
0
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
164
2
0
1
0
1
2
0
2
3
84
47
22
162
1
0
0
0
1
2
0
2
3
84
47
22
2
1
0
1
0
0
0
0
0
0
0
0
0
95
2
0
1
0
1
2
0
2
3
34
28
22
93
1
0
0
0
1
2
0
2
3
34
28
22
2
1
0
1
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
50
19
0
69
0
0
0
0
0
0
0
0
0
50
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
205
2
0
1
0
1
2
0
4
4
103
88
0
203
1
0
0
0
1
2
0
4
4
103
88
0
2
1
0
1
0
0
0
0
0
0
0
0
0
96
2
0
1
0
1
2
0
4
4
53
29
0
94
1
0
0
0
1
2
0
4
4
53
29
0
2
1
0
1
0
0
0
0
0
0
0
0
0
109
0
0
0
0
0
0
0
0
0
50
59
0
109
0
0
0
0
0
0
0
0
0
50
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
2
0
1
0
1
2
0
3
5
103
97
0
212
1
0
0
0
1
2
0
3
5
103
97
0
2
1
0
1
0
0
0
0
0
0
0
0
0
97
2
0
1
0
1
2
0
3
5
53
30
0
95
1
0
0
0
1
2
0
3
5
53
30
0
2
1
0
1
0
0
0
0
0
0
0
0
0
117
0
0
0
0
0
0
0
0
0
50
67
0
117
0
0
0
0
0
0
0
0
0
50
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
218
2
0
1
0
1
2
0
3
5
103
101
0
216
1
0
0
0
1
2
0
3
5
103
101
0
2
1
0
1
0
0
0
0
0
0
0
0
0
101
2
0
1
0
1
2
0
3
5
53
34
0
99
1
0
0
0
1
2
0
3
5
53
34
0
2
1
0
1
0
0
0
0
0
0
0
0
0
117
0
0
0
0
0
0
0
0
0
50
67
0
117
0
0
0
0
0
0
0
0
0
50
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
18
6
12
12
33
53
47
39
44
47
26
8
291
7
5
4
6
21
48
47
34
44
47
25
3
54
11
1
8
6
12
5
0
5
0
0
1
5
335
17
6
12
12
33
47
46
38
44
47
26
7
284
7
5
4
6
21
42
46
34
44
47
25
3
51
10
1
8
6
12
5
0
4
0
0
1
4
6
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
351
17
6
12
12
34
54
48
40
44
46
30
8
300
7
5
4
6
22
50
48
36
44
46
29
3
51
10
1
8
6
12
4
0
4
0
0
1
5
342
17
6
12
12
34
48
47
39
44
46
30
7
293
7
5
4
6
22
44
47
36
44
46
29
3
49
10
1
8
6
12
4
0
3
0
0
1
4
6
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
348
16
6
13
12
34
52
48
43
45
46
31
2
301
7
5
5
6
22
48
48
38
45
46
30
1
47
9
1
8
6
12
4
0
5
0
0
1
1
340
16
6
13
12
34
46
48
41
45
46
31
2
295
7
5
5
6
22
42
48
38
45
46
30
1
45
9
1
8
6
12
4
0
3
0
0
1
1
6
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
348
15
6
14
12
32
52
48
44
45
47
31
2
303
6
5
6
6
22
48
48
39
45
47
30
1
45
9
1
8
6
10
4
0
5
0
0
1
1
340
15
6
14
12
32
46
48
42
45
47
31
2
297
6
5
6
6
22
42
48
39
45
47
30
1
43
9
1
8
6
10
4
0
3
0
0
1
1
6
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
352
16
6
14
11
31
53
48
46
44
47
34
2
307
6
5
6
6
21
49
48
41
44
47
33
1
45
10
1
8
5
10
4
0
5
0
0
1
1
343
16
6
14
11
31
47
48
43
44
47
34
2
300
6
5
6
6
21
43
48
40
44
47
33
1
43
10
1
8
5
10
4
0
3
0
0
1
1
6
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
289
23
3
8
17
20
27
31
32
37
61
22
8
236
11
1
6
9
9
21
29
30
37
57
21
5
53
12
2
2
8
11
6
2
2
0
4
1
3
286
23
3
8
15
20
27
31
31
37
61
22
8
235
11
1
6
8
9
21
29
30
37
57
21
5
51
12
2
2
7
11
6
2
1
0
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
299
25
3
8
17
19
27
35
32
37
61
27
8
251
13
1
6
8
10
22
32
30
37
60
27
5
48
12
2
2
9
9
5
3
2
0
1
0
3
296
25
3
8
15
19
27
35
31
37
61
27
8
250
13
1
6
7
10
22
32
30
37
60
27
5
46
12
2
2
8
9
5
3
1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
298
25
3
8
15
19
26
35
32
39
59
34
3
256
15
1
6
7
10
22
32
30
39
59
34
1
42
10
2
2
8
9
4
3
2
0
0
0
2
296
25
3
8
14
19
26
35
31
39
59
34
3
256
15
1
6
7
10
22
32
30
39
59
34
1
40
10
2
2
7
9
4
3
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
300
25
3
8
16
19
28
34
31
39
59
35
3
259
15
1
6
8
10
24
31
30
39
59
35
1
41
10
2
2
8
9
4
3
1
0
0
0
2
299
25
3
8
15
19
28
34
31
39
59
35
3
258
15
1
6
7
10
24
31
30
39
59
35
1
41
10
2
2
8
9
4
3
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
302
25
3
8
16
19
28
34
31
39
59
38
2
261
15
1
6
8
10
24
31
30
39
59
38
0
41
10
2
2
8
9
4
3
1
0
0
0
2
301
25
3
8
15
19
28
34
31
39
59
38
2
260
15
1
6
7
10
24
31
30
39
59
38
0
41
10
2
2
8
9
4
3
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
1
6
11
4
0
8
0
3
0
29
0
0
0
1
3
10
4
0
8
0
3
0
4
0
0
0
0
3
1
0
0
0
0
0
0
10
0
0
0
1
6
0
3
0
0
0
0
0
7
0
0
0
1
3
0
3
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
9
0
0
0
0
0
1
0
0
8
0
0
0
9
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
29
0
0
0
1
3
10
4
0
8
0
3
0
27
0
0
0
1
3
8
4
0
8
0
3
0
2
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
1
3
0
3
0
0
0
0
0
7
0
0
0
1
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
23
0
0
0
1
3
8
3
0
8
0
0
0
22
0
0
0
1
3
7
3
0
8
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
1
3
0
2
0
0
0
0
0
6
0
0
0
1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
8
1
0
0
0
0
0
8
0
0
0
0
0
7
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
24
0
0
0
1
4
8
3
0
8
0
0
0
22
0
0
0
1
3
7
3
0
8
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
7
0
0
0
1
4
0
2
0
0
0
0
0
6
0
0
0
1
3
0
2
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
8
1
0
0
0
0
0
8
0
0
0
0
0
7
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
1
4
10
3
0
8
0
3
0
27
0
0
0
1
3
9
3
0
8
0
3
0
2
0
0
0
0
1
1
0
0
0
0
0
0
7
0
0
0
1
4
0
2
0
0
0
0
0
6
0
0
0
1
3
0
2
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
10
1
0
0
0
3
0
13
0
0
0
0
0
9
1
0
0
0
3
0
1
0
0
0
0
0
1
0
0
0
0
0
0
54
3
26
15
4
5
1
0
0
0
0
0
0
27
0
19
2
2
4
0
0
0
0
0
0
0
27
3
7
13
2
1
1
0
0
0
0
0
0
18
0
7
1
4
5
1
0
0
0
0
0
0
13
0
6
1
2
4
0
0
0
0
0
0
0
5
0
1
0
2
1
1
0
0
0
0
0
0
20
0
16
4
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
4
0
0
0
0
0
0
0
0
0
16
3
3
10
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
13
3
1
9
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
54
3
26
15
4
5
1
0
0
0
0
0
0
27
0
19
2
2
4
0
0
0
0
0
0
0
27
3
7
13
2
1
1
0
0
0
0
0
0
18
0
7
1
4
5
1
0
0
0
0
0
0
13
0
6
1
2
4
0
0
0
0
0
0
0
5
0
1
0
2
1
1
0
0
0
0
0
0
20
0
16
4
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
4
0
0
0
0
0
0
0
0
0
16
3
3
10
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
13
3
1
9
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
55
3
27
15
4
5
1
0
0
0
0
0
0
28
0
20
2
2
4
0
0
0
0
0
0
0
27
3
7
13
2
1
1
0
0
0
0
0
0
19
0
8
1
4
5
1
0
0
0
0
0
0
14
0
7
1
2
4
0
0
0
0
0
0
0
5
0
1
0
2
1
1
0
0
0
0
0
0
20
0
16
4
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
4
0
0
0
0
0
0
0
0
0
16
3
3
10
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
13
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
3
27
15
4
5
1
0
0
0
0
0
0
28
0
20
2
2
4
0
0
0
0
0
0
0
27
3
7
13
2
1
1
0
0
0
0
0
0
19
0
8
1
4
5
1
0
0
0
0
0
0
14
0
7
1
2
4
0
0
0
0
0
0
0
5
0
1
0
2
1
1
0
0
0
0
0
0
20
0
16
4
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
4
0
0
0
0
0
0
0
0
0
16
3
3
10
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
13
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
2
27
15
4
5
1
0
0
0
0
0
0
28
0
20
2
2
4
0
0
0
0
0
0
0
26
2
7
13
2
1
1
0
0
0
0
0
0
21
2
8
1
4
5
1
0
0
0
0
0
0
14
0
7
1
2
4
0
0
0
0
0
0
0
7
2
1
0
2
1
1
0
0
0
0
0
0
20
0
16
4
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
4
0
0
0
0
0
0
0
0
0
13
0
3
10
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
10
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
361
1
25
18
30
104
21
48
69
17
26
1
1
313
1
20
14
20
83
15
48
68
17
26
1
0
48
0
5
4
10
21
6
0
1
0
0
0
1
223
1
22
14
30
104
18
4
7
17
4
1
1
182
1
19
12
20
83
15
4
6
17
4
1
0
41
0
3
2
10
21
3
0
1
0
0
0
1
32
0
0
4
0
0
3
0
3
0
22
0
0
27
0
0
2
0
0
0
0
3
0
22
0
0
5
0
0
2
0
0
3
0
0
0
0
0
0
56
0
3
0
0
0
0
44
9
0
0
0
0
54
0
1
0
0
0
0
44
9
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
385
1
34
18
34
116
22
48
67
17
26
1
1
325
1
23
14
23
91
15
48
66
17
26
1
0
60
0
11
4
11
25
7
0
1
0
0
0
1
249
1
31
14
34
116
19
4
7
17
4
1
1
196
1
22
12
23
91
15
4
6
17
4
1
0
53
0
9
2
11
25
4
0
1
0
0
0
1
32
0
0
4
0
0
3
0
3
0
22
0
0
27
0
0
2
0
0
0
0
3
0
22
0
0
5
0
0
2
0
0
3
0
0
0
0
0
0
56
0
3
0
0
0
0
44
9
0
0
0
0
54
0
1
0
0
0
0
44
9
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
388
2
34
17
34
116
22
48
71
17
26
1
0
330
1
23
14
23
91
15
48
71
17
26
1
0
58
1
11
3
11
25
7
0
0
0
0
0
0
248
2
31
13
34
116
19
4
7
17
4
1
0
197
1
22
12
23
91
15
4
7
17
4
1
0
51
1
9
1
11
25
4
0
0
0
0
0
0
32
0
0
4
0
0
3
0
3
0
22
0
0
27
0
0
2
0
0
0
0
3
0
22
0
0
5
0
0
2
0
0
3
0
0
0
0
0
0
56
0
3
0
0
0
0
44
9
0
0
0
0
54
0
1
0
0
0
0
44
9
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
52
0
0
0
0
52
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
395
2
34
18
33
118
22
48
74
17
26
3
0
332
1
23
14
21
91
15
48
73
17
26
3
0
63
1
11
4
12
27
7
0
1
0
0
0
0
252
2
31
14
33
118
19
4
7
17
4
3
0
196
1
22
12
21
91
15
4
6
17
4
3
0
56
1
9
2
12
27
4
0
1
0
0
0
0
32
0
0
4
0
0
3
0
3
0
22
0
0
27
0
0
2
0
0
0
0
3
0
22
0
0
5
0
0
2
0
0
3
0
0
0
0
0
0
56
0
3
0
0
0
0
44
9
0
0
0
0
54
0
1
0
0
0
0
44
9
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
55
0
0
0
0
55
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
2
34
18
33
118
22
48
71
17
26
3
0
328
1
23
14
21
90
15
48
70
17
26
3
0
64
1
11
4
12
28
7
0
1
0
0
0
0
252
2
31
14
33
118
19
4
7
17
4
3
0
195
1
22
12
21
90
15
4
6
17
4
3
0
57
1
9
2
12
28
4
0
1
0
0
0
0
32
0
0
4
0
0
3
0
3
0
22
0
0
27
0
0
2
0
0
0
0
3
0
22
0
0
5
0
0
2
0
0
3
0
0
0
0
0
0
47
0
3
0
0
0
0
44
0
0
0
0
0
45
0
1
0
0
0
0
44
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
61
0
0
0
0
61
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2135
13
31
38
9
2
584
1060
306
3
7
17
65
2090
3
13
25
5
2
584
1060
306
3
7
17
65
45
10
18
13
4
0
0
0
0
0
0
0
0
95
7
21
29
9
2
4
4
12
3
2
2
0
70
2
13
21
5
2
4
4
12
3
2
2
0
25
5
8
8
4
0
0
0
0
0
0
0
0
218
6
0
3
0
0
6
110
88
0
5
0
0
212
1
0
2
0
0
6
110
88
0
5
0
0
6
5
0
1
0
0
0
0
0
0
0
0
0
1822
0
10
6
0
0
574
946
206
0
0
15
65
1808
0
0
2
0
0
574
946
206
0
0
15
65
14
0
10
4
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2153
13
33
38
9
2
584
1061
320
3
7
17
66
2107
3
14
25
5
2
584
1061
320
3
7
17
66
46
10
19
13
4
0
0
0
0
0
0
0
0
97
7
23
29
9
2
4
4
12
3
2
2
0
71
2
14
21
5
2
4
4
12
3
2
2
0
26
5
9
8
4
0
0
0
0
0
0
0
0
218
6
0
3
0
0
6
110
88
0
5
0
0
212
1
0
2
0
0
6
110
88
0
5
0
0
6
5
0
1
0
0
0
0
0
0
0
0
0
1838
0
10
6
0
0
574
947
220
0
0
15
66
1824
0
0
2
0
0
574
947
220
0
0
15
66
14
0
10
4
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2157
13
33
38
9
2
584
1131
320
3
7
17
0
2111
3
14
25
5
2
584
1131
320
3
7
17
0
46
10
19
13
4
0
0
0
0
0
0
0
0
97
7
23
29
9
2
4
4
12
3
2
2
0
71
2
14
21
5
2
4
4
12
3
2
2
0
26
5
9
8
4
0
0
0
0
0
0
0
0
218
6
0
3
0
0
6
110
88
0
5
0
0
212
1
0
2
0
0
6
110
88
0
5
0
0
6
5
0
1
0
0
0
0
0
0
0
0
0
1842
0
10
6
0
0
574
1017
220
0
0
15
0
1828
0
0
2
0
0
574
1017
220
0
0
15
0
14
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2148
13
33
42
9
2
584
1131
306
3
7
18
0
2100
3
15
26
5
2
584
1131
306
3
7
18
0
48
10
18
16
4
0
0
0
0
0
0
0
0
102
7
23
33
9
2
4
4
12
3
2
3
0
74
2
15
22
5
2
4
4
12
3
2
3
0
28
5
8
11
4
0
0
0
0
0
0
0
0
218
6
0
3
0
0
6
110
88
0
5
0
0
212
1
0
2
0
0
6
110
88
0
5
0
0
6
5
0
1
0
0
0
0
0
0
0
0
0
1828
0
10
6
0
0
574
1017
206
0
0
15
0
1814
0
0
2
0
0
574
1017
206
0
0
15
0
14
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2148
12
33
42
9
2
584
1131
306
3
7
19
0
2101
3
15
26
5
2
584
1131
306
3
7
19
0
47
9
18
16
4
0
0
0
0
0
0
0
0
102
6
23
33
9
2
4
4
12
3
2
4
0
75
2
15
22
5
2
4
4
12
3
2
4
0
27
4
8
11
4
0
0
0
0
0
0
0
0
218
6
0
3
0
0
6
110
88
0
5
0
0
212
1
0
2
0
0
6
110
88
0
5
0
0
6
5
0
1
0
0
0
0
0
0
0
0
0
1828
0
10
6
0
0
574
1017
206
0
0
15
0
1814
0
0
2
0
0
574
1017
206
0
0
15
0
14
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215
0
0
0
12
64
66
11
30
15
8
8
1
191
0
0
0
8
47
64
11
29
15
8
8
1
24
0
0
0
4
17
2
0
1
0
0
0
0
180
0
0
0
12
64
44
11
17
15
8
8
1
156
0
0
0
8
47
42
11
16
15
8
8
1
24
0
0
0
4
17
2
0
1
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
222
0
0
0
12
68
68
11
30
15
8
9
1
196
0
0
0
8
49
66
11
29
15
8
9
1
26
0
0
0
4
19
2
0
1
0
0
0
0
187
0
0
0
12
68
46
11
17
15
8
9
1
161
0
0
0
8
49
44
11
16
15
8
9
1
26
0
0
0
4
19
2
0
1
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
221
0
0
0
12
67
68
11
30
15
9
9
0
197
0
0
0
8
49
66
11
30
15
9
9
0
24
0
0
0
4
18
2
0
0
0
0
0
0
186
0
0
0
12
67
46
11
17
15
9
9
0
162
0
0
0
8
49
44
11
17
15
9
9
0
24
0
0
0
4
18
2
0
0
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221
0
0
0
11
67
68
11
30
15
9
10
0
196
0
0
0
7
49
66
11
29
15
9
10
0
25
0
0
0
4
18
2
0
1
0
0
0
0
186
0
0
0
11
67
46
11
17
15
9
10
0
161
0
0
0
7
49
44
11
16
15
9
10
0
25
0
0
0
4
18
2
0
1
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
223
0
0
0
11
68
68
11
30
15
9
11
0
198
0
0
0
7
50
66
11
29
15
9
11
0
25
0
0
0
4
18
2
0
1
0
0
0
0
188
0
0
0
11
68
46
11
17
15
9
11
0
163
0
0
0
7
50
44
11
16
15
9
11
0
25
0
0
0
4
18
2
0
1
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
33
0
0
0
0
0
20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
644
3
1
3
5
2
3
1
159
255
130
1
81
637
0
0
1
4
2
3
1
159
255
130
1
81
7
3
1
2
1
0
0
0
0
0
0
0
0
68
3
1
3
5
2
3
1
26
16
7
1
0
61
0
0
1
4
2
3
1
26
16
7
1
0
7
3
1
2
1
0
0
0
0
0
0
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
409
0
0
0
0
0
0
0
125
161
42
0
81
409
0
0
0
0
0
0
0
125
161
42
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
647
6
1
3
4
2
3
1
159
255
130
1
82
637
0
0
1
3
2
3
1
159
255
130
1
82
10
6
1
2
1
0
0
0
0
0
0
0
0
70
6
1
3
4
2
3
1
26
16
7
1
0
60
0
0
1
3
2
3
1
26
16
7
1
0
10
6
1
2
1
0
0
0
0
0
0
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
410
0
0
0
0
0
0
0
125
161
42
0
82
410
0
0
0
0
0
0
0
125
161
42
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
650
6
1
3
4
2
3
1
179
255
194
2
0
640
0
0
1
3
2
3
1
179
255
194
2
0
10
6
1
2
1
0
0
0
0
0
0
0
0
71
6
1
3
4
2
3
1
26
16
7
2
0
61
0
0
1
3
2
3
1
26
16
7
2
0
10
6
1
2
1
0
0
0
0
0
0
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
412
0
0
0
0
0
0
0
145
161
106
0
0
412
0
0
0
0
0
0
0
145
161
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
649
6
1
3
4
2
3
1
178
255
194
2
0
640
0
0
1
4
2
3
1
178
255
194
2
0
9
6
1
2
0
0
0
0
0
0
0
0
0
71
6
1
3
4
2
3
1
26
16
7
2
0
62
0
0
1
4
2
3
1
26
16
7
2
0
9
6
1
2
0
0
0
0
0
0
0
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
411
0
0
0
0
0
0
0
144
161
106
0
0
411
0
0
0
0
0
0
0
144
161
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
650
6
1
3
4
2
3
1
179
255
194
2
0
641
0
0
1
4
2
3
1
179
255
194
2
0
9
6
1
2
0
0
0
0
0
0
0
0
0
72
6
1
3
4
2
3
1
27
16
7
2
0
63
0
0
1
4
2
3
1
27
16
7
2
0
9
6
1
2
0
0
0
0
0
0
0
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
167
0
0
0
0
0
0
0
8
78
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
411
0
0
0
0
0
0
0
144
161
106
0
0
411
0
0
0
0
0
0
0
144
161
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1646
0
0
18
7
7
423
966
89
70
6
19
41
1630
0
0
11
4
3
422
965
89
70
6
19
41
16
0
0
7
3
4
1
1
0
0
0
0
0
56
0
0
18
7
7
2
13
1
3
2
1
2
41
0
0
11
4
3
2
12
1
3
2
1
2
15
0
0
7
3
4
0
1
0
0
0
0
0
117
0
0
0
0
0
3
0
88
0
4
18
4
116
0
0
0
0
0
2
0
88
0
4
18
4
1
0
0
0
0
0
1
0
0
0
0
0
0
1473
0
0
0
0
0
418
953
0
67
0
0
35
1473
0
0
0
0
0
418
953
0
67
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1652
0
0
20
7
7
425
967
89
70
6
19
42
1634
0
0
12
4
3
423
966
89
70
6
19
42
18
0
0
8
3
4
2
1
0
0
0
0
0
60
0
0
20
7
7
3
14
1
3
2
1
2
43
0
0
12
4
3
2
13
1
3
2
1
2
17
0
0
8
3
4
1
1
0
0
0
0
0
117
0
0
0
0
0
3
0
88
0
4
18
4
116
0
0
0
0
0
2
0
88
0
4
18
4
1
0
0
0
0
0
1
0
0
0
0
0
0
1475
0
0
0
0
0
419
953
0
67
0
0
36
1475
0
0
0
0
0
419
953
0
67
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1655
0
0
20
7
7
425
1006
91
70
10
19
0
1637
0
0
12
4
3
423
1005
91
70
10
19
0
18
0
0
8
3
4
2
1
0
0
0
0
0
60
0
0
20
7
7
3
14
3
3
2
1
0
43
0
0
12
4
3
2
13
3
3
2
1
0
17
0
0
8
3
4
1
1
0
0
0
0
0
117
0
0
0
0
0
3
0
88
0
8
18
0
116
0
0
0
0
0
2
0
88
0
8
18
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1653
0
0
20
7
7
424
1006
90
70
14
15
0
1636
0
0
12
4
3
423
1005
90
70
14
15
0
17
0
0
8
3
4
1
1
0
0
0
0
0
58
0
0
20
7
7
2
14
2
3
2
1
0
42
0
0
12
4
3
2
13
2
3
2
1
0
16
0
0
8
3
4
0
1
0
0
0
0
0
117
0
0
0
0
0
3
0
88
0
12
14
0
116
0
0
0
0
0
2
0
88
0
12
14
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1653
0
0
18
7
7
424
1006
90
70
14
17
0
1638
0
0
12
4
3
423
1005
90
70
14
17
0
15
0
0
6
3
4
1
1
0
0
0
0
0
58
0
0
18
7
7
2
14
2
3
2
3
0
44
0
0
12
4
3
2
13
2
3
2
3
0
14
0
0
6
3
4
0
1
0
0
0
0
0
117
0
0
0
0
0
3
0
88
0
12
14
0
116
0
0
0
0
0
2
0
88
0
12
14
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
1478
0
0
0
0
0
419
992
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1242
0
0
0
48
178
662
255
0
0
92
0
7
1231
0
0
0
43
175
660
255
0
0
92
0
6
11
0
0
0
5
3
2
0
0
0
0
0
1
66
0
0
0
48
16
2
0
0
0
0
0
0
60
0
0
0
43
15
2
0
0
0
0
0
0
6
0
0
0
5
1
0
0
0
0
0
0
0
93
0
0
0
0
25
46
15
0
0
0
0
7
89
0
0
0
0
23
45
15
0
0
0
0
6
4
0
0
0
0
2
1
0
0
0
0
0
1
1081
0
0
0
0
137
613
239
0
0
92
0
0
1080
0
0
0
0
137
612
239
0
0
92
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1247
0
0
0
48
177
667
255
0
0
92
1
7
1238
0
0
0
44
176
664
255
0
0
92
1
6
9
0
0
0
4
1
3
0
0
0
0
0
1
67
0
0
0
48
15
3
0
0
0
0
1
0
63
0
0
0
44
15
3
0
0
0
0
1
0
4
0
0
0
4
0
0
0
0
0
0
0
0
93
0
0
0
0
25
46
15
0
0
0
0
7
90
0
0
0
0
24
45
15
0
0
0
0
6
3
0
0
0
0
1
1
0
0
0
0
0
1
1084
0
0
0
0
137
616
239
0
0
92
0
0
1083
0
0
0
0
137
615
239
0
0
92
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1246
0
0
0
48
177
673
255
0
0
92
1
0
1238
0
0
0
44
177
669
255
0
0
92
1
0
8
0
0
0
4
0
4
0
0
0
0
0
0
67
0
0
0
48
15
3
0
0
0
0
1
0
63
0
0
0
44
15
3
0
0
0
0
1
0
4
0
0
0
4
0
0
0
0
0
0
0
0
93
0
0
0
0
25
53
15
0
0
0
0
0
91
0
0
0
0
25
51
15
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
1083
0
0
0
0
137
615
239
0
0
92
0
0
1082
0
0
0
0
137
614
239
0
0
92
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
2
1
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1245
0
0
0
50
178
669
255
0
0
92
1
0
1236
0
0
0
45
177
666
255
0
0
92
1
0
9
0
0
0
5
1
3
0
0
0
0
0
0
70
0
0
0
50
16
3
0
0
0
0
1
0
64
0
0
0
45
15
3
0
0
0
0
1
0
6
0
0
0
5
1
0
0
0
0
0
0
0
93
0
0
0
0
25
53
15
0
0
0
0
0
91
0
0
0
0
25
51
15
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
1080
0
0
0
0
137
612
239
0
0
92
0
0
1079
0
0
0
0
137
611
239
0
0
92
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1245
0
0
0
50
178
669
255
0
0
92
1
0
1236
0
0
0
45
177
666
255
0
0
92
1
0
9
0
0
0
5
1
3
0
0
0
0
0
0
70
0
0
0
50
16
3
0
0
0
0
1
0
64
0
0
0
45
15
3
0
0
0
0
1
0
6
0
0
0
5
1
0
0
0
0
0
0
0
93
0
0
0
0
25
53
15
0
0
0
0
0
91
0
0
0
0
25
51
15
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
1080
0
0
0
0
137
612
239
0
0
92
0
0
1079
0
0
0
0
137
611
239
0
0
92
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1675
0
2
4
110
447
442
428
45
162
33
1
1
1646
0
2
4
91
437
442
428
45
162
33
1
1
29
0
0
0
19
10
0
0
0
0
0
0
0
148
0
2
0
73
63
5
2
0
0
1
1
1
124
0
2
0
54
58
5
2
0
0
1
1
1
24
0
0
0
19
5
0
0
0
0
0
0
0
76
0
0
4
0
32
5
23
12
0
0
0
0
75
0
0
4
0
31
5
23
12
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1445
0
0
0
37
347
432
402
33
162
32
0
0
1441
0
0
0
37
343
432
402
33
162
32
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1675
0
2
4
110
446
444
428
45
162
33
1
0
1652
0
2
4
93
440
444
428
45
162
33
1
0
23
0
0
0
17
6
0
0
0
0
0
0
0
146
0
2
0
74
61
5
2
0
0
1
1
0
125
0
2
0
57
57
5
2
0
0
1
1
0
21
0
0
0
17
4
0
0
0
0
0
0
0
78
0
0
4
0
32
7
23
12
0
0
0
0
77
0
0
4
0
31
7
23
12
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1444
0
0
0
36
347
432
402
33
162
32
0
0
1443
0
0
0
36
346
432
402
33
162
32
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1693
0
2
4
110
446
444
428
45
162
33
19
0
1671
0
2
4
93
441
444
428
45
162
33
19
0
22
0
0
0
17
5
0
0
0
0
0
0
0
147
0
2
0
74
62
5
2
0
0
1
1
0
127
0
2
0
57
59
5
2
0
0
1
1
0
20
0
0
0
17
3
0
0
0
0
0
0
0
78
0
0
4
0
32
7
23
12
0
0
0
0
77
0
0
4
0
31
7
23
12
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1462
0
0
0
36
347
432
402
33
162
32
18
0
1461
0
0
0
36
346
432
402
33
162
32
18
0
1
0
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
0
5
0
1
0
0
0
0
0
6
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1692
0
2
4
110
447
442
428
45
162
33
19
0
1669
0
2
4
93
441
442
428
45
162
33
19
0
23
0
0
0
17
6
0
0
0
0
0
0
0
148
0
2
0
74
63
5
2
0
0
1
1
0
127
0
2
0
57
59
5
2
0
0
1
1
0
21
0
0
0
17
4
0
0
0
0
0
0
0
76
0
0
4
0
32
5
23
12
0
0
0
0
75
0
0
4
0
31
5
23
12
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1462
0
0
0
36
347
432
402
33
162
32
18
0
1461
0
0
0
36
346
432
402
33
162
32
18
0
1
0
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
0
5
0
1
0
0
0
0
0
6
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1761
0
2
4
110
446
442
428
45
162
33
89
0
1737
0
2
4
93
439
442
428
45
162
33
89
0
24
0
0
0
17
7
0
0
0
0
0
0
0
148
0
2
0
74
63
5
2
0
0
1
1
0
126
0
2
0
57
58
5
2
0
0
1
1
0
22
0
0
0
17
5
0
0
0
0
0
0
0
76
0
0
4
0
32
5
23
12
0
0
0
0
75
0
0
4
0
31
5
23
12
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1532
0
0
0
36
347
432
402
33
162
32
88
0
1531
0
0
0
36
346
432
402
33
162
32
88
0
1
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
4
0
1
0
0
0
0
0
5
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
428
1
3
1
6
97
110
139
52
11
6
1
1
401
1
0
1
4
79
108
139
51
11
6
1
0
27
0
3
0
2
18
2
0
1
0
0
0
1
158
1
0
1
6
93
28
8
3
11
6
0
1
137
1
0
1
4
77
27
8
2
11
6
0
0
21
0
0
0
2
16
1
0
1
0
0
0
1
23
0
3
0
0
3
0
0
17
0
0
0
0
18
0
0
0
0
1
0
0
17
0
0
0
0
5
0
3
0
0
2
0
0
0
0
0
0
0
242
0
0
0
0
0
80
130
32
0
0
0
0
242
0
0
0
0
0
80
130
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
426
1
3
1
6
102
103
139
52
11
6
1
1
400
1
0
1
4
84
102
139
51
11
6
1
0
26
0
3
0
2
18
1
0
1
0
0
0
1
157
1
0
1
6
98
22
8
3
11
6
0
1
136
1
0
1
4
82
21
8
2
11
6
0
0
21
0
0
0
2
16
1
0
1
0
0
0
1
23
0
3
0
0
3
0
0
17
0
0
0
0
18
0
0
0
0
1
0
0
17
0
0
0
0
5
0
3
0
0
2
0
0
0
0
0
0
0
242
0
0
0
0
0
80
130
32
0
0
0
0
242
0
0
0
0
0
80
130
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
446
1
3
1
6
102
103
139
53
11
6
21
0
421
1
0
1
4
84
102
139
52
11
6
21
0
25
0
3
0
2
18
1
0
1
0
0
0
0
157
1
0
1
6
98
22
8
4
11
6
0
0
137
1
0
1
4
82
21
8
3
11
6
0
0
20
0
0
0
2
16
1
0
1
0
0
0
0
23
0
3
0
0
3
0
0
17
0
0
0
0
18
0
0
0
0
1
0
0
17
0
0
0
0
5
0
3
0
0
2
0
0
0
0
0
0
0
262
0
0
0
0
0
80
130
32
0
0
20
0
262
0
0
0
0
0
80
130
32
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
1
1
0
0
0
1
0
4
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
447
1
3
1
6
100
105
139
52
12
6
22
0
422
1
0
1
4
82
104
139
51
12
6
22
0
25
0
3
0
2
18
1
0
1
0
0
0
0
158
1
0
1
6
96
24
8
3
12
6
1
0
138
1
0
1
4
80
23
8
2
12
6
1
0
20
0
0
0
2
16
1
0
1
0
0
0
0
23
0
3
0
0
3
0
0
17
0
0
0
0
18
0
0
0
0
1
0
0
17
0
0
0
0
5
0
3
0
0
2
0
0
0
0
0
0
0
262
0
0
0
0
0
80
130
32
0
0
20
0
262
0
0
0
0
0
80
130
32
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
1
1
0
0
0
1
0
4
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
448
1
3
1
6
100
105
139
52
12
6
23
0
423
1
0
1
4
82
104
139
51
12
6
23
0
25
0
3
0
2
18
1
0
1
0
0
0
0
159
1
0
1
6
96
24
8
3
12
6
2
0
139
1
0
1
4
80
23
8
2
12
6
2
0
20
0
0
0
2
16
1
0
1
0
0
0
0
23
0
3
0
0
3
0
0
17
0
0
0
0
18
0
0
0
0
1
0
0
17
0
0
0
0
5
0
3
0
0
2
0
0
0
0
0
0
0
262
0
0
0
0
0
80
130
32
0
0
20
0
262
0
0
0
0
0
80
130
32
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
1
1
0
0
0
1
0
4
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2422
35
20
34
225
341
1144
261
148
107
24
64
19
2322
17
14
29
186
316
1138
261
147
107
24
64
19
100
18
6
5
39
25
6
0
1
0
0
0
0
460
29
19
29
201
92
21
23
30
4
7
1
4
385
15
14
24
168
77
18
23
30
4
7
1
4
75
14
5
5
33
15
3
0
0
0
0
0
0
172
1
0
0
0
9
6
0
17
103
17
4
15
170
0
0
0
0
8
6
0
17
103
17
4
15
2
1
0
0
0
1
0
0
0
0
0
0
0
1508
5
0
5
14
233
1117
0
75
0
0
59
0
1494
2
0
5
9
230
1114
0
75
0
0
59
0
14
3
0
0
5
3
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2432
35
21
34
232
342
1146
263
143
107
25
65
19
2332
18
15
30
190
318
1140
263
142
107
25
65
19
100
17
6
4
42
24
6
0
1
0
0
0
0
467
26
20
29
207
93
22
24
28
4
8
2
4
393
13
15
25
172
79
19
24
28
4
8
2
4
74
13
5
4
35
14
3
0
0
0
0
0
0
175
4
0
0
0
9
6
0
17
103
17
4
15
173
3
0
0
0
8
6
0
17
103
17
4
15
2
1
0
0
0
1
0
0
0
0
0
0
0
1510
5
0
5
15
233
1118
0
75
0
0
59
0
1495
2
0
5
9
230
1115
0
75
0
0
59
0
15
3
0
0
6
3
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2594
35
21
34
232
342
1146
261
145
107
44
227
0
2494
18
15
30
190
318
1140
261
144
107
44
227
0
100
17
6
4
42
24
6
0
1
0
0
0
0
467
26
20
29
207
93
22
24
28
4
12
2
0
393
13
15
25
172
79
19
24
28
4
12
2
0
74
13
5
4
35
14
3
0
0
0
0
0
0
175
4
0
0
0
9
6
0
17
103
32
4
0
173
3
0
0
0
8
6
0
17
103
32
4
0
2
1
0
0
0
1
0
0
0
0
0
0
0
1672
5
0
5
15
233
1118
0
75
0
0
221
0
1657
2
0
5
9
230
1115
0
75
0
0
221
0
15
3
0
0
6
3
3
0
0
0
0
0
0
280
0
1
0
10
7
0
237
25
0
0
0
0
271
0
0
0
9
1
0
237
24
0
0
0
0
9
0
1
0
1
6
0
0
1
0
0
0
0
2648
36
21
34
232
341
1148
263
147
107
44
275
0
2546
18
15
30
190
316
1142
263
146
107
44
275
0
102
18
6
4
42
25
6
0
1
0
0
0
0
476
27
20
29
210
94
24
24
30
4
12
2
0
400
13
15
25
175
79
21
24
30
4
12
2
0
76
14
5
4
35
15
3
0
0
0
0
0
0
175
4
0
0
0
9
6
0
17
103
32
4
0
173
3
0
0
0
8
6
0
17
103
32
4
0
2
1
0
0
0
1
0
0
0
0
0
0
0
1718
5
0
5
15
231
1118
0
75
0
0
269
0
1703
2
0
5
9
228
1115
0
75
0
0
269
0
15
3
0
0
6
3
3
0
0
0
0
0
0
279
0
1
0
7
7
0
239
25
0
0
0
0
270
0
0
0
6
1
0
239
24
0
0
0
0
9
0
1
0
1
6
0
0
1
0
0
0
0
2600
36
20
34
231
340
1106
261
146
107
44
275
0
2499
18
15
30
189
315
1100
261
145
107
44
275
0
101
18
5
4
42
25
6
0
1
0
0
0
0
474
27
20
29
209
93
24
24
30
4
12
2
0
398
13
15
25
174
78
21
24
30
4
12
2
0
76
14
5
4
35
15
3
0
0
0
0
0
0
175
4
0
0
0
9
6
0
17
103
32
4
0
173
3
0
0
0
8
6
0
17
103
32
4
0
2
1
0
0
0
1
0
0
0
0
0
0
0
1676
5
0
5
15
231
1076
0
75
0
0
269
0
1661
2
0
5
9
228
1073
0
75
0
0
269
0
15
3
0
0
6
3
3
0
0
0
0
0
0
275
0
0
0
7
7
0
237
24
0
0
0
0
267
0
0
0
6
1
0
237
23
0
0
0
0
8
0
0
0
1
6
0
0
1
0
0
0
0
925
3
0
0
13
59
43
10
709
38
48
2
0
911
2
0
0
9
52
41
10
709
38
48
2
0
14
1
0
0
4
7
2
0
0
0
0
0
0
135
3
0
0
13
56
25
9
15
7
5
2
0
121
2
0
0
9
49
23
9
15
7
5
2
0
14
1
0
0
4
7
2
0
0
0
0
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
951
3
0
0
13
59
45
10
733
38
48
2
0
938
2
0
0
9
53
43
10
733
38
48
2
0
13
1
0
0
4
6
2
0
0
0
0
0
0
138
3
0
0
13
56
27
9
16
7
5
2
0
125
2
0
0
9
50
25
9
16
7
5
2
0
13
1
0
0
4
6
2
0
0
0
0
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
956
3
0
0
13
59
44
10
739
38
48
2
0
943
2
0
0
9
53
42
10
739
38
48
2
0
13
1
0
0
4
6
2
0
0
0
0
0
0
137
3
0
0
13
56
26
9
16
7
5
2
0
124
2
0
0
9
50
24
9
16
7
5
2
0
13
1
0
0
4
6
2
0
0
0
0
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
387
0
0
0
0
3
0
0
347
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
1
73
0
0
0
0
74
0
0
0
0
0
0
1
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
982
3
0
0
13
59
44
10
765
38
48
2
0
967
2
0
0
9
51
42
10
765
38
48
2
0
15
1
0
0
4
8
2
0
0
0
0
0
0
137
3
0
0
13
56
26
9
16
7
5
2
0
122
2
0
0
9
48
24
9
16
7
5
2
0
15
1
0
0
4
8
2
0
0
0
0
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
486
0
0
0
0
3
0
0
446
0
37
0
0
486
0
0
0
0
3
0
0
446
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
981
3
0
0
12
60
43
10
765
38
48
2
0
965
2
0
0
8
51
41
10
765
38
48
2
0
16
1
0
0
4
9
2
0
0
0
0
0
0
136
3
0
0
12
57
25
9
16
7
5
2
0
120
2
0
0
8
48
23
9
16
7
5
2
0
16
1
0
0
4
9
2
0
0
0
0
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
358
0
0
0
0
0
18
0
303
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
486
0
0
0
0
3
0
0
446
0
37
0
0
486
0
0
0
0
3
0
0
446
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1870
3
0
0
1
10
6
0
828
906
96
18
2
1863
1
0
0
1
9
6
0
824
906
96
18
2
7
2
0
0
0
1
0
0
4
0
0
0
0
188
3
0
0
1
10
6
0
48
98
16
4
2
181
1
0
0
1
9
6
0
44
98
16
4
2
7
2
0
0
0
1
0
0
4
0
0
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1224
0
0
0
0
0
0
0
670
491
49
14
0
1224
0
0
0
0
0
0
0
670
491
49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1873
3
0
0
1
9
7
0
829
908
96
18
2
1864
1
0
0
1
8
5
0
825
908
96
18
2
9
2
0
0
0
1
2
0
4
0
0
0
0
188
3
0
0
1
9
7
0
48
98
16
4
2
179
1
0
0
1
8
5
0
44
98
16
4
2
9
2
0
0
0
1
2
0
4
0
0
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1227
0
0
0
0
0
0
0
671
493
49
14
0
1227
0
0
0
0
0
0
0
671
493
49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1872
3
0
0
1
9
7
0
830
908
96
18
0
1867
1
0
0
1
8
5
0
830
908
96
18
0
5
2
0
0
0
1
2
0
0
0
0
0
0
187
3
0
0
1
9
7
0
49
98
16
4
0
182
1
0
0
1
8
5
0
49
98
16
4
0
5
2
0
0
0
1
2
0
0
0
0
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1227
0
0
0
0
0
0
0
671
493
49
14
0
1227
0
0
0
0
0
0
0
671
493
49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1871
3
0
0
1
9
7
0
844
908
96
3
0
1862
1
0
0
1
8
5
0
840
908
96
3
0
9
2
0
0
0
1
2
0
4
0
0
0
0
187
3
0
0
1
9
7
0
49
99
16
3
0
178
1
0
0
1
8
5
0
45
99
16
3
0
9
2
0
0
0
1
2
0
4
0
0
0
0
457
0
0
0
0
0
0
0
110
316
31
0
0
457
0
0
0
0
0
0
0
110
316
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1227
0
0
0
0
0
0
0
685
493
49
0
0
1227
0
0
0
0
0
0
0
685
493
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1871
3
0
0
1
8
7
0
844
909
96
3
0
1863
1
0
0
1
8
5
0
840
909
96
3
0
8
2
0
0
0
0
2
0
4
0
0
0
0
186
3
0
0
1
8
7
0
49
99
16
3
0
178
1
0
0
1
8
5
0
45
99
16
3
0
8
2
0
0
0
0
2
0
4
0
0
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
458
0
0
0
0
0
0
0
110
317
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1227
0
0
0
0
0
0
0
685
493
49
0
0
1227
0
0
0
0
0
0
0
685
493
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
2
5
2
26
1
3
0
0
14
49
0
89
0
0
3
1
18
1
3
0
0
14
49
0
13
0
2
2
1
8
0
0
0
0
0
0
0
35
0
2
2
2
24
1
3
0
0
0
1
0
24
0
0
2
1
16
1
3
0
0
0
1
0
11
0
2
0
1
8
0
0
0
0
0
0
0
17
0
0
3
0
0
0
0
0
0
14
0
0
15
0
0
1
0
0
0
0
0
0
14
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
48
0
48
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
103
0
2
6
2
26
1
3
0
0
14
49
0
90
0
0
4
1
18
1
3
0
0
14
49
0
13
0
2
2
1
8
0
0
0
0
0
0
0
35
0
2
2
2
24
1
3
0
0
0
1
0
24
0
0
2
1
16
1
3
0
0
0
1
0
11
0
2
0
1
8
0
0
0
0
0
0
0
18
0
0
4
0
0
0
0
0
0
14
0
0
16
0
0
2
0
0
0
0
0
0
14
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
48
0
48
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
103
0
2
6
2
26
1
3
0
0
14
49
0
90
0
0
4
1
18
1
3
0
0
14
49
0
13
0
2
2
1
8
0
0
0
0
0
0
0
35
0
2
2
2
24
1
3
0
0
0
1
0
24
0
0
2
1
16
1
3
0
0
0
1
0
11
0
2
0
1
8
0
0
0
0
0
0
0
18
0
0
4
0
0
0
0
0
0
14
0
0
16
0
0
2
0
0
0
0
0
0
14
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
48
0
48
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
403
0
2
6
2
24
1
3
0
0
14
351
0
390
0
0
4
1
16
1
3
0
0
14
351
0
13
0
2
2
1
8
0
0
0
0
0
0
0
35
0
2
2
2
24
1
3
0
0
0
1
0
24
0
0
2
1
16
1
3
0
0
0
1
0
11
0
2
0
1
8
0
0
0
0
0
0
0
18
0
0
4
0
0
0
0
0
0
14
0
0
16
0
0
2
0
0
0
0
0
0
14
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
350
0
0
0
0
0
0
0
0
0
0
350
0
350
0
0
0
0
0
0
0
0
0
0
350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
567
0
2
6
1
25
1
3
0
0
14
515
0
556
0
0
4
1
18
1
3
0
0
14
515
0
11
0
2
2
0
7
0
0
0
0
0
0
0
33
0
2
2
1
23
1
3
0
0
0
1
0
24
0
0
2
1
16
1
3
0
0
0
1
0
9
0
2
0
0
7
0
0
0
0
0
0
0
18
0
0
4
0
0
0
0
0
0
14
0
0
16
0
0
2
0
0
0
0
0
0
14
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
514
0
0
0
0
0
0
0
0
0
0
514
0
514
0
0
0
0
0
0
0
0
0
0
514
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
383
0
0
0
1
16
13
2
262
79
3
2
5
376
0
0
0
0
14
12
2
259
79
3
2
5
7
0
0
0
1
2
1
0
3
0
0
0
0
158
0
0
0
1
16
13
2
90
30
3
2
1
151
0
0
0
0
14
12
2
87
30
3
2
1
7
0
0
0
1
2
1
0
3
0
0
0
0
225
0
0
0
0
0
0
0
172
49
0
0
4
225
0
0
0
0
0
0
0
172
49
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
383
0
0
0
1
16
14
2
262
79
3
2
4
376
0
0
0
0
14
13
2
259
79
3
2
4
7
0
0
0
1
2
1
0
3
0
0
0
0
159
0
0
0
1
16
14
2
90
30
3
2
1
152
0
0
0
0
14
13
2
87
30
3
2
1
7
0
0
0
1
2
1
0
3
0
0
0
0
224
0
0
0
0
0
0
0
172
49
0
0
3
224
0
0
0
0
0
0
0
172
49
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
384
0
0
0
1
16
13
2
267
79
3
3
0
380
0
0
0
0
14
12
2
267
79
3
3
0
4
0
0
0
1
2
1
0
0
0
0
0
0
159
0
0
0
1
16
13
2
91
30
3
3
0
155
0
0
0
0
14
12
2
91
30
3
3
0
4
0
0
0
1
2
1
0
0
0
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
384
0
0
0
1
16
13
2
266
80
3
3
0
377
0
0
0
0
14
12
2
263
80
3
3
0
7
0
0
0
1
2
1
0
3
0
0
0
0
159
0
0
0
1
16
13
2
90
31
3
3
0
152
0
0
0
0
14
12
2
87
31
3
3
0
7
0
0
0
1
2
1
0
3
0
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
384
0
0
0
1
16
13
2
266
80
3
3
0
377
0
0
0
0
14
12
2
263
80
3
3
0
7
0
0
0
1
2
1
0
3
0
0
0
0
159
0
0
0
1
16
13
2
90
31
3
3
0
152
0
0
0
0
14
12
2
87
31
3
3
0
7
0
0
0
1
2
1
0
3
0
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
225
0
0
0
0
0
0
0
176
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2154
0
0
2
39
197
670
766
62
121
293
2
2
2081
0
0
1
24
149
662
766
61
121
293
2
2
73
0
0
1
15
48
8
0
1
0
0
0
0
446
0
0
2
39
194
50
50
41
31
35
2
2
379
0
0
1
24
147
46
50
41
31
35
2
2
67
0
0
1
15
47
4
0
0
0
0
0
0
384
0
0
0
0
0
15
136
20
54
159
0
0
384
0
0
0
0
0
15
136
20
54
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1320
0
0
0
0
0
605
580
0
36
99
0
0
1316
0
0
0
0
0
601
580
0
36
99
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2183
0
0
2
40
211
681
767
62
121
293
4
2
2102
0
0
1
24
158
671
767
61
121
293
4
2
81
0
0
1
16
53
10
0
1
0
0
0
0
473
0
0
2
40
208
59
51
41
31
35
4
2
398
0
0
1
24
156
53
51
41
31
35
4
2
75
0
0
1
16
52
6
0
0
0
0
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1320
0
0
0
0
0
605
580
0
36
99
0
0
1316
0
0
0
0
0
601
580
0
36
99
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2184
0
0
2
40
210
682
767
62
121
295
5
0
2105
0
0
1
24
158
672
767
62
121
295
5
0
79
0
0
1
16
52
10
0
0
0
0
0
0
474
0
0
2
40
207
60
51
41
31
37
5
0
400
0
0
1
24
156
54
51
41
31
37
5
0
74
0
0
1
16
51
6
0
0
0
0
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1320
0
0
0
0
0
605
580
0
36
99
0
0
1316
0
0
0
0
0
601
580
0
36
99
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
3
0
0
1
0
0
0
0
3
0
0
0
0
2
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2186
0
0
2
40
210
683
767
63
121
295
5
0
2108
0
0
1
25
158
673
767
63
121
295
5
0
78
0
0
1
15
52
10
0
0
0
0
0
0
475
0
0
2
40
207
60
51
42
31
37
5
0
402
0
0
1
25
156
54
51
42
31
37
5
0
73
0
0
1
15
51
6
0
0
0
0
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1321
0
0
0
0
0
606
580
0
36
99
0
0
1317
0
0
0
0
0
602
580
0
36
99
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
3
0
0
1
0
0
0
0
3
0
0
0
0
2
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2186
0
0
2
40
208
684
767
63
121
295
6
0
2108
0
0
1
25
157
673
767
63
121
295
6
0
78
0
0
1
15
51
11
0
0
0
0
0
0
476
0
0
2
40
205
61
51
43
31
37
6
0
403
0
0
1
25
155
54
51
43
31
37
6
0
73
0
0
1
15
50
7
0
0
0
0
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
386
0
0
0
0
0
17
136
20
54
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1321
0
0
0
0
0
606
580
0
36
99
0
0
1317
0
0
0
0
0
602
580
0
36
99
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1947
1
0
0
0
0
63
1685
197
0
0
1
0
1947
1
0
0
0
0
63
1685
197
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
68
34
0
0
0
0
102
0
0
0
0
0
0
68
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1842
0
0
0
0
0
63
1617
162
0
0
0
0
1842
0
0
0
0
0
63
1617
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1985
1
0
0
0
0
63
1723
197
0
0
1
0
1985
1
0
0
0
0
63
1723
197
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1842
0
0
0
0
0
63
1617
162
0
0
0
0
1842
0
0
0
0
0
63
1617
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1961
1
0
0
0
0
63
1699
197
0
0
1
0
1961
1
0
0
0
0
63
1699
197
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1818
0
0
0
0
0
63
1593
162
0
0
0
0
1818
0
0
0
0
0
63
1593
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1994
1
0
0
0
0
63
1731
197
0
0
2
0
1994
1
0
0
0
0
63
1731
197
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
2
0
3
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
140
0
0
0
0
0
0
106
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1850
0
0
0
0
0
63
1625
162
0
0
0
0
1850
0
0
0
0
0
63
1625
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1955
1
0
0
0
0
63
1692
197
0
0
2
0
1955
1
0
0
0
0
63
1692
197
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
2
0
3
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
67
34
0
0
0
0
101
0
0
0
0
0
0
67
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1850
0
0
0
0
0
63
1625
162
0
0
0
0
1850
0
0
0
0
0
63
1625
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
356
0
0
1
1
27
10
40
111
153
11
2
0
350
0
0
0
1
22
10
40
111
153
11
2
0
6
0
0
1
0
5
0
0
0
0
0
0
0
114
0
0
1
1
27
10
7
26
36
4
2
0
108
0
0
0
1
22
10
7
26
36
4
2
0
6
0
0
1
0
5
0
0
0
0
0
0
0
242
0
0
0
0
0
0
33
85
117
7
0
0
242
0
0
0
0
0
0
33
85
117
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
361
0
0
1
1
30
12
40
111
153
11
2
0
356
0
0
0
1
26
12
40
111
153
11
2
0
5
0
0
1
0
4
0
0
0
0
0
0
0
119
0
0
1
1
30
12
7
26
36
4
2
0
114
0
0
0
1
26
12
7
26
36
4
2
0
5
0
0
1
0
4
0
0
0
0
0
0
0
242
0
0
0
0
0
0
33
85
117
7
0
0
242
0
0
0
0
0
0
33
85
117
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
361
0
0
1
1
30
12
41
110
153
11
2
0
356
0
0
0
1
26
12
41
110
153
11
2
0
5
0
0
1
0
4
0
0
0
0
0
0
0
120
0
0
1
1
30
12
8
26
36
4
2
0
115
0
0
0
1
26
12
8
26
36
4
2
0
5
0
0
1
0
4
0
0
0
0
0
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
364
0
0
1
1
31
12
41
110
153
11
4
0
358
0
0
0
1
26
12
41
110
153
11
4
0
6
0
0
1
0
5
0
0
0
0
0
0
0
123
0
0
1
1
31
12
8
26
36
4
4
0
117
0
0
0
1
26
12
8
26
36
4
4
0
6
0
0
1
0
5
0
0
0
0
0
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
365
0
0
1
1
32
12
41
110
153
11
4
0
358
0
0
0
1
26
12
41
110
153
11
4
0
7
0
0
1
0
6
0
0
0
0
0
0
0
124
0
0
1
1
32
12
8
26
36
4
4
0
117
0
0
0
1
26
12
8
26
36
4
4
0
7
0
0
1
0
6
0
0
0
0
0
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
241
0
0
0
0
0
0
33
84
117
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4878
0
0
1
1
2
3
2640
2044
87
33
0
67
4874
0
0
1
1
2
3
2640
2044
87
33
0
63
4
0
0
0
0
0
0
0
0
0
0
0
4
57
0
0
1
1
2
3
36
13
1
0
0
0
57
0
0
1
1
2
3
36
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
739
0
0
0
0
0
0
246
444
16
33
0
0
739
0
0
0
0
0
0
246
444
16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4077
0
0
0
0
0
0
2358
1582
70
0
0
67
4073
0
0
0
0
0
0
2358
1582
70
0
0
63
4
0
0
0
0
0
0
0
0
0
0
0
4
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4903
0
0
1
1
2
4
2646
2063
87
33
0
66
4898
0
0
1
1
2
3
2646
2063
87
33
0
62
5
0
0
0
0
0
1
0
0
0
0
0
4
58
0
0
1
1
2
4
36
13
1
0
0
0
57
0
0
1
1
2
3
36
13
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
768
0
0
0
0
0
0
252
467
16
33
0
0
768
0
0
0
0
0
0
252
467
16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4072
0
0
0
0
0
0
2358
1578
70
0
0
66
4068
0
0
0
0
0
0
2358
1578
70
0
0
62
4
0
0
0
0
0
0
0
0
0
0
0
4
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4904
0
0
1
1
2
4
2640
2136
87
33
0
0
4903
0
0
1
1
2
3
2640
2136
87
33
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
58
0
0
1
1
2
4
36
13
1
0
0
0
57
0
0
1
1
2
3
36
13
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4903
0
0
1
0
2
4
2640
2136
87
33
0
0
4902
0
0
1
0
2
3
2640
2136
87
33
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
57
0
0
1
0
2
4
36
13
1
0
0
0
56
0
0
1
0
2
3
36
13
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4903
0
0
1
0
2
4
2640
2136
87
33
0
0
4902
0
0
1
0
2
3
2640
2136
87
33
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
57
0
0
1
0
2
4
36
13
1
0
0
0
56
0
0
1
0
2
3
36
13
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
762
0
0
0
0
0
0
246
467
16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
4079
0
0
0
0
0
0
2358
1651
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
19
7
0
26
0
0
0
0
0
0
0
0
0
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
19
7
0
26
0
0
0
0
0
0
0
0
0
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
28
0
0
0
0
0
0
0
0
0
19
9
0
28
0
0
0
0
0
0
0
0
0
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
19
9
0
28
0
0
0
0
0
0
0
0
0
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
19
10
0
29
0
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
1
0
0
5
42
43
12
15
8
10
92
2
215
1
0
0
4
34
37
12
15
8
10
92
2
15
0
0
0
1
8
6
0
0
0
0
0
0
105
1
0
0
3
33
23
10
15
8
10
0
2
97
1
0
0
2
28
21
10
15
8
10
0
2
8
0
0
0
1
5
2
0
0
0
0
0
0
23
0
0
0
0
7
16
0
0
0
0
0
0
17
0
0
0
0
4
13
0
0
0
0
0
0
6
0
0
0
0
3
3
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
92
0
92
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
255
1
0
0
5
46
46
12
14
8
10
111
2
238
1
0
0
4
38
39
12
14
8
10
111
1
17
0
0
0
1
8
7
0
0
0
0
0
1
110
1
0
0
3
37
25
10
14
8
10
1
1
101
1
0
0
2
32
22
10
14
8
10
1
1
9
0
0
0
1
5
3
0
0
0
0
0
0
23
0
0
0
0
7
16
0
0
0
0
0
0
17
0
0
0
0
4
13
0
0
0
0
0
0
6
0
0
0
0
3
3
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
110
0
110
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
253
1
0
0
5
46
46
12
14
8
10
111
0
237
1
0
0
4
38
39
12
14
8
10
111
0
16
0
0
0
1
8
7
0
0
0
0
0
0
109
1
0
0
3
37
25
10
14
8
10
1
0
100
1
0
0
2
32
22
10
14
8
10
1
0
9
0
0
0
1
5
3
0
0
0
0
0
0
23
0
0
0
0
7
16
0
0
0
0
0
0
17
0
0
0
0
4
13
0
0
0
0
0
0
6
0
0
0
0
3
3
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
110
0
110
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
2
2
5
2
0
0
0
0
0
10
0
0
0
2
2
4
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
251
1
0
0
5
46
44
12
14
8
10
111
0
234
1
0
0
4
37
37
12
14
8
10
111
0
17
0
0
0
1
9
7
0
0
0
0
0
0
110
1
0
0
3
38
25
10
14
8
10
1
0
100
1
0
0
2
32
22
10
14
8
10
1
0
10
0
0
0
1
6
3
0
0
0
0
0
0
23
0
0
0
0
7
16
0
0
0
0
0
0
17
0
0
0
0
4
13
0
0
0
0
0
0
6
0
0
0
0
3
3
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
110
0
110
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
1
3
2
0
0
0
0
0
7
0
0
0
2
1
2
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
251
1
0
0
5
46
46
10
14
8
10
111
0
235
1
0
0
4
38
39
10
14
8
10
111
0
16
0
0
0
1
8
7
0
0
0
0
0
0
109
1
0
0
3
37
25
10
14
8
10
1
0
100
1
0
0
2
32
22
10
14
8
10
1
0
9
0
0
0
1
5
3
0
0
0
0
0
0
23
0
0
0
0
7
16
0
0
0
0
0
0
17
0
0
0
0
4
13
0
0
0
0
0
0
6
0
0
0
0
3
3
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
110
0
110
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
2
5
0
0
0
0
0
0
8
0
0
0
2
2
4
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1518
38
199
33
13
44
615
67
26
150
196
133
4
1392
14
133
14
8
38
611
67
26
150
196
133
2
126
24
66
19
5
6
4
0
0
0
0
0
2
349
19
176
15
12
36
11
3
26
36
7
5
3
285
13
130
11
8
33
11
3
26
36
7
5
2
64
6
46
4
4
3
0
0
0
0
0
0
1
53
13
15
9
0
4
0
0
0
12
0
0
0
16
1
0
2
0
1
0
0
0
12
0
0
0
37
12
15
7
0
3
0
0
0
0
0
0
0
1106
6
5
8
0
0
604
64
0
102
189
128
0
1084
0
1
0
0
0
600
64
0
102
189
128
0
22
6
4
8
0
0
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1529
40
204
34
14
44
616
67
26
150
197
133
4
1398
14
134
16
9
38
612
67
26
150
197
133
2
131
26
70
18
5
6
4
0
0
0
0
0
2
357
20
180
16
13
36
12
3
26
36
7
5
3
288
13
130
12
9
33
12
3
26
36
7
5
2
69
7
50
4
4
3
0
0
0
0
0
0
1
53
13
15
9
0
4
0
0
0
12
0
0
0
17
1
0
3
0
1
0
0
0
12
0
0
0
36
12
15
6
0
3
0
0
0
0
0
0
0
1108
7
5
8
0
0
604
64
0
102
190
128
0
1085
0
1
0
0
0
600
64
0
102
190
128
0
23
7
4
8
0
0
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1635
40
207
34
13
46
616
67
44
150
197
221
0
1505
14
136
16
9
39
612
67
44
150
197
221
0
130
26
71
18
4
7
4
0
0
0
0
0
0
358
20
182
16
13
38
12
3
26
36
7
5
0
289
13
132
12
9
34
12
3
26
36
7
5
0
69
7
50
4
4
4
0
0
0
0
0
0
0
53
13
15
9
0
4
0
0
0
12
0
0
0
17
1
0
3
0
1
0
0
0
12
0
0
0
36
12
15
6
0
3
0
0
0
0
0
0
0
1214
7
5
8
0
0
604
64
18
102
190
216
0
1191
0
1
0
0
0
600
64
18
102
190
216
0
23
7
4
8
0
0
4
0
0
0
0
0
0
10
0
5
1
0
4
0
0
0
0
0
0
0
8
0
3
1
0
4
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
1813
39
214
32
13
46
616
67
44
150
197
395
0
1678
14
137
14
9
39
612
67
44
150
197
395
0
135
25
77
18
4
7
4
0
0
0
0
0
0
362
19
189
14
13
38
12
3
26
36
7
5
0
288
13
133
10
9
34
12
3
26
36
7
5
0
74
6
56
4
4
4
0
0
0
0
0
0
0
53
13
15
9
0
4
0
0
0
12
0
0
0
17
1
0
3
0
1
0
0
0
12
0
0
0
36
12
15
6
0
3
0
0
0
0
0
0
0
1388
7
5
8
0
0
604
64
18
102
190
390
0
1365
0
1
0
0
0
600
64
18
102
190
390
0
23
7
4
8
0
0
4
0
0
0
0
0
0
10
0
5
1
0
4
0
0
0
0
0
0
0
8
0
3
1
0
4
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
1810
38
213
32
13
45
616
67
44
150
197
395
0
1676
14
137
14
9
38
611
67
44
150
197
395
0
134
24
76
18
4
7
5
0
0
0
0
0
0
360
18
189
14
13
37
12
3
26
36
7
5
0
286
13
133
10
9
33
11
3
26
36
7
5
0
74
5
56
4
4
4
1
0
0
0
0
0
0
53
13
15
9
0
4
0
0
0
12
0
0
0
17
1
0
3
0
1
0
0
0
12
0
0
0
36
12
15
6
0
3
0
0
0
0
0
0
0
1388
7
5
8
0
0
604
64
18
102
190
390
0
1365
0
1
0
0
0
600
64
18
102
190
390
0
23
7
4
8
0
0
4
0
0
0
0
0
0
9
0
4
1
0
4
0
0
0
0
0
0
0
8
0
3
1
0
4
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1296
84
322
162
95
149
117
79
86
16
154
19
13
903
43
98
92
64
132
112
78
85
15
154
19
11
393
41
224
70
31
17
5
1
1
1
0
0
2
514
41
109
56
80
112
28
36
17
12
10
7
6
369
22
57
32
52
99
24
35
16
11
10
7
4
145
19
52
24
28
13
4
1
1
1
0
0
2
331
17
80
60
15
6
50
27
55
4
10
0
7
238
14
18
40
12
2
49
27
55
4
10
0
7
93
3
62
20
3
4
1
0
0
0
0
0
0
444
26
133
46
0
31
37
12
13
0
134
12
0
289
7
23
20
0
31
37
12
13
0
134
12
0
155
19
110
26
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1318
87
324
169
101
151
119
77
86
16
154
21
13
908
45
96
94
66
132
113
76
85
15
154
21
11
410
42
228
75
35
19
6
1
1
1
0
0
2
526
44
106
57
85
114
30
36
17
12
10
9
6
373
24
54
32
54
99
25
35
16
11
10
9
4
153
20
52
25
31
15
5
1
1
1
0
0
2
334
17
81
61
16
6
50
27
55
4
10
0
7
239
14
19
40
12
2
49
27
55
4
10
0
7
95
3
62
21
4
4
1
0
0
0
0
0
0
453
26
137
51
0
31
37
12
13
0
134
12
0
291
7
23
22
0
31
37
12
13
0
134
12
0
162
19
114
29
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1323
87
322
170
101
152
120
81
87
16
163
24
0
925
45
104
93
68
133
113
80
86
16
163
24
0
398
42
218
77
33
19
7
1
1
0
0
0
0
530
44
106
59
85
115
30
37
18
12
12
12
0
384
24
58
32
56
100
25
36
17
12
12
12
0
146
20
48
27
29
15
5
1
1
0
0
0
0
332
17
79
61
16
6
50
27
55
4
17
0
0
243
14
23
40
12
2
49
27
55
4
17
0
0
89
3
56
21
4
4
1
0
0
0
0
0
0
453
26
137
50
0
31
38
12
13
0
134
12
0
290
7
23
21
0
31
37
12
13
0
134
12
0
163
19
114
29
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1326
87
324
171
99
155
119
81
86
16
163
25
0
932
45
106
97
67
136
113
80
85
15
163
25
0
394
42
218
74
32
19
6
1
1
1
0
0
0
537
44
108
60
86
118
30
37
17
12
12
13
0
390
24
60
33
57
103
25
36
16
11
12
13
0
147
20
48
27
29
15
5
1
1
1
0
0
0
329
17
79
61
13
6
50
27
55
4
17
0
0
241
14
23
40
10
2
49
27
55
4
17
0
0
88
3
56
21
3
4
1
0
0
0
0
0
0
452
26
137
50
0
31
37
12
13
0
134
12
0
293
7
23
24
0
31
37
12
13
0
134
12
0
159
19
114
26
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1324
87
321
171
98
155
119
81
86
16
163
27
0
934
45
107
97
66
136
113
80
85
15
163
27
0
390
42
214
74
32
19
6
1
1
1
0
0
0
525
34
105
60
85
118
30
37
17
12
12
15
0
392
24
61
33
56
103
25
36
16
11
12
15
0
133
10
44
27
29
15
5
1
1
1
0
0
0
329
17
79
61
13
6
50
27
55
4
17
0
0
241
14
23
40
10
2
49
27
55
4
17
0
0
88
3
56
21
3
4
1
0
0
0
0
0
0
462
36
137
50
0
31
37
12
13
0
134
12
0
293
7
23
24
0
31
37
12
13
0
134
12
0
169
29
114
26
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
8
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1866
7
2
2
15
33
975
574
93
56
67
33
9
1842
2
1
2
8
28
970
574
93
56
67
33
8
24
5
1
0
7
5
5
0
0
0
0
0
1
151
7
2
2
15
33
12
2
28
21
19
10
0
131
2
1
2
8
28
10
2
28
21
19
10
0
20
5
1
0
7
5
2
0
0
0
0
0
0
224
0
0
0
0
0
40
4
65
35
48
23
9
223
0
0
0
0
0
40
4
65
35
48
23
8
1
0
0
0
0
0
0
0
0
0
0
0
1
1490
0
0
0
0
0
923
567
0
0
0
0
0
1487
0
0
0
0
0
920
567
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1889
6
2
2
17
33
975
574
92
56
67
56
9
1865
2
1
2
8
29
970
574
92
56
67
56
8
24
4
1
0
9
4
5
0
0
0
0
0
1
153
6
2
2
17
33
12
2
27
21
19
12
0
133
2
1
2
8
29
10
2
27
21
19
12
0
20
4
1
0
9
4
2
0
0
0
0
0
0
245
0
0
0
0
0
40
4
65
35
48
44
9
244
0
0
0
0
0
40
4
65
35
48
44
8
1
0
0
0
0
0
0
0
0
0
0
0
1
1490
0
0
0
0
0
923
567
0
0
0
0
0
1487
0
0
0
0
0
920
567
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1889
7
2
2
17
33
975
574
92
62
67
54
4
1864
2
1
2
8
29
970
574
92
62
67
54
3
25
5
1
0
9
4
5
0
0
0
0
0
1
152
7
2
2
17
33
12
2
27
21
19
10
0
131
2
1
2
8
29
10
2
27
21
19
10
0
21
5
1
0
9
4
2
0
0
0
0
0
0
246
0
0
0
0
0
40
4
65
41
48
44
4
245
0
0
0
0
0
40
4
65
41
48
44
3
1
0
0
0
0
0
0
0
0
0
0
0
1
1490
0
0
0
0
0
923
567
0
0
0
0
0
1487
0
0
0
0
0
920
567
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1915
7
2
3
17
33
975
574
93
62
67
78
4
1889
2
1
2
8
29
970
574
93
62
67
78
3
26
5
1
1
9
4
5
0
0
0
0
0
1
154
7
2
3
17
33
12
2
28
21
19
10
0
132
2
1
2
8
29
10
2
28
21
19
10
0
22
5
1
1
9
4
2
0
0
0
0
0
0
270
0
0
0
0
0
40
4
65
41
48
68
4
269
0
0
0
0
0
40
4
65
41
48
68
3
1
0
0
0
0
0
0
0
0
0
0
0
1
1490
0
0
0
0
0
923
567
0
0
0
0
0
1487
0
0
0
0
0
920
567
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1915
7
2
3
17
33
975
574
93
62
67
78
4
1890
2
1
2
9
29
970
574
93
62
67
78
3
25
5
1
1
8
4
5
0
0
0
0
0
1
154
7
2
3
17
33
12
2
28
21
19
10
0
133
2
1
2
9
29
10
2
28
21
19
10
0
21
5
1
1
8
4
2
0
0
0
0
0
0
270
0
0
0
0
0
40
4
65
41
48
68
4
269
0
0
0
0
0
40
4
65
41
48
68
3
1
0
0
0
0
0
0
0
0
0
0
0
1
1490
0
0
0
0
0
923
567
0
0
0
0
0
1487
0
0
0
0
0
920
567
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
629
3
0
0
0
5
0
4
0
488
32
97
0
624
1
0
0
0
2
0
4
0
488
32
97
0
5
2
0
0
0
3
0
0
0
0
0
0
0
100
3
0
0
0
5
0
4
0
69
2
17
0
95
1
0
0
0
2
0
4
0
69
2
17
0
5
2
0
0
0
3
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
0
0
0
0
0
0
0
0
312
0
80
0
392
0
0
0
0
0
0
0
0
312
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
630
3
0
0
0
6
0
4
0
488
32
97
0
624
1
0
0
0
2
0
4
0
488
32
97
0
6
2
0
0
0
4
0
0
0
0
0
0
0
102
3
0
0
0
6
0
4
0
70
2
17
0
96
1
0
0
0
2
0
4
0
70
2
17
0
6
2
0
0
0
4
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
0
0
0
0
0
0
0
0
312
0
80
0
392
0
0
0
0
0
0
0
0
312
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
629
2
0
0
0
6
0
4
0
488
32
97
0
624
1
0
0
0
2
0
4
0
488
32
97
0
5
1
0
0
0
4
0
0
0
0
0
0
0
101
2
0
0
0
6
0
4
0
70
2
17
0
96
1
0
0
0
2
0
4
0
70
2
17
0
5
1
0
0
0
4
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
136
0
0
0
0
0
0
0
0
106
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
0
0
0
0
0
0
0
0
312
0
80
0
392
0
0
0
0
0
0
0
0
312
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
639
2
0
0
0
6
0
4
0
494
32
101
0
634
1
0
0
0
2
0
4
0
494
32
101
0
5
1
0
0
0
4
0
0
0
0
0
0
0
105
2
0
0
0
6
0
4
0
70
2
21
0
100
1
0
0
0
2
0
4
0
70
2
21
0
5
1
0
0
0
4
0
0
0
0
0
0
0
142
0
0
0
0
0
0
0
0
112
30
0
0
142
0
0
0
0
0
0
0
0
112
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
0
0
0
0
0
0
0
0
312
0
80
0
392
0
0
0
0
0
0
0
0
312
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
2
0
0
0
6
0
4
0
494
32
107
0
640
1
0
0
0
2
0
4
0
494
32
107
0
5
1
0
0
0
4
0
0
0
0
0
0
0
111
2
0
0
0
6
0
4
0
70
2
27
0
106
1
0
0
0
2
0
4
0
70
2
27
0
5
1
0
0
0
4
0
0
0
0
0
0
0
142
0
0
0
0
0
0
0
0
112
30
0
0
142
0
0
0
0
0
0
0
0
112
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
392
0
0
0
0
0
0
0
0
312
0
80
0
392
0
0
0
0
0
0
0
0
312
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
977
5
10
0
23
352
235
321
0
27
3
0
1
956
5
1
0
17
349
233
321
0
27
3
0
0
21
0
9
0
6
3
2
0
0
0
0
0
1
49
3
0
0
23
13
3
0
0
3
3
0
1
41
3
0
0
17
12
3
0
0
3
3
0
0
8
0
0
0
6
1
0
0
0
0
0
0
1
35
2
0
0
0
3
0
6
0
24
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
888
0
10
0
0
331
232
315
0
0
0
0
0
875
0
1
0
0
329
230
315
0
0
0
0
0
13
0
9
0
0
2
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
978
5
10
0
24
352
235
321
0
27
3
0
1
957
5
1
0
18
349
233
321
0
27
3
0
0
21
0
9
0
6
3
2
0
0
0
0
0
1
50
3
0
0
24
13
3
0
0
3
3
0
1
42
3
0
0
18
12
3
0
0
3
3
0
0
8
0
0
0
6
1
0
0
0
0
0
0
1
35
2
0
0
0
3
0
6
0
24
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
888
0
10
0
0
331
232
315
0
0
0
0
0
875
0
1
0
0
329
230
315
0
0
0
0
0
13
0
9
0
0
2
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
977
4
10
0
25
352
235
321
0
27
3
0
0
956
4
1
0
18
349
233
321
0
27
3
0
0
21
0
9
0
7
3
2
0
0
0
0
0
0
49
2
0
0
25
13
3
0
0
3
3
0
0
41
2
0
0
18
12
3
0
0
3
3
0
0
8
0
0
0
7
1
0
0
0
0
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
888
0
10
0
0
331
232
315
0
0
0
0
0
875
0
1
0
0
329
230
315
0
0
0
0
0
13
0
9
0
0
2
2
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
979
4
10
1
25
352
235
321
0
27
3
1
0
957
4
1
0
18
349
233
321
0
27
3
1
0
22
0
9
1
7
3
2
0
0
0
0
0
0
50
2
0
0
25
13
3
0
0
3
3
1
0
42
2
0
0
18
12
3
0
0
3
3
1
0
8
0
0
0
7
1
0
0
0
0
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
888
0
10
0
0
331
232
315
0
0
0
0
0
875
0
1
0
0
329
230
315
0
0
0
0
0
13
0
9
0
0
2
2
0
0
0
0
0
0
6
0
0
1
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
979
4
10
1
25
352
235
321
0
27
3
1
0
957
4
1
0
18
349
233
321
0
27
3
1
0
22
0
9
1
7
3
2
0
0
0
0
0
0
50
2
0
0
25
13
3
0
0
3
3
1
0
42
2
0
0
18
12
3
0
0
3
3
1
0
8
0
0
0
7
1
0
0
0
0
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
35
2
0
0
0
3
0
6
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
888
0
10
0
0
331
232
315
0
0
0
0
0
875
0
1
0
0
329
230
315
0
0
0
0
0
13
0
9
0
0
2
2
0
0
0
0
0
0
6
0
0
1
0
5
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
460
103
50
54
41
6
120
42
25
8
7
0
4
312
36
27
29
16
4
117
42
25
8
7
0
1
148
67
23
25
25
2
3
0
0
0
0
0
3
166
52
30
16
8
6
14
3
18
8
7
0
4
119
24
22
14
5
4
13
3
18
8
7
0
1
47
28
8
2
3
2
1
0
0
0
0
0
3
105
49
8
29
16
0
0
3
0
0
0
0
0
36
12
0
13
8
0
0
3
0
0
0
0
0
69
37
8
16
8
0
0
0
0
0
0
0
0
187
0
12
9
17
0
106
36
7
0
0
0
0
157
0
5
2
3
0
104
36
7
0
0
0
0
30
0
7
7
14
0
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
465
102
53
50
49
6
120
42
25
8
7
1
2
314
37
28
28
18
4
116
42
25
8
7
1
0
151
65
25
22
31
2
4
0
0
0
0
0
2
173
53
33
16
11
6
15
3
18
8
7
1
2
124
26
23
14
7
4
13
3
18
8
7
1
0
49
27
10
2
4
2
2
0
0
0
0
0
2
104
48
8
25
20
0
0
3
0
0
0
0
0
34
11
0
12
8
0
0
3
0
0
0
0
0
70
37
8
13
12
0
0
0
0
0
0
0
0
187
0
12
9
18
0
105
36
7
0
0
0
0
156
0
5
2
3
0
103
36
7
0
0
0
0
31
0
7
7
15
0
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
645
103
54
51
49
6
117
42
25
8
7
183
0
496
39
28
28
18
4
114
42
25
8
7
183
0
149
64
26
23
31
2
3
0
0
0
0
0
0
172
55
34
17
11
6
12
3
18
8
7
1
0
124
28
23
14
7
4
11
3
18
8
7
1
0
48
27
11
3
4
2
1
0
0
0
0
0
0
104
48
8
25
20
0
0
3
0
0
0
0
0
34
11
0
12
8
0
0
3
0
0
0
0
0
70
37
8
13
12
0
0
0
0
0
0
0
0
369
0
12
9
18
0
105
36
7
0
0
182
0
338
0
5
2
3
0
103
36
7
0
0
182
0
31
0
7
7
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
792
103
56
51
49
6
117
42
24
8
7
329
0
641
39
28
28
18
4
114
42
24
8
7
329
0
151
64
28
23
31
2
3
0
0
0
0
0
0
173
55
36
17
11
6
12
3
17
8
7
1
0
123
28
23
14
7
4
11
3
17
8
7
1
0
50
27
13
3
4
2
1
0
0
0
0
0
0
104
48
8
25
20
0
0
3
0
0
0
0
0
34
11
0
12
8
0
0
3
0
0
0
0
0
70
37
8
13
12
0
0
0
0
0
0
0
0
515
0
12
9
18
0
105
36
7
0
0
328
0
484
0
5
2
3
0
103
36
7
0
0
328
0
31
0
7
7
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1045
101
56
51
49
6
117
42
24
8
7
584
0
896
39
28
28
18
4
114
42
24
8
7
584
0
149
62
28
23
31
2
3
0
0
0
0
0
0
171
53
36
17
11
6
12
3
17
8
7
1
0
123
28
23
14
7
4
11
3
17
8
7
1
0
48
25
13
3
4
2
1
0
0
0
0
0
0
104
48
8
25
20
0
0
3
0
0
0
0
0
34
11
0
12
8
0
0
3
0
0
0
0
0
70
37
8
13
12
0
0
0
0
0
0
0
0
770
0
12
9
18
0
105
36
7
0
0
583
0
739
0
5
2
3
0
103
36
7
0
0
583
0
31
0
7
7
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2005
3
1
0
3
10
6
511
2
59
423
130
857
1386
2
0
0
2
10
6
416
2
59
423
130
336
619
1
1
0
1
0
0
95
0
0
0
0
521
25
3
0
0
3
10
5
0
2
0
1
0
1
23
2
0
0
2
10
5
0
2
0
1
0
1
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1522
0
0
0
0
0
0
415
0
59
422
130
496
1111
0
0
0
0
0
0
320
0
59
422
130
180
411
0
0
0
0
0
0
95
0
0
0
0
316
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2002
4
1
0
4
11
5
512
2
59
423
130
851
1763
3
1
0
2
11
5
512
2
59
423
130
615
239
1
0
0
2
0
0
0
0
0
0
0
236
29
4
1
0
4
11
5
0
2
0
1
0
1
26
3
1
0
2
11
5
0
2
0
1
0
1
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1510
0
0
0
0
0
0
415
0
59
422
130
484
1482
0
0
0
0
0
0
415
0
59
422
130
456
28
0
0
0
0
0
0
0
0
0
0
0
28
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2065
4
1
0
4
11
7
642
2
99
487
130
678
1849
3
1
0
2
11
7
552
2
99
487
130
555
216
1
0
0
2
0
0
90
0
0
0
0
123
31
4
1
0
4
11
7
0
2
0
1
0
1
28
3
1
0
2
11
7
0
2
0
1
0
1
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1563
0
0
0
0
0
0
448
0
99
486
130
400
1563
0
0
0
0
0
0
448
0
99
486
130
400
0
0
0
0
0
0
0
0
0
0
0
0
0
471
0
0
0
0
0
0
194
0
0
0
0
277
258
0
0
0
0
0
0
104
0
0
0
0
154
213
0
0
0
0
0
0
90
0
0
0
0
123
2315
4
1
0
4
10
7
698
2
99
487
385
618
2101
3
1
0
2
10
7
548
2
99
487
385
557
214
1
0
0
2
0
0
150
0
0
0
0
61
30
4
1
0
4
10
7
0
2
0
1
0
1
27
3
1
0
2
10
7
0
2
0
1
0
1
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1820
0
0
0
0
0
0
448
0
99
486
385
402
1820
0
0
0
0
0
0
448
0
99
486
385
402
0
0
0
0
0
0
0
0
0
0
0
0
0
465
0
0
0
0
0
0
250
0
0
0
0
215
254
0
0
0
0
0
0
100
0
0
0
0
154
211
0
0
0
0
0
0
150
0
0
0
0
61
2372
5
1
0
4
9
7
1373
2
99
487
385
0
2158
4
1
0
2
8
7
1163
2
99
487
385
0
214
1
0
0
2
1
0
210
0
0
0
0
0
29
5
1
0
4
9
7
0
2
0
1
0
0
25
4
1
0
2
8
7
0
2
0
1
0
0
4
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1875
0
0
0
0
0
0
905
0
99
486
385
0
1875
0
0
0
0
0
0
905
0
99
486
385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
468
0
0
0
0
0
0
468
0
0
0
0
0
258
0
0
0
0
0
0
258
0
0
0
0
0
210
0
0
0
0
0
0
210
0
0
0
0
0
13
0
7
0
5
1
0
0
0
0
0
0
0
7
0
6
0
0
1
0
0
0
0
0
0
0
6
0
1
0
5
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
0
0
0
0
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
21
2
13
0
5
1
0
0
0
0
0
0
0
13
1
11
0
0
1
0
0
0
0
0
0
0
8
1
2
0
5
0
0
0
0
0
0
0
0
15
2
13
0
0
0
0
0
0
0
0
0
0
12
1
11
0
0
0
0
0
0
0
0
0
0
3
1
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
26
3
13
0
5
3
0
0
0
0
0
0
2
13
1
11
0
0
1
0
0
0
0
0
0
0
13
2
2
0
5
2
0
0
0
0
0
0
2
20
3
13
0
0
2
0
0
0
0
0
0
2
12
1
11
0
0
0
0
0
0
0
0
0
0
8
2
2
0
0
2
0
0
0
0
0
0
2
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
13
0
5
1
0
0
0
0
0
0
2
12
0
11
0
0
1
0
0
0
0
0
0
0
9
0
2
0
5
0
0
0
0
0
0
0
2
16
0
13
0
0
1
0
0
0
0
0
0
2
12
0
11
0
0
1
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
2
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
13
0
5
1
0
0
0
0
0
0
2
12
0
11
0
0
1
0
0
0
0
0
0
0
9
0
2
0
5
0
0
0
0
0
0
0
2
16
0
13
0
0
1
0
0
0
0
0
0
2
12
0
11
0
0
1
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
2
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
903
6
1
7
9
49
42
67
196
466
50
4
6
879
3
1
6
7
39
36
67
194
466
50
4
6
24
3
0
1
2
10
6
0
2
0
0
0
0
284
5
1
7
9
47
42
49
58
41
20
3
2
261
3
1
6
7
37
36
49
56
41
20
3
2
23
2
0
1
2
10
6
0
2
0
0
0
0
359
0
0
0
0
0
0
18
124
185
28
0
4
359
0
0
0
0
0
0
18
124
185
28
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
909
8
1
7
9
51
43
67
197
466
50
4
6
882
3
1
6
7
40
37
67
195
466
50
4
6
27
5
0
1
2
11
6
0
2
0
0
0
0
286
5
1
7
9
48
43
49
58
41
20
3
2
262
3
1
6
7
37
37
49
56
41
20
3
2
24
2
0
1
2
11
6
0
2
0
0
0
0
359
0
0
0
0
0
0
18
124
185
28
0
4
359
0
0
0
0
0
0
18
124
185
28
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
911
8
1
7
9
51
43
68
197
467
50
5
5
884
3
1
6
7
40
37
67
196
467
50
5
5
27
5
0
1
2
11
6
1
1
0
0
0
0
287
5
1
7
9
48
43
49
58
42
20
4
1
264
3
1
6
7
37
37
49
57
42
20
4
1
23
2
0
1
2
11
6
0
1
0
0
0
0
359
0
0
0
0
0
0
18
124
185
28
0
4
359
0
0
0
0
0
0
18
124
185
28
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
0
2
0
1
1
2
2
1
0
8
0
0
0
0
2
0
0
1
2
2
1
0
4
3
0
0
0
0
0
1
0
0
0
0
0
910
8
1
7
9
51
44
68
200
466
50
6
0
884
3
1
6
7
41
39
67
198
466
50
6
0
26
5
0
1
2
10
5
1
2
0
0
0
0
287
5
1
7
9
48
44
49
58
41
20
5
0
265
3
1
6
7
38
39
49
56
41
20
5
0
22
2
0
1
2
10
5
0
2
0
0
0
0
359
0
0
0
0
0
0
18
128
185
28
0
0
359
0
0
0
0
0
0
18
128
185
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
253
0
0
0
0
1
0
0
14
238
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
0
0
0
2
0
1
0
2
2
1
0
7
0
0
0
0
2
0
0
0
2
2
1
0
4
3
0
0
0
0
0
1
0
0
0
0
0
904
8
1
7
9
50
44
67
200
461
50
7
0
878
3
1
6
7
40
38
67
198
461
50
7
0
26
5
0
1
2
10
6
0
2
0
0
0
0
281
5
1
7
9
47
44
49
52
41
20
6
0
258
3
1
6
7
37
38
49
50
41
20
6
0
23
2
0
1
2
10
6
0
2
0
0
0
0
365
0
0
0
0
0
0
18
134
185
28
0
0
365
0
0
0
0
0
0
18
134
185
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
248
0
0
0
0
1
0
0
14
233
0
0
0
248
0
0
0
0
1
0
0
14
233
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
2
0
0
0
2
2
1
0
7
0
0
0
0
2
0
0
0
2
2
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
66
0
0
1
7
18
0
2
7
26
0
5
0
56
0
0
1
2
13
0
2
7
26
0
5
0
10
0
0
0
5
5
0
0
0
0
0
0
0
32
0
0
1
7
18
0
1
3
2
0
0
0
22
0
0
1
2
13
0
1
3
2
0
0
0
10
0
0
0
5
5
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
4
0
28
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
68
0
0
1
7
19
0
2
8
26
0
5
0
57
0
0
1
2
13
0
2
8
26
0
5
0
11
0
0
0
5
6
0
0
0
0
0
0
0
33
0
0
1
7
19
0
1
3
2
0
0
0
22
0
0
1
2
13
0
1
3
2
0
0
0
11
0
0
0
5
6
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
4
0
28
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
67
0
0
1
7
19
0
2
7
26
0
5
0
56
0
0
1
2
13
0
2
7
26
0
5
0
11
0
0
0
5
6
0
0
0
0
0
0
0
33
0
0
1
7
19
0
1
3
2
0
0
0
22
0
0
1
2
13
0
1
3
2
0
0
0
11
0
0
0
5
6
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
4
0
28
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
4
0
0
1
0
6
0
0
0
0
0
0
1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
1
7
19
0
2
7
26
0
5
0
56
0
0
1
2
13
0
2
7
26
0
5
0
11
0
0
0
5
6
0
0
0
0
0
0
0
33
0
0
1
7
19
0
1
3
2
0
0
0
22
0
0
1
2
13
0
1
3
2
0
0
0
11
0
0
0
5
6
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
4
0
28
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
4
0
0
1
0
6
0
0
0
0
0
0
1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
1
7
19
0
2
7
26
0
5
0
56
0
0
1
2
13
0
2
7
26
0
5
0
11
0
0
0
5
6
0
0
0
0
0
0
0
33
0
0
1
7
19
0
1
3
2
0
0
0
22
0
0
1
2
13
0
1
3
2
0
0
0
11
0
0
0
5
6
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
4
0
28
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
4
0
0
1
0
6
0
0
0
0
0
0
1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1881
8
1
3
3
4
1
3
82
1711
61
2
2
1871
3
0
2
2
3
1
3
82
1711
61
2
1
10
5
1
1
1
1
0
0
0
0
0
0
1
186
8
1
3
3
4
1
3
0
138
21
2
2
176
3
0
2
2
3
1
3
0
138
21
2
1
10
5
1
1
1
1
0
0
0
0
0
0
1
437
0
0
0
0
0
0
0
0
397
40
0
0
437
0
0
0
0
0
0
0
0
397
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1257
0
0
0
0
0
0
0
82
1175
0
0
0
1257
0
0
0
0
0
0
0
82
1175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1870
8
1
3
3
4
1
3
107
1675
61
2
2
1860
3
0
2
2
3
1
3
107
1675
61
2
1
10
5
1
1
1
1
0
0
0
0
0
0
1
186
8
1
3
3
4
1
3
0
138
21
2
2
176
3
0
2
2
3
1
3
0
138
21
2
1
10
5
1
1
1
1
0
0
0
0
0
0
1
437
0
0
0
0
0
0
0
0
397
40
0
0
437
0
0
0
0
0
0
0
0
397
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1246
0
0
0
0
0
0
0
107
1139
0
0
0
1246
0
0
0
0
0
0
0
107
1139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1902
8
1
3
3
4
1
3
107
1676
62
34
0
1893
3
0
2
2
3
1
3
107
1676
62
34
0
9
5
1
1
1
1
0
0
0
0
0
0
0
186
8
1
3
3
4
1
3
0
139
22
2
0
177
3
0
2
2
3
1
3
0
139
22
2
0
9
5
1
1
1
1
0
0
0
0
0
0
0
469
0
0
0
0
0
0
0
0
397
40
32
0
469
0
0
0
0
0
0
0
0
397
40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1246
0
0
0
0
0
0
0
107
1139
0
0
0
1246
0
0
0
0
0
0
0
107
1139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1912
8
1
3
3
4
1
3
107
1685
62
35
0
1903
3
0
2
2
3
1
3
107
1685
62
35
0
9
5
1
1
1
1
0
0
0
0
0
0
0
186
8
1
3
3
4
1
3
0
138
22
3
0
177
3
0
2
2
3
1
3
0
138
22
3
0
9
5
1
1
1
1
0
0
0
0
0
0
0
469
0
0
0
0
0
0
0
0
397
40
32
0
469
0
0
0
0
0
0
0
0
397
40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1256
0
0
0
0
0
0
0
107
1149
0
0
0
1256
0
0
0
0
0
0
0
107
1149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1912
8
1
3
3
4
1
3
107
1685
62
35
0
1903
3
0
2
2
3
1
3
107
1685
62
35
0
9
5
1
1
1
1
0
0
0
0
0
0
0
186
8
1
3
3
4
1
3
0
138
22
3
0
177
3
0
2
2
3
1
3
0
138
22
3
0
9
5
1
1
1
1
0
0
0
0
0
0
0
469
0
0
0
0
0
0
0
0
397
40
32
0
469
0
0
0
0
0
0
0
0
397
40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1256
0
0
0
0
0
0
0
107
1149
0
0
0
1256
0
0
0
0
0
0
0
107
1149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
416
163
19
60
20
13
7
1
9
21
35
59
9
232
43
5
34
5
9
5
0
9
21
35
59
7
184
120
14
26
15
4
2
1
0
0
0
0
2
160
69
6
17
2
4
7
1
9
9
30
2
4
110
35
2
9
2
4
5
0
9
9
30
2
3
50
34
4
8
0
0
2
1
0
0
0
0
1
86
33
0
20
6
6
0
0
0
12
5
0
4
39
3
0
11
1
3
0
0
0
12
5
0
4
47
30
0
9
5
3
0
0
0
0
0
0
0
161
58
8
23
12
3
0
0
0
0
0
57
0
79
3
1
14
2
2
0
0
0
0
0
57
0
82
55
7
9
10
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
427
168
20
59
23
13
7
1
9
21
35
62
9
235
42
6
34
5
9
5
0
9
21
35
62
7
192
126
14
25
18
4
2
1
0
0
0
0
2
166
73
7
16
2
4
7
1
9
9
30
4
4
113
35
3
9
2
4
5
0
9
9
30
4
3
53
38
4
7
0
0
2
1
0
0
0
0
1
90
34
0
20
9
6
0
0
0
12
5
0
4
39
3
0
11
1
3
0
0
0
12
5
0
4
51
31
0
9
8
3
0
0
0
0
0
0
0
162
58
8
23
12
3
0
0
0
0
0
58
0
79
2
1
14
2
2
0
0
0
0
0
58
0
83
56
7
9
10
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
427
170
20
61
27
13
7
1
9
21
35
62
1
235
43
6
36
9
9
5
0
9
21
35
62
0
192
127
14
25
18
4
2
1
0
0
0
0
1
167
76
7
18
2
4
7
1
9
9
30
4
0
114
37
3
11
2
4
5
0
9
9
30
4
0
53
39
4
7
0
0
2
1
0
0
0
0
0
90
34
0
20
13
6
0
0
0
12
5
0
0
39
3
0
11
5
3
0
0
0
12
5
0
0
51
31
0
9
8
3
0
0
0
0
0
0
0
162
58
8
23
12
3
0
0
0
0
0
58
0
79
2
1
14
2
2
0
0
0
0
0
58
0
83
56
7
9
10
1
0
0
0
0
0
0
0
8
2
5
0
0
0
0
0
0
0
0
0
1
3
1
2
0
0
0
0
0
0
0
0
0
0
5
1
3
0
0
0
0
0
0
0
0
0
1
427
170
20
61
27
13
7
1
9
21
35
62
1
236
43
6
37
9
9
5
0
9
21
35
62
0
191
127
14
24
18
4
2
1
0
0
0
0
1
168
77
7
18
2
4
7
1
9
9
30
4
0
115
37
3
12
2
4
5
0
9
9
30
4
0
53
40
4
6
0
0
2
1
0
0
0
0
0
90
34
0
20
13
6
0
0
0
12
5
0
0
39
3
0
11
5
3
0
0
0
12
5
0
0
51
31
0
9
8
3
0
0
0
0
0
0
0
162
58
8
23
12
3
0
0
0
0
0
58
0
79
2
1
14
2
2
0
0
0
0
0
58
0
83
56
7
9
10
1
0
0
0
0
0
0
0
7
1
5
0
0
0
0
0
0
0
0
0
1
3
1
2
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
1
424
162
20
61
24
13
7
1
9
21
35
70
1
245
45
6
37
8
9
5
0
9
21
35
70
0
179
117
14
24
16
4
2
1
0
0
0
0
1
165
74
7
18
2
4
7
1
9
9
30
4
0
116
38
3
12
2
4
5
0
9
9
30
4
0
49
36
4
6
0
0
2
1
0
0
0
0
0
87
34
0
20
10
6
0
0
0
12
5
0
0
38
3
0
11
4
3
0
0
0
12
5
0
0
49
31
0
9
6
3
0
0
0
0
0
0
0
164
52
8
23
12
3
0
0
0
0
0
66
0
87
2
1
14
2
2
0
0
0
0
0
66
0
77
50
7
9
10
1
0
0
0
0
0
0
0
8
2
5
0
0
0
0
0
0
0
0
0
1
4
2
2
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
1
565
56
4
7
26
23
81
54
18
51
6
233
6
514
29
1
1
21
20
80
54
17
51
6
233
1
51
27
3
6
5
3
1
0
1
0
0
0
5
123
29
4
1
26
23
7
6
8
3
6
6
4
89
11
1
1
21
20
6
6
7
3
6
6
1
34
18
3
0
5
3
1
0
1
0
0
0
3
46
17
0
6
0
0
13
0
10
0
0
0
0
34
11
0
0
0
0
13
0
10
0
0
0
0
12
6
0
6
0
0
0
0
0
0
0
0
0
394
10
0
0
0
0
61
48
0
48
0
227
0
391
7
0
0
0
0
61
48
0
48
0
227
0
3
3
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
680
58
6
7
28
24
111
54
18
51
6
312
5
623
30
1
1
21
20
109
54
17
51
6
312
1
57
28
5
6
7
4
2
0
1
0
0
0
4
134
31
6
1
28
24
9
6
8
3
6
8
4
92
11
1
1
21
20
7
6
7
3
6
8
1
42
20
5
0
7
4
2
0
1
0
0
0
3
47
17
0
6
0
0
14
0
10
0
0
0
0
35
11
0
0
0
0
14
0
10
0
0
0
0
12
6
0
6
0
0
0
0
0
0
0
0
0
498
10
0
0
0
0
88
48
0
48
0
304
0
496
8
0
0
0
0
88
48
0
48
0
304
0
2
2
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
760
57
6
7
27
23
111
54
18
51
6
397
3
709
30
1
1
21
21
109
54
18
51
6
397
0
51
27
5
6
6
2
2
0
0
0
0
0
3
128
30
6
1
27
23
9
6
8
3
6
8
1
93
11
1
1
21
21
7
6
8
3
6
8
0
35
19
5
0
6
2
2
0
0
0
0
0
1
47
17
0
6
0
0
14
0
10
0
0
0
0
35
11
0
0
0
0
14
0
10
0
0
0
0
12
6
0
6
0
0
0
0
0
0
0
0
0
583
10
0
0
0
0
88
48
0
48
0
389
0
581
8
0
0
0
0
88
48
0
48
0
389
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
800
57
6
7
27
23
111
54
18
51
6
438
2
750
30
1
1
21
21
109
54
18
51
6
438
0
50
27
5
6
6
2
2
0
0
0
0
0
2
129
30
6
1
27
23
9
6
8
3
6
9
1
94
11
1
1
21
21
7
6
8
3
6
9
0
35
19
5
0
6
2
2
0
0
0
0
0
1
47
17
0
6
0
0
14
0
10
0
0
0
0
35
11
0
0
0
0
14
0
10
0
0
0
0
12
6
0
6
0
0
0
0
0
0
0
0
0
623
10
0
0
0
0
88
48
0
48
0
429
0
621
8
0
0
0
0
88
48
0
48
0
429
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
829
57
6
7
27
23
83
54
18
51
6
495
2
779
30
1
1
21
21
81
54
18
51
6
495
0
50
27
5
6
6
2
2
0
0
0
0
0
2
129
30
6
1
27
23
9
6
8
3
6
9
1
94
11
1
1
21
21
7
6
8
3
6
9
0
35
19
5
0
6
2
2
0
0
0
0
0
1
47
17
0
6
0
0
14
0
10
0
0
0
0
35
11
0
0
0
0
14
0
10
0
0
0
0
12
6
0
6
0
0
0
0
0
0
0
0
0
652
10
0
0
0
0
60
48
0
48
0
486
0
650
8
0
0
0
0
60
48
0
48
0
486
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
268
2
1
0
17
183
56
1
5
2
0
1
0
229
1
1
0
17
154
48
1
4
2
0
1
0
39
1
0
0
0
29
8
0
1
0
0
0
0
64
2
1
0
9
27
16
1
5
2
0
1
0
56
1
1
0
9
25
12
1
4
2
0
1
0
8
1
0
0
0
2
4
0
1
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
196
0
0
0
0
156
40
0
0
0
0
0
0
165
0
0
0
0
129
36
0
0
0
0
0
0
31
0
0
0
0
27
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
282
3
1
0
17
183
60
1
7
2
0
8
0
240
1
1
0
17
154
50
1
6
2
0
8
0
42
2
0
0
0
29
10
0
1
0
0
0
0
70
3
1
0
9
27
19
1
7
2
0
1
0
60
1
1
0
9
25
14
1
6
2
0
1
0
10
2
0
0
0
2
5
0
1
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
7
0
15
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
0
0
0
0
156
41
0
0
0
0
0
0
165
0
0
0
0
129
36
0
0
0
0
0
0
32
0
0
0
0
27
5
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
281
2
1
0
17
183
60
1
7
2
0
8
0
241
1
1
0
17
154
50
1
7
2
0
8
0
40
1
0
0
0
29
10
0
0
0
0
0
0
69
2
1
0
9
27
19
1
7
2
0
1
0
61
1
1
0
9
25
14
1
7
2
0
1
0
8
1
0
0
0
2
5
0
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
7
0
15
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
0
0
0
0
156
41
0
0
0
0
0
0
165
0
0
0
0
129
36
0
0
0
0
0
0
32
0
0
0
0
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
283
2
1
0
18
184
60
1
7
2
0
8
0
241
1
1
0
18
154
50
1
6
2
0
8
0
42
1
0
0
0
30
10
0
1
0
0
0
0
71
2
1
0
10
28
19
1
7
2
0
1
0
61
1
1
0
10
25
14
1
6
2
0
1
0
10
1
0
0
0
3
5
0
1
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
7
0
15
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
0
0
0
0
156
41
0
0
0
0
0
0
165
0
0
0
0
129
36
0
0
0
0
0
0
32
0
0
0
0
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
283
2
1
0
18
184
60
1
7
2
0
8
0
241
1
1
0
18
154
50
1
6
2
0
8
0
42
1
0
0
0
30
10
0
1
0
0
0
0
71
2
1
0
10
28
19
1
7
2
0
1
0
61
1
1
0
10
25
14
1
6
2
0
1
0
10
1
0
0
0
3
5
0
1
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
7
0
15
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
0
0
0
0
156
41
0
0
0
0
0
0
165
0
0
0
0
129
36
0
0
0
0
0
0
32
0
0
0
0
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1011
4
13
21
39
109
655
57
25
55
15
18
0
941
2
6
7
28
79
649
57
25
55
15
18
0
70
2
7
14
11
30
6
0
0
0
0
0
0
224
4
13
11
38
94
27
16
9
5
5
2
0
174
2
6
6
27
74
22
16
9
5
5
2
0
50
2
7
5
11
20
5
0
0
0
0
0
0
110
0
0
0
1
3
37
22
15
6
10
16
0
110
0
0
0
1
3
37
22
15
6
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
669
0
0
10
0
8
589
18
0
44
0
0
0
653
0
0
1
0
2
588
18
0
44
0
0
0
16
0
0
9
0
6
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1022
4
13
21
43
114
657
57
25
55
15
18
0
950
2
6
7
30
83
652
57
25
55
15
18
0
72
2
7
14
13
31
5
0
0
0
0
0
0
232
4
13
11
40
99
28
16
9
5
5
2
0
180
2
6
6
27
78
24
16
9
5
5
2
0
52
2
7
5
13
21
4
0
0
0
0
0
0
113
0
0
0
3
3
38
22
15
6
10
16
0
113
0
0
0
3
3
38
22
15
6
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
669
0
0
10
0
8
589
18
0
44
0
0
0
653
0
0
1
0
2
588
18
0
44
0
0
0
16
0
0
9
0
6
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1020
4
13
21
42
113
657
57
25
55
15
18
0
948
2
6
7
29
82
652
57
25
55
15
18
0
72
2
7
14
13
31
5
0
0
0
0
0
0
230
4
13
11
39
98
28
16
9
5
5
2
0
178
2
6
6
26
77
24
16
9
5
5
2
0
52
2
7
5
13
21
4
0
0
0
0
0
0
113
0
0
0
3
3
38
22
15
6
10
16
0
113
0
0
0
3
3
38
22
15
6
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
669
0
0
10
0
8
589
18
0
44
0
0
0
653
0
0
1
0
2
588
18
0
44
0
0
0
16
0
0
9
0
6
1
0
0
0
0
0
0
8
0
0
0
0
4
2
1
1
0
0
0
0
4
0
0
0
0
0
2
1
1
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
1023
4
13
21
42
116
657
57
25
55
15
18
0
949
2
6
7
29
83
652
57
25
55
15
18
0
74
2
7
14
13
33
5
0
0
0
0
0
0
233
4
13
11
39
101
28
16
9
5
5
2
0
179
2
6
6
26
78
24
16
9
5
5
2
0
54
2
7
5
13
23
4
0
0
0
0
0
0
113
0
0
0
3
3
38
22
15
6
10
16
0
113
0
0
0
3
3
38
22
15
6
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
669
0
0
10
0
8
589
18
0
44
0
0
0
653
0
0
1
0
2
588
18
0
44
0
0
0
16
0
0
9
0
6
1
0
0
0
0
0
0
8
0
0
0
0
4
2
1
1
0
0
0
0
4
0
0
0
0
0
2
1
1
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
1023
4
12
21
42
116
657
57
25
55
15
19
0
949
2
5
7
29
83
652
57
25
55
15
19
0
74
2
7
14
13
33
5
0
0
0
0
0
0
233
4
12
11
39
101
28
16
9
5
5
3
0
179
2
5
6
26
78
24
16
9
5
5
3
0
54
2
7
5
13
23
4
0
0
0
0
0
0
113
0
0
0
3
3
38
22
15
6
10
16
0
113
0
0
0
3
3
38
22
15
6
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
669
0
0
10
0
8
589
18
0
44
0
0
0
653
0
0
1
0
2
588
18
0
44
0
0
0
16
0
0
9
0
6
1
0
0
0
0
0
0
8
0
0
0
0
4
2
1
1
0
0
0
0
4
0
0
0
0
0
2
1
1
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
589
0
1
1
19
157
120
123
22
85
11
4
46
543
0
0
1
11
127
113
123
22
85
11
4
46
46
0
1
0
8
30
7
0
0
0
0
0
0
217
0
1
1
19
144
18
9
7
7
6
4
1
181
0
0
1
11
119
16
9
7
7
6
4
1
36
0
1
0
8
25
2
0
0
0
0
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
326
0
0
0
0
13
99
91
0
78
0
0
45
316
0
0
0
0
8
94
91
0
78
0
0
45
10
0
0
0
0
5
5
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
689
0
1
1
21
159
122
214
22
85
11
4
49
641
0
0
1
12
128
115
214
22
85
11
4
49
48
0
1
0
9
31
7
0
0
0
0
0
0
223
0
1
1
21
146
20
9
7
7
6
4
1
185
0
0
1
12
120
18
9
7
7
6
4
1
38
0
1
0
9
26
2
0
0
0
0
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
0
0
0
0
13
99
182
0
78
0
0
48
410
0
0
0
0
8
94
182
0
78
0
0
48
10
0
0
0
0
5
5
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
687
0
1
1
21
159
120
214
22
86
59
4
0
640
0
0
1
12
129
113
214
22
86
59
4
0
47
0
1
0
9
30
7
0
0
0
0
0
0
221
0
1
1
21
146
18
9
7
8
6
4
0
184
0
0
1
12
121
16
9
7
8
6
4
0
37
0
1
0
9
25
2
0
0
0
0
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
0
0
0
0
13
99
182
0
78
48
0
0
410
0
0
0
0
8
94
182
0
78
48
0
0
10
0
0
0
0
5
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
687
0
1
1
21
159
120
214
22
86
59
4
0
640
0
0
1
12
129
113
214
22
86
59
4
0
47
0
1
0
9
30
7
0
0
0
0
0
0
221
0
1
1
21
146
18
9
7
8
6
4
0
184
0
0
1
12
121
16
9
7
8
6
4
0
37
0
1
0
9
25
2
0
0
0
0
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
0
0
0
0
13
99
182
0
78
48
0
0
410
0
0
0
0
8
94
182
0
78
48
0
0
10
0
0
0
0
5
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
688
0
1
1
21
160
120
214
22
86
59
4
0
641
0
0
1
12
130
113
214
22
86
59
4
0
47
0
1
0
9
30
7
0
0
0
0
0
0
222
0
1
1
21
147
18
9
7
8
6
4
0
185
0
0
1
12
122
16
9
7
8
6
4
0
37
0
1
0
9
25
2
0
0
0
0
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
44
0
0
0
0
0
3
21
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
0
0
0
0
13
99
182
0
78
48
0
0
410
0
0
0
0
8
94
182
0
78
48
0
0
10
0
0
0
0
5
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
556
0
0
0
9
83
100
341
11
6
3
3
0
538
0
0
0
5
74
95
341
11
6
3
3
0
18
0
0
0
4
9
5
0
0
0
0
0
0
162
0
0
0
9
75
53
7
6
6
3
3
0
147
0
0
0
5
69
48
7
6
6
3
3
0
15
0
0
0
4
6
5
0
0
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
336
0
0
0
0
8
0
328
0
0
0
0
0
333
0
0
0
0
5
0
328
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
561
0
0
0
9
84
102
343
11
6
3
3
0
543
0
0
0
5
75
97
343
11
6
3
3
0
18
0
0
0
4
9
5
0
0
0
0
0
0
166
0
0
0
9
76
55
8
6
6
3
3
0
151
0
0
0
5
70
50
8
6
6
3
3
0
15
0
0
0
4
6
5
0
0
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
337
0
0
0
0
8
0
329
0
0
0
0
0
334
0
0
0
0
5
0
329
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
617
0
0
0
10
83
100
343
11
6
3
61
0
600
0
0
0
5
75
96
343
11
6
3
61
0
17
0
0
0
5
8
4
0
0
0
0
0
0
164
0
0
0
10
75
53
8
6
6
3
3
0
150
0
0
0
5
70
49
8
6
6
3
3
0
14
0
0
0
5
5
4
0
0
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
395
0
0
0
0
8
0
329
0
0
0
58
0
392
0
0
0
0
5
0
329
0
0
0
58
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
640
0
0
0
10
83
100
317
11
6
3
110
0
623
0
0
0
5
75
96
317
11
6
3
110
0
17
0
0
0
5
8
4
0
0
0
0
0
0
164
0
0
0
10
75
53
8
6
6
3
3
0
150
0
0
0
5
70
49
8
6
6
3
3
0
14
0
0
0
5
5
4
0
0
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
418
0
0
0
0
8
0
303
0
0
0
107
0
415
0
0
0
0
5
0
303
0
0
0
107
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
639
0
0
0
10
83
99
317
11
6
3
110
0
622
0
0
0
5
75
95
317
11
6
3
110
0
17
0
0
0
5
8
4
0
0
0
0
0
0
163
0
0
0
10
75
52
8
6
6
3
3
0
149
0
0
0
5
70
48
8
6
6
3
3
0
14
0
0
0
5
5
4
0
0
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
58
0
0
0
0
0
47
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
418
0
0
0
0
8
0
303
0
0
0
107
0
415
0
0
0
0
5
0
303
0
0
0
107
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4511
0
0
0
2
0
0
3599
54
530
214
112
0
4509
0
0
0
0
0
0
3599
54
530
214
112
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4505
0
0
0
0
0
0
3598
54
530
211
112
0
4505
0
0
0
0
0
0
3598
54
530
211
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4575
0
0
0
2
0
0
3663
54
530
214
112
0
4573
0
0
0
0
0
0
3663
54
530
214
112
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4569
0
0
0
0
0
0
3662
54
530
211
112
0
4569
0
0
0
0
0
0
3662
54
530
211
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4515
0
0
0
3
0
0
3663
54
530
211
54
0
4513
0
0
0
1
0
0
3663
54
530
211
54
0
2
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4511
0
0
0
0
0
0
3662
54
530
211
54
0
4511
0
0
0
0
0
0
3662
54
530
211
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4449
0
0
0
3
0
0
3597
54
530
211
54
0
4447
0
0
0
1
0
0
3597
54
530
211
54
0
2
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4445
0
0
0
0
0
0
3596
54
530
211
54
0
4445
0
0
0
0
0
0
3596
54
530
211
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4522
0
0
0
3
0
0
3597
54
530
211
127
0
4520
0
0
0
1
0
0
3597
54
530
211
127
0
2
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4518
0
0
0
0
0
0
3596
54
530
211
127
0
4518
0
0
0
0
0
0
3596
54
530
211
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1097
24
14
23
50
147
96
458
181
83
15
4
2
1015
12
9
7
40
120
85
458
181
83
15
4
1
82
12
5
16
10
27
11
0
0
0
0
0
1
318
23
13
12
40
71
41
36
51
18
7
4
2
265
12
9
4
30
56
37
36
51
18
7
4
1
53
11
4
8
10
15
4
0
0
0
0
0
1
132
0
0
3
0
3
28
11
62
17
8
0
0
129
0
0
2
0
3
26
11
62
17
8
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
634
0
0
4
10
73
23
411
65
48
0
0
0
616
0
0
0
10
61
21
411
65
48
0
0
0
18
0
0
4
0
12
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1169
25
14
23
52
154
102
513
182
83
15
4
2
1083
13
9
7
40
124
92
513
182
83
15
4
1
86
12
5
16
12
30
10
0
0
0
0
0
1
326
24
13
12
42
78
40
35
51
18
7
4
2
269
13
9
4
30
60
37
35
51
18
7
4
1
57
11
4
8
12
18
3
0
0
0
0
0
1
144
0
0
3
0
3
35
16
62
17
8
0
0
141
0
0
2
0
3
33
16
62
17
8
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
685
0
0
4
10
73
23
462
65
48
0
0
0
667
0
0
0
10
61
21
462
65
48
0
0
0
18
0
0
4
0
12
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1108
25
15
23
53
154
93
459
182
83
15
6
0
1022
13
9
7
41
124
83
459
182
83
15
6
0
86
12
6
16
12
30
10
0
0
0
0
0
0
328
24
14
12
43
78
40
35
51
18
7
6
0
271
13
9
4
31
60
37
35
51
18
7
6
0
57
11
5
8
12
18
3
0
0
0
0
0
0
136
0
0
3
0
3
27
16
62
17
8
0
0
133
0
0
2
0
3
25
16
62
17
8
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
631
0
0
4
10
73
23
408
65
48
0
0
0
613
0
0
0
10
61
21
408
65
48
0
0
0
18
0
0
4
0
12
2
0
0
0
0
0
0
13
1
1
4
0
0
3
0
4
0
0
0
0
5
0
0
1
0
0
0
0
4
0
0
0
0
8
1
1
3
0
0
3
0
0
0
0
0
0
1122
24
14
23
53
153
94
460
181
83
15
22
0
1037
12
8
8
41
124
83
460
181
83
15
22
0
85
12
6
15
12
29
11
0
0
0
0
0
0
343
23
13
12
43
77
41
36
51
18
7
22
0
287
12
8
5
31
60
37
36
51
18
7
22
0
56
11
5
7
12
17
4
0
0
0
0
0
0
136
0
0
3
0
3
27
16
62
17
8
0
0
133
0
0
2
0
3
25
16
62
17
8
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
630
0
0
4
10
73
23
408
64
48
0
0
0
612
0
0
0
10
61
21
408
64
48
0
0
0
18
0
0
4
0
12
2
0
0
0
0
0
0
13
1
1
4
0
0
3
0
4
0
0
0
0
5
0
0
1
0
0
0
0
4
0
0
0
0
8
1
1
3
0
0
3
0
0
0
0
0
0
1172
24
14
23
53
154
89
461
182
83
15
74
0
1089
12
8
9
41
123
81
461
182
83
15
74
0
83
12
6
14
12
31
8
0
0
0
0
0
0
357
23
13
12
43
78
39
37
52
18
7
35
0
301
12
8
6
31
59
36
37
52
18
7
35
0
56
11
5
6
12
19
3
0
0
0
0
0
0
136
0
0
3
0
3
27
16
62
17
8
0
0
133
0
0
2
0
3
25
16
62
17
8
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
666
0
0
4
10
73
20
408
64
48
0
39
0
650
0
0
0
10
61
20
408
64
48
0
39
0
16
0
0
4
0
12
0
0
0
0
0
0
0
13
1
1
4
0
0
3
0
4
0
0
0
0
5
0
0
1
0
0
0
0
4
0
0
0
0
8
1
1
3
0
0
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
86
8
0
0
1
52
0
0
18
7
0
0
0
77
0
0
0
0
52
0
0
18
7
0
0
0
9
8
0
0
1
0
0
0
0
0
0
0
0
8
5
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
86
8
0
0
1
52
0
0
18
7
0
0
0
77
0
0
0
0
52
0
0
18
7
0
0
0
9
8
0
0
1
0
0
0
0
0
0
0
0
8
5
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
89
7
0
0
5
52
0
0
18
7
0
0
0
81
0
0
0
4
52
0
0
18
7
0
0
0
8
7
0
0
1
0
0
0
0
0
0
0
0
7
4
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
1
0
0
0
0
0
0
0
5
0
0
0
4
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
89
7
0
0
5
52
0
0
18
7
0
0
0
81
0
0
0
4
52
0
0
18
7
0
0
0
8
7
0
0
1
0
0
0
0
0
0
0
0
7
4
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
1
0
0
0
0
0
0
0
5
0
0
0
4
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
89
7
0
0
5
52
0
0
18
7
0
0
0
81
0
0
0
4
52
0
0
18
7
0
0
0
8
7
0
0
1
0
0
0
0
0
0
0
0
7
4
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
67
0
0
0
0
49
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
1
0
0
0
0
0
0
0
5
0
0
0
4
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
493
54
11
12
8
121
46
10
26
2
80
110
13
437
38
10
9
7
101
41
10
26
2
80
110
3
56
16
1
3
1
20
5
0
0
0
0
0
10
238
50
6
6
8
78
41
6
18
2
20
3
0
197
34
5
6
7
60
36
6
18
2
20
3
0
41
16
1
0
1
18
5
0
0
0
0
0
0
51
4
5
6
0
0
5
4
8
0
6
0
13
38
4
5
3
0
0
5
4
8
0
6
0
3
13
0
0
3
0
0
0
0
0
0
0
0
10
199
0
0
0
0
38
0
0
0
0
54
107
0
198
0
0
0
0
37
0
0
0
0
54
107
0
1
0
0
0
0
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
542
55
11
13
9
127
49
10
26
2
81
148
11
486
38
10
9
8
107
44
10
26
2
81
148
3
56
17
1
4
1
20
5
0
0
0
0
0
8
249
51
6
7
9
81
44
6
18
2
21
4
0
206
34
5
6
8
63
39
6
18
2
21
4
0
43
17
1
1
1
18
5
0
0
0
0
0
0
49
4
5
6
0
0
5
4
8
0
6
0
11
38
4
5
3
0
0
5
4
8
0
6
0
3
11
0
0
3
0
0
0
0
0
0
0
0
8
239
0
0
0
0
41
0
0
0
0
54
144
0
238
0
0
0
0
40
0
0
0
0
54
144
0
1
0
0
0
0
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
546
56
27
13
9
127
47
10
26
2
81
148
0
485
39
13
9
8
107
42
10
26
2
81
148
0
61
17
14
4
1
20
5
0
0
0
0
0
0
248
52
6
7
9
81
42
6
18
2
21
4
0
205
35
5
6
8
63
37
6
18
2
21
4
0
43
17
1
1
1
18
5
0
0
0
0
0
0
54
4
21
6
0
0
5
4
8
0
6
0
0
38
4
8
3
0
0
5
4
8
0
6
0
0
16
0
13
3
0
0
0
0
0
0
0
0
0
239
0
0
0
0
41
0
0
0
0
54
144
0
238
0
0
0
0
40
0
0
0
0
54
144
0
1
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
548
56
27
13
9
128
47
10
26
2
81
149
0
488
39
14
9
8
108
42
10
26
2
81
149
0
60
17
13
4
1
20
5
0
0
0
0
0
0
250
52
6
7
9
82
42
6
18
2
21
5
0
207
35
5
6
8
64
37
6
18
2
21
5
0
43
17
1
1
1
18
5
0
0
0
0
0
0
54
4
21
6
0
0
5
4
8
0
6
0
0
39
4
9
3
0
0
5
4
8
0
6
0
0
15
0
12
3
0
0
0
0
0
0
0
0
0
239
0
0
0
0
41
0
0
0
0
54
144
0
238
0
0
0
0
40
0
0
0
0
54
144
0
1
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
546
55
27
13
9
127
47
10
26
2
81
149
0
486
38
14
9
8
107
42
10
26
2
81
149
0
60
17
13
4
1
20
5
0
0
0
0
0
0
249
51
6
7
9
82
42
6
18
2
21
5
0
206
34
5
6
8
64
37
6
18
2
21
5
0
43
17
1
1
1
18
5
0
0
0
0
0
0
54
4
21
6
0
0
5
4
8
0
6
0
0
39
4
9
3
0
0
5
4
8
0
6
0
0
15
0
12
3
0
0
0
0
0
0
0
0
0
239
0
0
0
0
41
0
0
0
0
54
144
0
238
0
0
0
0
40
0
0
0
0
54
144
0
1
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1349
38
338
83
76
248
142
22
50
0
88
252
12
1133
21
230
40
42
246
139
22
50
0
88
252
3
216
17
108
43
34
2
3
0
0
0
0
0
9
84
12
38
14
13
2
1
2
2
0
0
0
0
45
8
21
8
1
2
1
2
2
0
0
0
0
39
4
17
6
12
0
0
0
0
0
0
0
0
358
10
248
56
26
6
0
0
0
0
0
0
12
219
1
171
28
11
5
0
0
0
0
0
0
3
139
9
77
28
15
1
0
0
0
0
0
0
9
900
16
52
10
37
239
141
20
45
0
88
252
0
865
12
38
4
30
238
138
20
45
0
88
252
0
35
4
14
6
7
1
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1509
54
362
88
75
363
143
22
50
0
88
252
12
1279
31
246
44
44
360
139
22
50
0
88
252
3
230
23
116
44
31
3
4
0
0
0
0
0
9
89
15
38
16
13
2
1
2
2
0
0
0
0
47
8
21
10
1
2
1
2
2
0
0
0
0
42
7
17
6
12
0
0
0
0
0
0
0
0
363
10
252
58
25
6
0
0
0
0
0
0
12
227
1
176
29
13
5
0
0
0
0
0
0
3
136
9
76
29
12
1
0
0
0
0
0
0
9
1050
29
72
11
37
354
142
20
45
0
88
252
0
1001
22
49
5
30
352
138
20
45
0
88
252
0
49
7
23
6
7
2
4
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1498
41
365
95
75
363
143
22
50
0
92
252
0
1278
21
245
49
44
360
143
22
50
0
92
252
0
220
20
120
46
31
3
0
0
0
0
0
0
0
101
27
38
16
13
2
1
2
2
0
0
0
0
59
20
21
10
1
2
1
2
2
0
0
0
0
42
7
17
6
12
0
0
0
0
0
0
0
0
365
10
259
65
25
6
0
0
0
0
0
0
0
232
1
179
34
13
5
0
0
0
0
0
0
0
133
9
80
31
12
1
0
0
0
0
0
0
0
1025
4
68
11
37
354
142
20
45
0
92
252
0
983
0
45
5
30
352
142
20
45
0
92
252
0
42
4
23
6
7
2
0
0
0
0
0
0
0
7
0
0
3
0
1
0
0
3
0
0
0
0
4
0
0
0
0
1
0
0
3
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
1665
41
365
95
69
363
145
22
50
0
92
423
0
1458
21
251
50
44
360
145
22
50
0
92
423
0
207
20
114
45
25
3
0
0
0
0
0
0
0
90
27
38
11
7
2
1
2
2
0
0
0
0
56
20
21
7
1
2
1
2
2
0
0
0
0
34
7
17
4
6
0
0
0
0
0
0
0
0
337
10
226
70
25
6
0
0
0
0
0
0
0
211
1
154
38
13
5
0
0
0
0
0
0
0
126
9
72
32
12
1
0
0
0
0
0
0
0
1231
4
101
11
37
354
144
20
45
0
92
423
0
1187
0
76
5
30
352
144
20
45
0
92
423
0
44
4
25
6
7
2
0
0
0
0
0
0
0
7
0
0
3
0
1
0
0
3
0
0
0
0
4
0
0
0
0
1
0
0
3
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
1837
41
365
95
69
363
145
22
50
0
92
595
0
1637
21
257
51
44
360
145
22
50
0
92
595
0
200
20
108
44
25
3
0
0
0
0
0
0
0
85
27
33
11
7
2
1
2
2
0
0
0
0
56
20
21
7
1
2
1
2
2
0
0
0
0
29
7
12
4
6
0
0
0
0
0
0
0
0
337
10
226
70
25
6
0
0
0
0
0
0
0
213
1
155
39
13
5
0
0
0
0
0
0
0
124
9
71
31
12
1
0
0
0
0
0
0
0
1408
4
106
11
37
354
144
20
45
0
92
595
0
1364
0
81
5
30
352
144
20
45
0
92
595
0
44
4
25
6
7
2
0
0
0
0
0
0
0
7
0
0
3
0
1
0
0
3
0
0
0
0
4
0
0
0
0
1
0
0
3
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
349
29
13
19
4
12
57
0
6
0
209
0
0
296
7
3
6
0
10
56
0
5
0
209
0
0
53
22
10
13
4
2
1
0
1
0
0
0
0
10
4
0
3
0
0
0
0
3
0
0
0
0
3
1
0
0
0
0
0
0
2
0
0
0
0
7
3
0
3
0
0
0
0
1
0
0
0
0
14
7
0
7
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
0
0
0
0
10
7
0
3
0
0
0
0
0
0
0
0
0
298
13
13
8
0
8
47
0
0
0
209
0
0
270
3
3
1
0
8
46
0
0
0
209
0
0
28
10
10
7
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
370
31
13
18
4
12
77
0
6
0
209
0
0
314
7
3
5
0
10
75
0
5
0
209
0
0
56
24
10
13
4
2
2
0
1
0
0
0
0
12
6
0
3
0
0
0
0
3
0
0
0
0
3
1
0
0
0
0
0
0
2
0
0
0
0
9
5
0
3
0
0
0
0
1
0
0
0
0
14
7
0
7
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
0
0
0
0
10
7
0
3
0
0
0
0
0
0
0
0
0
318
13
13
8
0
8
67
0
0
0
209
0
0
289
3
3
1
0
8
65
0
0
0
209
0
0
29
10
10
7
0
0
2
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
369
30
13
18
4
12
77
0
6
0
209
0
0
313
6
3
5
0
10
75
0
5
0
209
0
0
56
24
10
13
4
2
2
0
1
0
0
0
0
11
5
0
3
0
0
0
0
3
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
9
5
0
3
0
0
0
0
1
0
0
0
0
14
7
0
7
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
0
0
0
0
10
7
0
3
0
0
0
0
0
0
0
0
0
318
13
13
8
0
8
67
0
0
0
209
0
0
289
3
3
1
0
8
65
0
0
0
209
0
0
29
10
10
7
0
0
2
0
0
0
0
0
0
26
5
0
0
4
4
10
0
3
0
0
0
0
18
3
0
0
0
2
10
0
3
0
0
0
0
8
2
0
0
4
2
0
0
0
0
0
0
0
414
30
13
18
0
12
77
0
6
0
209
49
0
363
7
3
5
0
10
75
0
5
0
209
49
0
51
23
10
13
0
2
2
0
1
0
0
0
0
12
6
0
3
0
0
0
0
3
0
0
0
0
3
1
0
0
0
0
0
0
2
0
0
0
0
9
5
0
3
0
0
0
0
1
0
0
0
0
14
7
0
7
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
0
0
0
0
10
7
0
3
0
0
0
0
0
0
0
0
0
367
13
13
8
0
8
67
0
0
0
209
49
0
338
3
3
1
0
8
65
0
0
0
209
49
0
29
10
10
7
0
0
2
0
0
0
0
0
0
21
4
0
0
0
4
10
0
3
0
0
0
0
18
3
0
0
0
2
10
0
3
0
0
0
0
3
1
0
0
0
2
0
0
0
0
0
0
0
458
30
13
18
0
12
77
0
6
0
209
93
0
407
7
3
5
0
10
75
0
5
0
209
93
0
51
23
10
13
0
2
2
0
1
0
0
0
0
12
6
0
3
0
0
0
0
3
0
0
0
0
3
1
0
0
0
0
0
0
2
0
0
0
0
9
5
0
3
0
0
0
0
1
0
0
0
0
14
7
0
7
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
0
0
0
0
10
7
0
3
0
0
0
0
0
0
0
0
0
411
13
13
8
0
8
67
0
0
0
209
93
0
382
3
3
1
0
8
65
0
0
0
209
93
0
29
10
10
7
0
0
2
0
0
0
0
0
0
21
4
0
0
0
4
10
0
3
0
0
0
0
18
3
0
0
0
2
10
0
3
0
0
0
0
3
1
0
0
0
2
0
0
0
0
0
0
0
124
9
4
4
0
14
10
0
5
38
1
38
1
112
6
2
2
0
12
7
0
5
38
1
38
1
12
3
2
2
0
2
3
0
0
0
0
0
0
47
9
0
4
0
14
10
0
5
3
1
0
1
37
6
0
2
0
12
7
0
5
3
1
0
1
10
3
0
2
0
2
3
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
35
0
38
0
73
0
0
0
0
0
0
0
0
35
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
128
10
4
4
0
17
10
0
5
38
1
38
1
116
7
2
2
0
15
7
0
5
38
1
38
1
12
3
2
2
0
2
3
0
0
0
0
0
0
51
10
0
4
0
17
10
0
5
3
1
0
1
41
7
0
2
0
15
7
0
5
3
1
0
1
10
3
0
2
0
2
3
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
35
0
38
0
73
0
0
0
0
0
0
0
0
35
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
129
10
4
4
0
17
11
0
6
38
1
38
0
117
7
2
2
0
15
8
0
6
38
1
38
0
12
3
2
2
0
2
3
0
0
0
0
0
0
52
10
0
4
0
17
11
0
6
3
1
0
0
42
7
0
2
0
15
8
0
6
3
1
0
0
10
3
0
2
0
2
3
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
35
0
38
0
73
0
0
0
0
0
0
0
0
35
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
10
4
4
0
17
11
0
5
38
2
38
0
117
7
2
2
0
15
8
0
5
38
2
38
0
12
3
2
2
0
2
3
0
0
0
0
0
0
52
10
0
4
0
17
11
0
5
3
2
0
0
42
7
0
2
0
15
8
0
5
3
2
0
0
10
3
0
2
0
2
3
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
35
0
38
0
73
0
0
0
0
0
0
0
0
35
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
10
20
4
0
17
11
0
5
38
2
38
0
134
8
18
2
0
15
8
0
5
38
2
38
0
11
2
2
2
0
2
3
0
0
0
0
0
0
52
10
0
4
0
17
11
0
5
3
2
0
0
43
8
0
2
0
15
8
0
5
3
2
0
0
9
2
0
2
0
2
3
0
0
0
0
0
0
9
0
9
0
0
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
35
0
38
0
73
0
0
0
0
0
0
0
0
35
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
11
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
0
2
0
36
81
20
15
7
5
3
3
2
153
0
2
0
30
69
17
15
7
5
3
3
2
21
0
0
0
6
12
3
0
0
0
0
0
0
144
0
2
0
36
81
4
6
2
5
3
3
2
126
0
2
0
30
69
4
6
2
5
3
3
2
18
0
0
0
6
12
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
187
0
2
1
37
91
20
16
7
5
3
3
2
163
0
2
0
31
77
17
16
7
5
3
3
2
24
0
0
1
6
14
3
0
0
0
0
0
0
156
0
2
0
37
91
4
7
2
5
3
3
2
136
0
2
0
31
77
4
7
2
5
3
3
2
20
0
0
0
6
14
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
187
0
2
1
37
90
23
16
7
5
3
3
0
163
0
2
0
31
76
20
16
7
5
3
3
0
24
0
0
1
6
14
3
0
0
0
0
0
0
156
0
2
0
37
90
7
7
2
5
3
3
0
136
0
2
0
31
76
7
7
2
5
3
3
0
20
0
0
0
6
14
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
191
0
4
1
37
91
23
16
7
5
3
4
0
166
0
3
0
31
77
20
16
7
5
3
4
0
25
0
1
1
6
14
3
0
0
0
0
0
0
160
0
4
0
37
91
7
7
2
5
3
4
0
139
0
3
0
31
77
7
7
2
5
3
4
0
21
0
1
0
6
14
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
191
0
4
1
37
90
23
16
7
5
3
5
0
166
0
3
0
31
76
20
16
7
5
3
5
0
25
0
1
1
6
14
3
0
0
0
0
0
0
160
0
4
0
37
90
7
7
2
5
3
5
0
139
0
3
0
31
76
7
7
2
5
3
5
0
21
0
1
0
6
14
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
14
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
324
14
9
43
9
49
3
12
69
24
48
7
37
277
10
5
22
8
35
3
12
67
24
48
7
36
47
4
4
21
1
14
0
0
2
0
0
0
1
161
14
9
11
5
49
3
4
24
24
9
7
2
131
10
5
6
5
35
3
4
22
24
9
7
1
30
4
4
5
0
14
0
0
2
0
0
0
1
132
0
0
4
1
0
0
8
45
0
39
0
35
131
0
0
4
0
0
0
8
45
0
39
0
35
1
0
0
0
1
0
0
0
0
0
0
0
0
28
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
12
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
326
15
10
42
11
48
3
12
69
24
48
7
37
279
11
5
22
9
35
3
12
67
24
48
7
36
47
4
5
20
2
13
0
0
2
0
0
0
1
160
15
10
9
5
48
3
4
24
24
9
7
2
132
11
5
6
5
35
3
4
22
24
9
7
1
28
4
5
3
0
13
0
0
2
0
0
0
1
134
0
0
5
2
0
0
8
45
0
39
0
35
131
0
0
4
0
0
0
8
45
0
39
0
35
3
0
0
1
2
0
0
0
0
0
0
0
0
28
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
12
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
326
14
10
42
7
50
3
12
69
24
67
11
17
280
10
5
22
5
35
3
12
69
24
67
11
17
46
4
5
20
2
15
0
0
0
0
0
0
0
164
14
10
9
5
50
3
4
24
24
9
11
1
137
10
5
6
5
35
3
4
24
24
9
11
1
27
4
5
3
0
15
0
0
0
0
0
0
0
134
0
0
5
2
0
0
8
45
0
58
0
16
131
0
0
4
0
0
0
8
45
0
58
0
16
3
0
0
1
2
0
0
0
0
0
0
0
0
28
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
12
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
326
14
10
41
7
52
3
12
69
24
67
11
16
277
10
5
21
5
36
3
12
67
24
67
11
16
49
4
5
20
2
16
0
0
2
0
0
0
0
165
14
10
8
5
52
3
4
24
24
9
11
1
135
10
5
5
5
36
3
4
22
24
9
11
1
30
4
5
3
0
16
0
0
2
0
0
0
0
133
0
0
5
2
0
0
8
45
0
58
0
15
130
0
0
4
0
0
0
8
45
0
58
0
15
3
0
0
1
2
0
0
0
0
0
0
0
0
28
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
12
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
328
14
10
42
7
51
3
12
69
24
83
12
1
278
10
5
22
5
34
3
12
67
24
83
12
1
50
4
5
20
2
17
0
0
2
0
0
0
0
166
14
10
9
5
51
3
4
24
24
9
12
1
135
10
5
6
5
34
3
4
22
24
9
12
1
31
4
5
3
0
17
0
0
2
0
0
0
0
134
0
0
5
2
0
0
8
45
0
74
0
0
131
0
0
4
0
0
0
8
45
0
74
0
0
3
0
0
1
2
0
0
0
0
0
0
0
0
28
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
12
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1121
6
0
0
0
41
12
876
175
6
2
2
1
1109
3
0
0
0
35
11
876
173
6
2
2
1
12
3
0
0
0
6
1
0
2
0
0
0
0
101
6
0
0
0
41
12
3
28
6
2
2
1
89
3
0
0
0
35
11
3
26
6
2
2
1
12
3
0
0
0
6
1
0
2
0
0
0
0
70
0
0
0
0
0
0
55
15
0
0
0
0
70
0
0
0
0
0
0
55
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1125
6
0
0
0
42
12
878
175
6
2
3
1
1114
3
0
0
0
36
12
878
173
6
2
3
1
11
3
0
0
0
6
0
0
2
0
0
0
0
103
6
0
0
0
42
12
3
28
6
2
3
1
92
3
0
0
0
36
12
3
26
6
2
3
1
11
3
0
0
0
6
0
0
2
0
0
0
0
72
0
0
0
0
0
0
57
15
0
0
0
0
72
0
0
0
0
0
0
57
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1130
6
0
0
0
43
12
878
176
6
2
7
0
1120
3
0
0
0
37
12
878
175
6
2
7
0
10
3
0
0
0
6
0
0
1
0
0
0
0
105
6
0
0
0
43
12
3
29
6
2
4
0
95
3
0
0
0
37
12
3
28
6
2
4
0
10
3
0
0
0
6
0
0
1
0
0
0
0
75
0
0
0
0
0
0
57
15
0
0
3
0
75
0
0
0
0
0
0
57
15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1130
6
0
0
0
43
12
878
175
7
2
7
0
1119
3
0
0
0
37
12
878
173
7
2
7
0
11
3
0
0
0
6
0
0
2
0
0
0
0
105
6
0
0
0
43
12
3
28
7
2
4
0
94
3
0
0
0
37
12
3
26
7
2
4
0
11
3
0
0
0
6
0
0
2
0
0
0
0
75
0
0
0
0
0
0
57
15
0
0
3
0
75
0
0
0
0
0
0
57
15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1131
6
0
0
0
43
12
878
175
7
2
8
0
1120
3
0
0
0
37
12
878
173
7
2
8
0
11
3
0
0
0
6
0
0
2
0
0
0
0
106
6
0
0
0
43
12
3
28
7
2
5
0
95
3
0
0
0
37
12
3
26
7
2
5
0
11
3
0
0
0
6
0
0
2
0
0
0
0
75
0
0
0
0
0
0
57
15
0
0
3
0
75
0
0
0
0
0
0
57
15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
950
0
0
0
0
0
0
818
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
373
1
18
20
16
27
39
57
20
129
29
17
0
337
1
9
8
10
22
35
57
20
129
29
17
0
36
0
9
12
6
5
4
0
0
0
0
0
0
134
1
14
12
8
26
28
21
11
5
5
3
0
116
1
9
7
6
22
26
21
11
5
5
3
0
18
0
5
5
2
4
2
0
0
0
0
0
0
98
0
4
8
7
0
7
36
9
13
0
14
0
84
0
0
1
4
0
7
36
9
13
0
14
0
14
0
4
7
3
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
24
0
0
24
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
379
1
20
20
15
28
41
57
20
131
29
17
0
340
1
8
8
10
22
37
57
20
131
29
17
0
39
0
12
12
5
6
4
0
0
0
0
0
0
137
1
16
12
7
27
30
20
11
5
5
3
0
116
1
8
7
6
22
28
20
11
5
5
3
0
21
0
8
5
1
5
2
0
0
0
0
0
0
99
0
4
8
7
0
7
37
9
13
0
14
0
85
0
0
1
4
0
7
37
9
13
0
14
0
14
0
4
7
3
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
24
0
0
24
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
375
1
20
20
15
29
40
57
20
127
29
17
0
336
1
8
8
10
23
36
57
20
127
29
17
0
39
0
12
12
5
6
4
0
0
0
0
0
0
137
1
16
12
7
28
29
20
11
5
5
3
0
116
1
8
7
6
23
27
20
11
5
5
3
0
21
0
8
5
1
5
2
0
0
0
0
0
0
99
0
4
8
7
0
7
37
9
13
0
14
0
85
0
0
1
4
0
7
37
9
13
0
14
0
14
0
4
7
3
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
24
0
0
24
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
114
0
0
0
0
1
4
0
0
109
0
0
0
111
0
0
0
0
0
2
0
0
109
0
0
0
3
0
0
0
0
1
2
0
0
0
0
0
0
378
1
20
20
16
29
40
57
20
129
29
17
0
338
1
8
8
10
23
36
57
20
129
29
17
0
40
0
12
12
6
6
4
0
0
0
0
0
0
138
1
16
12
8
28
29
20
11
5
5
3
0
116
1
8
7
6
23
27
20
11
5
5
3
0
22
0
8
5
2
5
2
0
0
0
0
0
0
99
0
4
8
7
0
7
37
9
13
0
14
0
85
0
0
1
4
0
7
37
9
13
0
14
0
14
0
4
7
3
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
24
0
0
24
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
116
0
0
0
0
1
4
0
0
111
0
0
0
113
0
0
0
0
0
2
0
0
111
0
0
0
3
0
0
0
0
1
2
0
0
0
0
0
0
380
1
20
20
16
29
40
57
20
130
29
18
0
340
1
8
8
10
23
36
57
20
130
29
18
0
40
0
12
12
6
6
4
0
0
0
0
0
0
139
1
16
12
8
28
29
20
11
5
5
4
0
117
1
8
7
6
23
27
20
11
5
5
4
0
22
0
8
5
2
5
2
0
0
0
0
0
0
99
0
4
8
7
0
7
37
9
13
0
14
0
85
0
0
1
4
0
7
37
9
13
0
14
0
14
0
4
7
3
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
24
0
0
24
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
117
0
0
0
0
1
4
0
0
112
0
0
0
114
0
0
0
0
0
2
0
0
112
0
0
0
3
0
0
0
0
1
2
0
0
0
0
0
0
1031
2
0
1
2
56
477
433
48
7
2
3
0
1015
0
0
0
1
47
474
433
48
7
2
3
0
16
2
0
1
1
9
3
0
0
0
0
0
0
113
2
0
1
2
56
33
14
2
0
2
1
0
98
0
0
0
1
47
31
14
2
0
2
1
0
15
2
0
1
1
9
2
0
0
0
0
0
0
119
0
0
0
0
0
22
43
45
7
0
2
0
119
0
0
0
0
0
22
43
45
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
796
0
0
0
0
0
420
376
0
0
0
0
0
795
0
0
0
0
0
419
376
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1144
2
0
2
2
57
481
433
48
7
2
110
0
1126
0
0
0
1
47
478
433
48
7
2
110
0
18
2
0
2
1
10
3
0
0
0
0
0
0
119
2
0
2
2
57
37
14
2
0
2
1
0
102
0
0
0
1
47
35
14
2
0
2
1
0
17
2
0
2
1
10
2
0
0
0
0
0
0
124
0
0
0
0
0
22
43
45
7
0
7
0
124
0
0
0
0
0
22
43
45
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
898
0
0
0
0
0
420
376
0
0
0
102
0
897
0
0
0
0
0
419
376
0
0
0
102
0
1
0
0
0
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1284
2
0
2
2
57
482
433
48
7
2
249
0
1266
0
0
0
1
47
479
433
48
7
2
249
0
18
2
0
2
1
10
3
0
0
0
0
0
0
138
2
0
2
2
57
38
14
2
0
2
19
0
121
0
0
0
1
47
36
14
2
0
2
19
0
17
2
0
2
1
10
2
0
0
0
0
0
0
124
0
0
0
0
0
22
43
45
7
0
7
0
124
0
0
0
0
0
22
43
45
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1019
0
0
0
0
0
420
376
0
0
0
223
0
1018
0
0
0
0
0
419
376
0
0
0
223
0
1
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
2
0
1
0
0
0
0
3
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1314
2
0
2
2
58
481
433
48
7
2
279
0
1291
0
0
0
1
47
474
433
48
7
2
279
0
23
2
0
2
1
11
7
0
0
0
0
0
0
138
2
0
2
2
58
37
14
2
0
2
19
0
120
0
0
0
1
47
35
14
2
0
2
19
0
18
2
0
2
1
11
2
0
0
0
0
0
0
120
0
0
0
0
0
18
43
45
7
0
7
0
120
0
0
0
0
0
18
43
45
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1049
0
0
0
0
0
420
376
0
0
0
253
0
1048
0
0
0
0
0
419
376
0
0
0
253
0
1
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
6
0
1
0
0
0
0
3
0
0
0
0
0
2
0
1
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
1412
2
0
2
2
58
480
433
48
7
2
378
0
1336
0
0
0
1
47
474
433
48
7
2
324
0
76
2
0
2
1
11
6
0
0
0
0
54
0
140
2
0
2
2
58
37
14
2
0
2
21
0
122
0
0
0
1
47
35
14
2
0
2
21
0
18
2
0
2
1
11
2
0
0
0
0
0
0
120
0
0
0
0
0
18
43
45
7
0
7
0
120
0
0
0
0
0
18
43
45
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1146
0
0
0
0
0
420
376
0
0
0
350
0
1091
0
0
0
0
0
419
376
0
0
0
296
0
55
0
0
0
0
0
1
0
0
0
0
54
0
6
0
0
0
0
0
5
0
1
0
0
0
0
3
0
0
0
0
0
2
0
1
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
735
15
2
4
16
36
8
14
24
14
138
463
1
709
15
2
1
5
25
8
13
24
14
138
463
1
26
0
0
3
11
11
0
1
0
0
0
0
0
111
0
2
4
13
27
8
11
11
5
18
11
1
94
0
2
1
5
21
8
11
11
5
18
11
1
17
0
0
3
8
6
0
0
0
0
0
0
0
133
0
0
0
3
0
0
0
13
9
33
75
0
130
0
0
0
0
0
0
0
13
9
33
75
0
3
0
0
0
3
0
0
0
0
0
0
0
0
488
15
0
0
0
9
0
0
0
0
87
377
0
483
15
0
0
0
4
0
0
0
0
87
377
0
5
0
0
0
0
5
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
740
15
2
4
16
37
8
16
24
14
138
465
1
712
15
2
1
5
24
8
15
24
14
138
465
1
28
0
0
3
11
13
0
1
0
0
0
0
0
116
0
2
4
13
28
8
13
11
5
18
13
1
97
0
2
1
5
20
8
13
11
5
18
13
1
19
0
0
3
8
8
0
0
0
0
0
0
0
133
0
0
0
3
0
0
0
13
9
33
75
0
130
0
0
0
0
0
0
0
13
9
33
75
0
3
0
0
0
3
0
0
0
0
0
0
0
0
488
15
0
0
0
9
0
0
0
0
87
377
0
483
15
0
0
0
4
0
0
0
0
87
377
0
5
0
0
0
0
5
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
741
15
2
4
16
35
8
17
24
14
138
468
0
716
15
2
1
5
25
8
16
24
14
138
468
0
25
0
0
3
11
10
0
1
0
0
0
0
0
120
0
2
4
13
29
8
14
11
5
18
16
0
101
0
2
1
5
21
8
14
11
5
18
16
0
19
0
0
3
8
8
0
0
0
0
0
0
0
133
0
0
0
3
0
0
0
13
9
33
75
0
130
0
0
0
0
0
0
0
13
9
33
75
0
3
0
0
0
3
0
0
0
0
0
0
0
0
485
15
0
0
0
6
0
0
0
0
87
377
0
483
15
0
0
0
4
0
0
0
0
87
377
0
2
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
782
15
2
4
16
35
9
17
25
14
138
507
0
757
15
2
1
5
25
9
16
25
14
138
507
0
25
0
0
3
11
10
0
1
0
0
0
0
0
120
0
2
4
13
29
8
14
11
5
18
16
0
101
0
2
1
5
21
8
14
11
5
18
16
0
19
0
0
3
8
8
0
0
0
0
0
0
0
133
0
0
0
3
0
0
0
13
9
33
75
0
130
0
0
0
0
0
0
0
13
9
33
75
0
3
0
0
0
3
0
0
0
0
0
0
0
0
524
15
0
0
0
6
0
0
0
0
87
416
0
522
15
0
0
0
4
0
0
0
0
87
416
0
2
0
0
0
0
2
0
0
0
0
0
0
0
5
0
0
0
0
0
1
3
1
0
0
0
0
4
0
0
0
0
0
1
2
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
816
15
2
4
16
35
9
16
25
14
138
542
0
791
15
2
1
5
25
9
15
25
14
138
542
0
25
0
0
3
11
10
0
1
0
0
0
0
0
121
0
2
4
13
29
8
14
11
5
18
17
0
102
0
2
1
5
21
8
14
11
5
18
17
0
19
0
0
3
8
8
0
0
0
0
0
0
0
133
0
0
0
3
0
0
0
13
9
33
75
0
130
0
0
0
0
0
0
0
13
9
33
75
0
3
0
0
0
3
0
0
0
0
0
0
0
0
558
15
0
0
0
6
0
0
0
0
87
450
0
556
15
0
0
0
4
0
0
0
0
87
450
0
2
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
0
0
1
2
1
0
0
0
0
3
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
456
18
58
21
6
82
180
34
26
23
7
1
0
336
4
14
3
1
57
166
34
26
23
7
1
0
120
14
44
18
5
25
14
0
0
0
0
0
0
187
9
6
3
2
78
47
6
19
9
7
1
0
141
4
2
1
1
55
36
6
19
9
7
1
0
46
5
4
2
1
23
11
0
0
0
0
0
0
104
0
35
10
0
0
34
10
7
8
0
0
0
66
0
7
0
0
0
34
10
7
8
0
0
0
38
0
28
10
0
0
0
0
0
0
0
0
0
156
9
17
8
4
4
98
16
0
0
0
0
0
120
0
5
2
0
2
95
16
0
0
0
0
0
36
9
12
6
4
2
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
465
18
61
21
6
83
184
34
26
24
7
1
0
345
4
17
3
1
59
169
34
26
24
7
1
0
120
14
44
18
5
24
15
0
0
0
0
0
0
192
9
6
3
2
79
50
6
19
10
7
1
0
146
4
2
1
1
57
38
6
19
10
7
1
0
46
5
4
2
1
22
12
0
0
0
0
0
0
105
0
35
10
0
0
35
10
7
8
0
0
0
67
0
7
0
0
0
35
10
7
8
0
0
0
38
0
28
10
0
0
0
0
0
0
0
0
0
159
9
20
8
4
4
98
16
0
0
0
0
0
123
0
8
2
0
2
95
16
0
0
0
0
0
36
9
12
6
4
2
3
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
464
18
60
21
6
83
184
34
26
24
7
1
0
345
4
17
3
1
59
169
34
26
24
7
1
0
119
14
43
18
5
24
15
0
0
0
0
0
0
191
9
5
3
2
79
50
6
19
10
7
1
0
146
4
2
1
1
57
38
6
19
10
7
1
0
45
5
3
2
1
22
12
0
0
0
0
0
0
105
0
35
10
0
0
35
10
7
8
0
0
0
67
0
7
0
0
0
35
10
7
8
0
0
0
38
0
28
10
0
0
0
0
0
0
0
0
0
159
9
20
8
4
4
98
16
0
0
0
0
0
123
0
8
2
0
2
95
16
0
0
0
0
0
36
9
12
6
4
2
3
0
0
0
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
464
18
60
21
6
82
184
34
26
26
6
1
0
346
4
18
3
1
58
169
34
26
26
6
1
0
118
14
42
18
5
24
15
0
0
0
0
0
0
192
9
5
3
2
79
50
6
19
12
6
1
0
146
4
2
1
1
56
38
6
19
12
6
1
0
46
5
3
2
1
23
12
0
0
0
0
0
0
105
0
35
10
0
0
35
10
7
8
0
0
0
68
0
8
0
0
0
35
10
7
8
0
0
0
37
0
27
10
0
0
0
0
0
0
0
0
0
158
9
20
8
4
3
98
16
0
0
0
0
0
123
0
8
2
0
2
95
16
0
0
0
0
0
35
9
12
6
4
1
3
0
0
0
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
465
18
60
21
6
82
184
34
26
26
6
2
0
347
4
18
3
1
58
169
34
26
26
6
2
0
118
14
42
18
5
24
15
0
0
0
0
0
0
193
9
5
3
2
79
50
6
19
12
6
2
0
147
4
2
1
1
56
38
6
19
12
6
2
0
46
5
3
2
1
23
12
0
0
0
0
0
0
105
0
35
10
0
0
35
10
7
8
0
0
0
68
0
8
0
0
0
35
10
7
8
0
0
0
37
0
27
10
0
0
0
0
0
0
0
0
0
158
9
20
8
4
3
98
16
0
0
0
0
0
123
0
8
2
0
2
95
16
0
0
0
0
0
35
9
12
6
4
1
3
0
0
0
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
9
0
0
0
0
0
1
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1132
0
13
3
8
1
14
1086
6
1
0
0
0
1125
0
11
1
5
1
14
1086
6
1
0
0
0
7
0
2
2
3
0
0
0
0
0
0
0
0
28
0
4
0
8
1
6
2
6
1
0
0
0
24
0
3
0
5
1
6
2
6
1
0
0
0
4
0
1
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1075
0
9
3
0
0
0
1063
0
0
0
0
0
1072
0
8
1
0
0
0
1063
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1133
0
13
3
8
1
15
1086
6
1
0
0
0
1126
0
11
1
5
1
15
1086
6
1
0
0
0
7
0
2
2
3
0
0
0
0
0
0
0
0
29
0
4
0
8
1
7
2
6
1
0
0
0
25
0
3
0
5
1
7
2
6
1
0
0
0
4
0
1
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1075
0
9
3
0
0
0
1063
0
0
0
0
0
1072
0
8
1
0
0
0
1063
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1133
0
13
3
8
1
15
1086
6
1
0
0
0
1126
0
11
1
5
1
15
1086
6
1
0
0
0
7
0
2
2
3
0
0
0
0
0
0
0
0
29
0
4
0
8
1
7
2
6
1
0
0
0
25
0
3
0
5
1
7
2
6
1
0
0
0
4
0
1
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1075
0
9
3
0
0
0
1063
0
0
0
0
0
1072
0
8
1
0
0
0
1063
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1134
0
13
3
8
1
16
1086
6
1
0
0
0
1127
0
11
1
5
1
16
1086
6
1
0
0
0
7
0
2
2
3
0
0
0
0
0
0
0
0
29
0
4
0
8
1
7
2
6
1
0
0
0
25
0
3
0
5
1
7
2
6
1
0
0
0
4
0
1
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1075
0
9
3
0
0
0
1063
0
0
0
0
0
1072
0
8
1
0
0
0
1063
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1128
0
13
3
8
1
10
1086
6
1
0
0
0
1121
0
11
1
5
1
10
1086
6
1
0
0
0
7
0
2
2
3
0
0
0
0
0
0
0
0
29
0
4
0
8
1
7
2
6
1
0
0
0
25
0
3
0
5
1
7
2
6
1
0
0
0
4
0
1
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1075
0
9
3
0
0
0
1063
0
0
0
0
0
1072
0
8
1
0
0
0
1063
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
675
1
1
38
68
14
20
9
211
5
272
34
2
613
1
0
20
29
12
19
9
210
5
272
34
2
62
0
1
18
39
2
1
0
1
0
0
0
0
135
1
1
26
48
12
12
5
13
5
10
0
2
97
1
0
19
22
10
11
5
12
5
10
0
2
38
0
1
7
26
2
1
0
1
0
0
0
0
99
0
0
7
17
2
0
4
69
0
0
0
0
83
0
0
1
7
2
0
4
69
0
0
0
0
16
0
0
6
10
0
0
0
0
0
0
0
0
441
0
0
5
3
0
8
0
129
0
262
34
0
433
0
0
0
0
0
8
0
129
0
262
34
0
8
0
0
5
3
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
683
1
1
46
67
15
19
9
211
5
272
35
2
617
1
0
22
29
13
19
9
210
5
272
35
2
66
0
1
24
38
2
0
0
1
0
0
0
0
139
1
1
30
47
13
11
5
13
5
10
1
2
100
1
0
20
22
11
11
5
12
5
10
1
2
39
0
1
10
25
2
0
0
1
0
0
0
0
103
0
0
11
17
2
0
4
69
0
0
0
0
84
0
0
2
7
2
0
4
69
0
0
0
0
19
0
0
9
10
0
0
0
0
0
0
0
0
441
0
0
5
3
0
8
0
129
0
262
34
0
433
0
0
0
0
0
8
0
129
0
262
34
0
8
0
0
5
3
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
803
1
1
46
67
15
19
9
212
5
393
35
0
737
1
0
22
29
13
19
9
211
5
393
35
0
66
0
1
24
38
2
0
0
1
0
0
0
0
139
1
1
30
47
13
11
5
14
5
11
1
0
100
1
0
20
22
11
11
5
13
5
11
1
0
39
0
1
10
25
2
0
0
1
0
0
0
0
103
0
0
11
17
2
0
4
69
0
0
0
0
84
0
0
2
7
2
0
4
69
0
0
0
0
19
0
0
9
10
0
0
0
0
0
0
0
0
561
0
0
5
3
0
8
0
129
0
382
34
0
553
0
0
0
0
0
8
0
129
0
382
34
0
8
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
806
1
1
47
67
16
19
9
211
5
393
37
0
739
1
0
23
29
13
19
9
210
5
393
37
0
67
0
1
24
38
3
0
0
1
0
0
0
0
142
1
1
31
47
14
11
5
13
5
11
3
0
102
1
0
21
22
11
11
5
12
5
11
3
0
40
0
1
10
25
3
0
0
1
0
0
0
0
103
0
0
11
17
2
0
4
69
0
0
0
0
84
0
0
2
7
2
0
4
69
0
0
0
0
19
0
0
9
10
0
0
0
0
0
0
0
0
561
0
0
5
3
0
8
0
129
0
382
34
0
553
0
0
0
0
0
8
0
129
0
382
34
0
8
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
893
1
1
46
67
16
19
9
211
5
393
125
0
826
1
0
22
29
13
19
9
210
5
393
125
0
67
0
1
24
38
3
0
0
1
0
0
0
0
145
1
1
30
47
14
11
5
13
5
11
7
0
105
1
0
20
22
11
11
5
12
5
11
7
0
40
0
1
10
25
3
0
0
1
0
0
0
0
103
0
0
11
17
2
0
4
69
0
0
0
0
84
0
0
2
7
2
0
4
69
0
0
0
0
19
0
0
9
10
0
0
0
0
0
0
0
0
645
0
0
5
3
0
8
0
129
0
382
118
0
637
0
0
0
0
0
8
0
129
0
382
118
0
8
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2326
1
1
0
3
3
2
797
59
681
473
305
1
2322
0
0
0
2
2
2
797
59
681
473
305
1
4
1
1
0
1
1
0
0
0
0
0
0
0
118
1
1
0
3
3
2
0
0
14
81
12
1
114
0
0
0
2
2
2
0
0
14
81
12
1
4
1
1
0
1
1
0
0
0
0
0
0
0
383
0
0
0
0
0
0
19
0
189
114
61
0
383
0
0
0
0
0
0
19
0
189
114
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1800
0
0
0
0
0
0
753
59
478
278
232
0
1800
0
0
0
0
0
0
753
59
478
278
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2361
1
1
0
3
3
2
798
59
681
473
339
1
2356
0
0
0
2
1
2
798
59
681
473
339
1
5
1
1
0
1
2
0
0
0
0
0
0
0
120
1
1
0
3
3
2
0
0
14
81
14
1
115
0
0
0
2
1
2
0
0
14
81
14
1
5
1
1
0
1
2
0
0
0
0
0
0
0
415
0
0
0
0
0
0
19
0
189
114
93
0
415
0
0
0
0
0
0
19
0
189
114
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1801
0
0
0
0
0
0
754
59
478
278
232
0
1801
0
0
0
0
0
0
754
59
478
278
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
2367
1
1
0
3
3
2
797
59
681
476
344
0
2362
0
0
0
2
1
2
797
59
681
476
344
0
5
1
1
0
1
2
0
0
0
0
0
0
0
120
1
1
0
3
3
2
0
0
14
81
15
0
115
0
0
0
2
1
2
0
0
14
81
15
0
5
1
1
0
1
2
0
0
0
0
0
0
0
418
0
0
0
0
0
0
19
0
189
117
93
0
418
0
0
0
0
0
0
19
0
189
117
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1804
0
0
0
0
0
0
753
59
478
278
236
0
1804
0
0
0
0
0
0
753
59
478
278
236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2410
1
1
0
3
3
2
797
59
711
476
357
0
2405
0
0
0
2
1
2
797
59
711
476
357
0
5
1
1
0
1
2
0
0
0
0
0
0
0
126
1
1
0
3
3
2
0
0
14
81
21
0
121
0
0
0
2
1
2
0
0
14
81
21
0
5
1
1
0
1
2
0
0
0
0
0
0
0
425
0
0
0
0
0
0
19
0
189
117
100
0
425
0
0
0
0
0
0
19
0
189
117
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1834
0
0
0
0
0
0
753
59
508
278
236
0
1834
0
0
0
0
0
0
753
59
508
278
236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2426
1
1
0
3
3
2
797
59
711
476
373
0
2421
0
0
0
2
1
2
797
59
711
476
373
0
5
1
1
0
1
2
0
0
0
0
0
0
0
126
1
1
0
3
3
2
0
0
14
81
21
0
121
0
0
0
2
1
2
0
0
14
81
21
0
5
1
1
0
1
2
0
0
0
0
0
0
0
441
0
0
0
0
0
0
19
0
189
117
116
0
441
0
0
0
0
0
0
19
0
189
117
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1834
0
0
0
0
0
0
753
59
508
278
236
0
1834
0
0
0
0
0
0
753
59
508
278
236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1492
0
0
1
15
25
18
781
556
59
37
0
0
1475
0
0
1
7
18
16
781
556
59
37
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
105
0
0
1
15
25
18
7
23
14
2
0
0
88
0
0
1
7
18
16
7
23
14
2
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1493
0
0
1
15
26
18
781
556
59
37
0
0
1476
0
0
1
7
19
16
781
556
59
37
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
106
0
0
1
15
26
18
7
23
14
2
0
0
89
0
0
1
7
19
16
7
23
14
2
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1492
0
0
1
15
26
18
781
555
59
37
0
0
1475
0
0
1
7
19
16
781
555
59
37
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
106
0
0
1
15
26
18
7
23
14
2
0
0
89
0
0
1
7
19
16
7
23
14
2
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1493
0
0
1
15
26
18
781
556
59
37
0
0
1476
0
0
1
7
19
16
781
556
59
37
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
106
0
0
1
15
26
18
7
23
14
2
0
0
89
0
0
1
7
19
16
7
23
14
2
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1493
0
0
1
15
26
18
781
556
59
37
0
0
1476
0
0
1
7
19
16
781
556
59
37
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
106
0
0
1
15
26
18
7
23
14
2
0
0
89
0
0
1
7
19
16
7
23
14
2
0
0
17
0
0
0
8
7
2
0
0
0
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
181
0
0
0
0
0
0
3
155
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
1203
0
0
0
0
0
0
771
375
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
593
4
1
8
8
22
27
122
165
79
132
25
0
575
3
1
2
4
18
26
121
164
79
132
25
0
18
1
0
6
4
4
1
1
1
0
0
0
0
167
3
1
8
8
22
26
40
19
4
11
25
0
149
2
1
2
4
18
25
39
18
4
11
25
0
18
1
0
6
4
4
1
1
1
0
0
0
0
282
1
0
0
0
0
0
68
138
75
0
0
0
282
1
0
0
0
0
0
68
138
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
0
0
0
0
0
0
14
8
0
120
0
0
142
0
0
0
0
0
0
14
8
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
602
4
1
8
8
21
28
128
165
79
132
28
0
585
3
1
2
5
17
27
127
164
79
132
28
0
17
1
0
6
3
4
1
1
1
0
0
0
0
172
3
1
8
8
21
27
42
19
4
11
28
0
155
2
1
2
5
17
26
41
18
4
11
28
0
17
1
0
6
3
4
1
1
1
0
0
0
0
286
1
0
0
0
0
0
72
138
75
0
0
0
286
1
0
0
0
0
0
72
138
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
0
0
0
0
0
0
14
8
0
120
0
0
142
0
0
0
0
0
0
14
8
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
505
4
1
8
8
21
28
128
165
79
12
51
0
489
3
1
2
5
17
27
127
165
79
12
51
0
16
1
0
6
3
4
1
1
0
0
0
0
0
176
3
1
8
8
21
27
42
19
4
11
32
0
160
2
1
2
5
17
26
41
19
4
11
32
0
16
1
0
6
3
4
1
1
0
0
0
0
0
305
1
0
0
0
0
0
72
138
75
0
19
0
305
1
0
0
0
0
0
72
138
75
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
528
4
1
8
8
21
28
128
165
79
12
74
0
511
3
1
2
5
17
27
127
164
79
12
74
0
17
1
0
6
3
4
1
1
1
0
0
0
0
185
3
1
8
8
21
27
42
19
4
11
41
0
168
2
1
2
5
17
26
41
18
4
11
41
0
17
1
0
6
3
4
1
1
1
0
0
0
0
319
1
0
0
0
0
0
72
138
75
0
33
0
319
1
0
0
0
0
0
72
138
75
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
528
4
1
8
8
21
28
124
165
79
12
78
0
511
3
1
2
5
17
27
123
164
79
12
78
0
17
1
0
6
3
4
1
1
1
0
0
0
0
189
3
1
8
8
21
27
42
19
4
11
45
0
172
2
1
2
5
17
26
41
18
4
11
45
0
17
1
0
6
3
4
1
1
1
0
0
0
0
315
1
0
0
0
0
0
68
138
75
0
33
0
315
1
0
0
0
0
0
68
138
75
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
22
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
0
4
0
0
69
33
4
2
1
1
0
0
95
0
2
0
0
56
29
4
2
1
1
0
0
19
0
2
0
0
13
4
0
0
0
0
0
0
113
0
4
0
0
69
32
4
2
1
1
0
0
94
0
2
0
0
56
28
4
2
1
1
0
0
19
0
2
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
118
0
4
0
0
71
35
4
2
1
1
0
0
98
0
1
0
0
58
31
4
2
1
1
0
0
20
0
3
0
0
13
4
0
0
0
0
0
0
117
0
4
0
0
71
34
4
2
1
1
0
0
97
0
1
0
0
58
30
4
2
1
1
0
0
20
0
3
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
117
0
4
0
0
71
34
4
2
1
1
0
0
97
0
1
0
0
58
30
4
2
1
1
0
0
20
0
3
0
0
13
4
0
0
0
0
0
0
116
0
4
0
0
71
33
4
2
1
1
0
0
96
0
1
0
0
58
29
4
2
1
1
0
0
20
0
3
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
0
4
0
0
71
35
4
2
1
1
0
0
97
0
1
0
0
58
30
4
2
1
1
0
0
21
0
3
0
0
13
5
0
0
0
0
0
0
117
0
4
0
0
71
34
4
2
1
1
0
0
96
0
1
0
0
58
29
4
2
1
1
0
0
21
0
3
0
0
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
0
4
0
0
70
35
4
2
1
1
0
0
97
0
1
0
0
58
30
4
2
1
1
0
0
20
0
3
0
0
12
5
0
0
0
0
0
0
116
0
4
0
0
70
34
4
2
1
1
0
0
96
0
1
0
0
58
29
4
2
1
1
0
0
20
0
3
0
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
0
0
5
0
0
0
0
22
0
0
0
25
0
0
0
3
0
0
0
0
22
0
0
0
11
9
0
0
2
0
0
0
0
0
0
0
0
15
4
0
0
5
0
0
0
0
6
0
0
0
9
0
0
0
3
0
0
0
0
6
0
0
0
6
4
0
0
2
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
36
9
0
0
5
0
0
0
0
22
0
0
0
25
0
0
0
3
0
0
0
0
22
0
0
0
11
9
0
0
2
0
0
0
0
0
0
0
0
15
4
0
0
5
0
0
0
0
6
0
0
0
9
0
0
0
3
0
0
0
0
6
0
0
0
6
4
0
0
2
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
36
9
0
0
5
0
0
0
0
22
0
0
0
25
0
0
0
3
0
0
0
0
22
0
0
0
11
9
0
0
2
0
0
0
0
0
0
0
0
15
4
0
0
5
0
0
0
0
6
0
0
0
9
0
0
0
3
0
0
0
0
6
0
0
0
6
4
0
0
2
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
0
0
5
0
0
0
0
22
0
0
0
25
0
0
0
3
0
0
0
0
22
0
0
0
11
9
0
0
2
0
0
0
0
0
0
0
0
15
4
0
0
5
0
0
0
0
6
0
0
0
9
0
0
0
3
0
0
0
0
6
0
0
0
6
4
0
0
2
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
0
0
5
0
0
0
0
22
0
0
0
25
0
0
0
3
0
0
0
0
22
0
0
0
11
9
0
0
2
0
0
0
0
0
0
0
0
15
4
0
0
5
0
0
0
0
6
0
0
0
9
0
0
0
3
0
0
0
0
6
0
0
0
6
4
0
0
2
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
16
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1809
0
0
0
21
6
195
1176
409
0
2
0
0
1807
0
0
0
21
4
195
1176
409
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
11
0
0
0
0
6
3
0
0
0
2
0
0
9
0
0
0
0
4
3
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1769
0
0
0
16
0
192
1152
409
0
0
0
0
1769
0
0
0
16
0
192
1152
409
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1821
0
0
0
21
8
195
1186
409
0
2
0
0
1819
0
0
0
21
6
195
1186
409
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
13
0
0
0
0
8
3
0
0
0
2
0
0
11
0
0
0
0
6
3
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1820
0
0
0
21
8
195
1185
409
0
2
0
0
1818
0
0
0
21
6
195
1185
409
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
13
0
0
0
0
8
3
0
0
0
2
0
0
11
0
0
0
0
6
3
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1821
0
0
0
21
8
195
1186
409
0
2
0
0
1819
0
0
0
21
6
195
1186
409
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
13
0
0
0
0
8
3
0
0
0
2
0
0
11
0
0
0
0
6
3
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1821
0
0
0
21
8
195
1186
409
0
2
0
0
1819
0
0
0
21
6
195
1186
409
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
13
0
0
0
0
8
3
0
0
0
2
0
0
11
0
0
0
0
6
3
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
28
0
0
0
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
1779
0
0
0
16
0
192
1162
409
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
579
9
2
1
40
72
341
94
7
2
11
0
0
529
2
2
0
20
51
341
93
7
2
11
0
0
50
7
0
1
20
21
0
1
0
0
0
0
0
168
9
2
1
40
72
27
5
7
2
3
0
0
118
2
2
0
20
51
27
4
7
2
3
0
0
50
7
0
1
20
21
0
1
0
0
0
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
388
0
0
0
0
0
299
89
0
0
0
0
0
388
0
0
0
0
0
299
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
586
10
1
1
42
76
341
95
7
2
11
0
0
536
2
1
0
21
57
341
94
7
2
11
0
0
50
8
0
1
21
19
0
1
0
0
0
0
0
174
10
1
1
42
76
27
5
7
2
3
0
0
124
2
1
0
21
57
27
4
7
2
3
0
0
50
8
0
1
21
19
0
1
0
0
0
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
389
0
0
0
0
0
299
90
0
0
0
0
0
389
0
0
0
0
0
299
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
588
11
1
1
42
76
341
95
7
2
11
1
0
539
3
1
0
21
57
341
95
7
2
11
1
0
49
8
0
1
21
19
0
0
0
0
0
0
0
176
11
1
1
42
76
27
5
7
2
3
1
0
127
3
1
0
21
57
27
5
7
2
3
1
0
49
8
0
1
21
19
0
0
0
0
0
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
389
0
0
0
0
0
299
90
0
0
0
0
0
389
0
0
0
0
0
299
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
586
10
2
1
42
76
341
93
7
2
11
1
0
538
3
2
0
21
57
341
93
7
2
11
1
0
48
7
0
1
21
19
0
0
0
0
0
0
0
176
10
2
1
42
76
27
5
7
2
3
1
0
128
3
2
0
21
57
27
5
7
2
3
1
0
48
7
0
1
21
19
0
0
0
0
0
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
387
0
0
0
0
0
299
88
0
0
0
0
0
387
0
0
0
0
0
299
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
587
10
2
1
42
76
341
94
7
2
11
1
0
540
3
2
0
21
58
341
94
7
2
11
1
0
47
7
0
1
21
18
0
0
0
0
0
0
0
176
10
2
1
42
76
27
5
7
2
3
1
0
129
3
2
0
21
58
27
5
7
2
3
1
0
47
7
0
1
21
18
0
0
0
0
0
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
23
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
388
0
0
0
0
0
299
89
0
0
0
0
0
388
0
0
0
0
0
299
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
3
0
0
0
12
0
49
0
0
0
63
0
0
2
0
0
0
12
0
49
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
64
0
0
3
0
0
0
12
0
49
0
0
0
63
0
0
2
0
0
0
12
0
49
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
64
0
0
3
0
0
0
12
0
49
0
0
0
63
0
0
2
0
0
0
12
0
49
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
2
0
3
0
0
0
12
0
49
0
0
0
64
1
0
2
0
0
0
12
0
49
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
4
1
0
3
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
2
0
3
0
0
0
12
0
49
0
0
0
64
1
0
2
0
0
0
12
0
49
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
4
1
0
3
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
49
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1287
2
0
0
5
87
217
225
505
236
7
1
2
1277
1
0
0
4
80
216
225
505
236
7
1
2
10
1
0
0
1
7
1
0
0
0
0
0
0
189
2
0
0
5
87
72
3
3
7
7
1
2
179
1
0
0
4
80
71
3
3
7
7
1
2
10
1
0
0
1
7
1
0
0
0
0
0
0
252
0
0
0
0
0
35
66
37
114
0
0
0
252
0
0
0
0
0
35
66
37
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
816
0
0
0
0
0
110
156
465
85
0
0
0
816
0
0
0
0
0
110
156
465
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1307
2
0
0
5
93
219
237
505
236
7
1
2
1297
1
0
0
4
86
218
237
505
236
7
1
2
10
1
0
0
1
7
1
0
0
0
0
0
0
197
2
0
0
5
93
74
3
3
7
7
1
2
187
1
0
0
4
86
73
3
3
7
7
1
2
10
1
0
0
1
7
1
0
0
0
0
0
0
257
0
0
0
0
0
35
71
37
114
0
0
0
257
0
0
0
0
0
35
71
37
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1307
2
0
0
5
93
221
237
505
236
7
1
0
1297
1
0
0
4
86
220
237
505
236
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
197
2
0
0
5
93
76
3
3
7
7
1
0
187
1
0
0
4
86
75
3
3
7
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
257
0
0
0
0
0
35
71
37
114
0
0
0
257
0
0
0
0
0
35
71
37
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
30
0
0
0
30
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1306
2
0
0
5
93
221
237
505
235
7
1
0
1296
1
0
0
4
86
220
237
505
235
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
197
2
0
0
5
93
76
3
3
7
7
1
0
187
1
0
0
4
86
75
3
3
7
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
256
0
0
0
0
0
35
71
37
113
0
0
0
256
0
0
0
0
0
35
71
37
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
30
0
0
0
30
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1275
2
0
0
5
92
222
237
505
204
7
1
0
1265
1
0
0
4
85
221
237
505
204
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
197
2
0
0
5
92
77
3
3
7
7
1
0
187
1
0
0
4
85
76
3
3
7
7
1
0
10
1
0
0
1
7
1
0
0
0
0
0
0
255
0
0
0
0
0
35
71
37
112
0
0
0
255
0
0
0
0
0
35
71
37
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
823
0
0
0
0
0
110
163
465
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
550
0
0
0
23
33
48
50
69
245
60
22
0
527
0
0
0
4
29
48
50
69
245
60
22
0
23
0
0
0
19
4
0
0
0
0
0
0
0
38
0
0
0
7
9
0
0
0
0
0
22
0
31
0
0
0
4
5
0
0
0
0
0
22
0
7
0
0
0
3
4
0
0
0
0
0
0
0
76
0
0
0
16
0
0
0
0
0
60
0
0
60
0
0
0
0
0
0
0
0
0
60
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
436
0
0
0
0
24
48
50
69
245
0
0
0
436
0
0
0
0
24
48
50
69
245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
556
0
0
0
25
35
48
50
69
247
60
22
0
538
0
0
0
11
31
48
50
69
247
60
22
0
18
0
0
0
14
4
0
0
0
0
0
0
0
40
0
0
0
7
11
0
0
0
0
0
22
0
33
0
0
0
4
7
0
0
0
0
0
22
0
7
0
0
0
3
4
0
0
0
0
0
0
0
78
0
0
0
18
0
0
0
0
0
60
0
0
67
0
0
0
7
0
0
0
0
0
60
0
0
11
0
0
0
11
0
0
0
0
0
0
0
0
438
0
0
0
0
24
48
50
69
247
0
0
0
438
0
0
0
0
24
48
50
69
247
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
565
0
0
0
30
35
52
50
69
247
60
22
0
554
0
0
0
23
31
52
50
69
247
60
22
0
11
0
0
0
7
4
0
0
0
0
0
0
0
40
0
0
0
7
11
0
0
0
0
0
22
0
33
0
0
0
4
7
0
0
0
0
0
22
0
7
0
0
0
3
4
0
0
0
0
0
0
0
83
0
0
0
23
0
0
0
0
0
60
0
0
79
0
0
0
19
0
0
0
0
0
60
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
442
0
0
0
0
24
52
50
69
247
0
0
0
442
0
0
0
0
24
52
50
69
247
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
561
0
0
0
30
35
48
50
69
247
60
22
0
550
0
0
0
23
31
48
50
69
247
60
22
0
11
0
0
0
7
4
0
0
0
0
0
0
0
40
0
0
0
7
11
0
0
0
0
0
22
0
33
0
0
0
4
7
0
0
0
0
0
22
0
7
0
0
0
3
4
0
0
0
0
0
0
0
83
0
0
0
23
0
0
0
0
0
60
0
0
79
0
0
0
19
0
0
0
0
0
60
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
438
0
0
0
0
24
48
50
69
247
0
0
0
438
0
0
0
0
24
48
50
69
247
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
592
0
0
0
30
35
48
50
69
247
60
53
0
581
0
0
0
23
31
48
50
69
247
60
53
0
11
0
0
0
7
4
0
0
0
0
0
0
0
40
0
0
0
7
11
0
0
0
0
0
22
0
33
0
0
0
4
7
0
0
0
0
0
22
0
7
0
0
0
3
4
0
0
0
0
0
0
0
83
0
0
0
23
0
0
0
0
0
60
0
0
79
0
0
0
19
0
0
0
0
0
60
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
469
0
0
0
0
24
48
50
69
247
0
31
0
469
0
0
0
0
24
48
50
69
247
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1157
0
0
0
206
50
219
636
0
29
0
1
16
1048
0
0
0
122
26
219
636
0
29
0
1
15
109
0
0
0
84
24
0
0
0
0
0
0
1
101
0
0
0
40
25
8
18
0
4
0
1
5
83
0
0
0
24
23
8
18
0
4
0
1
5
18
0
0
0
16
2
0
0
0
0
0
0
0
88
0
0
0
47
0
5
0
0
25
0
0
11
62
0
0
0
22
0
5
0
0
25
0
0
10
26
0
0
0
25
0
0
0
0
0
0
0
1
941
0
0
0
118
0
206
617
0
0
0
0
0
898
0
0
0
75
0
206
617
0
0
0
0
0
43
0
0
0
43
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1182
0
0
0
215
66
219
636
0
29
0
1
16
1067
0
0
0
125
42
219
636
0
29
0
1
15
115
0
0
0
90
24
0
0
0
0
0
0
1
105
0
0
0
40
28
8
19
0
4
0
1
5
89
0
0
0
26
26
8
19
0
4
0
1
5
16
0
0
0
14
2
0
0
0
0
0
0
0
95
0
0
0
54
0
5
0
0
25
0
0
11
62
0
0
0
22
0
5
0
0
25
0
0
10
33
0
0
0
32
0
0
0
0
0
0
0
1
942
0
0
0
120
0
206
616
0
0
0
0
0
898
0
0
0
76
0
206
616
0
0
0
0
0
44
0
0
0
44
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1194
0
0
0
231
65
232
636
0
29
0
1
0
1079
0
0
0
140
41
232
636
0
29
0
1
0
115
0
0
0
91
24
0
0
0
0
0
0
0
105
0
0
0
45
28
8
19
0
4
0
1
0
89
0
0
0
31
26
8
19
0
4
0
1
0
16
0
0
0
14
2
0
0
0
0
0
0
0
95
0
0
0
65
0
5
0
0
25
0
0
0
62
0
0
0
32
0
5
0
0
25
0
0
0
33
0
0
0
33
0
0
0
0
0
0
0
0
955
0
0
0
120
0
219
616
0
0
0
0
0
911
0
0
0
76
0
219
616
0
0
0
0
0
44
0
0
0
44
0
0
0
0
0
0
0
0
39
0
0
0
1
37
0
1
0
0
0
0
0
17
0
0
0
1
15
0
1
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1182
0
0
0
231
52
232
637
0
29
0
1
0
1067
0
0
0
140
28
232
637
0
29
0
1
0
115
0
0
0
91
24
0
0
0
0
0
0
0
105
0
0
0
45
28
8
19
0
4
0
1
0
89
0
0
0
31
26
8
19
0
4
0
1
0
16
0
0
0
14
2
0
0
0
0
0
0
0
95
0
0
0
65
0
5
0
0
25
0
0
0
62
0
0
0
32
0
5
0
0
25
0
0
0
33
0
0
0
33
0
0
0
0
0
0
0
0
956
0
0
0
120
0
219
617
0
0
0
0
0
912
0
0
0
76
0
219
617
0
0
0
0
0
44
0
0
0
44
0
0
0
0
0
0
0
0
26
0
0
0
1
24
0
1
0
0
0
0
0
4
0
0
0
1
2
0
1
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
1198
0
0
0
231
52
248
637
0
29
0
1
0
1082
0
0
0
140
28
247
637
0
29
0
1
0
116
0
0
0
91
24
1
0
0
0
0
0
0
105
0
0
0
45
28
8
19
0
4
0
1
0
89
0
0
0
31
26
8
19
0
4
0
1
0
16
0
0
0
14
2
0
0
0
0
0
0
0
95
0
0
0
65
0
5
0
0
25
0
0
0
62
0
0
0
32
0
5
0
0
25
0
0
0
33
0
0
0
33
0
0
0
0
0
0
0
0
972
0
0
0
120
0
235
617
0
0
0
0
0
927
0
0
0
76
0
234
617
0
0
0
0
0
45
0
0
0
44
0
1
0
0
0
0
0
0
26
0
0
0
1
24
0
1
0
0
0
0
0
4
0
0
0
1
2
0
1
0
0
0
0
0
22
0
0
0
0
22
0
0
0
0
0
0
0
50
1
0
2
3
17
18
4
3
1
0
0
1
25
0
0
2
1
2
13
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
50
1
0
2
3
17
18
4
3
1
0
0
1
25
0
0
2
1
2
13
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
50
1
0
2
3
17
18
4
3
1
0
0
1
25
0
0
2
1
2
13
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
50
1
0
2
3
17
18
4
3
1
0
0
1
25
0
0
2
1
2
13
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
48
1
0
2
3
16
17
4
3
1
0
0
1
23
0
0
2
1
1
12
3
2
1
0
0
1
25
1
0
0
2
15
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
233
9
3
8
23
52
70
28
9
10
9
7
5
177
4
2
1
13
28
65
28
9
10
9
6
2
56
5
1
7
10
24
5
0
0
0
0
1
3
203
9
3
6
18
52
49
27
9
10
9
6
5
154
4
2
1
11
28
45
27
9
10
9
6
2
49
5
1
5
7
24
4
0
0
0
0
0
3
10
0
0
0
4
0
6
0
0
0
0
0
0
7
0
0
0
1
0
6
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
2
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
2
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
248
11
8
9
23
56
70
30
10
10
9
7
5
184
5
4
1
13
30
64
30
10
10
9
6
2
64
6
4
8
10
26
6
0
0
0
0
1
3
218
11
8
7
18
56
49
29
10
10
9
6
5
161
5
4
1
11
30
44
29
10
10
9
6
2
57
6
4
6
7
26
5
0
0
0
0
0
3
10
0
0
0
4
0
6
0
0
0
0
0
0
7
0
0
0
1
0
6
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
2
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
2
0
0
1
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
277
12
8
11
25
66
76
37
10
13
12
7
0
206
6
4
2
13
35
69
35
10
13
12
7
0
71
6
4
9
12
31
7
2
0
0
0
0
0
246
11
8
9
20
66
55
35
10
13
12
7
0
181
5
4
2
11
35
49
33
10
13
12
7
0
65
6
4
7
9
31
6
2
0
0
0
0
0
10
0
0
0
4
0
6
0
0
0
0
0
0
7
0
0
0
1
0
6
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
2
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
2
0
0
1
0
0
0
0
0
0
5
1
0
0
1
0
1
2
0
0
0
0
0
5
1
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
275
12
8
11
24
65
76
37
10
13
12
7
0
207
6
4
2
12
35
70
36
10
13
12
7
0
68
6
4
9
12
30
6
1
0
0
0
0
0
245
11
8
9
19
65
55
36
10
13
12
7
0
183
5
4
2
10
35
50
35
10
13
12
7
0
62
6
4
7
9
30
5
1
0
0
0
0
0
10
0
0
0
4
0
6
0
0
0
0
0
0
7
0
0
0
1
0
6
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
2
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
2
0
0
1
0
0
0
0
0
0
4
1
0
0
1
0
1
1
0
0
0
0
0
4
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
275
11
8
11
24
63
76
38
10
13
12
9
0
207
6
4
2
12
33
70
36
10
13
12
9
0
68
5
4
9
12
30
6
2
0
0
0
0
0
246
10
8
9
19
63
56
37
10
13
12
9
0
184
5
4
2
10
33
51
35
10
13
12
9
0
62
5
4
7
9
30
5
2
0
0
0
0
0
10
0
0
0
4
0
6
0
0
0
0
0
0
7
0
0
0
1
0
6
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
2
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
2
0
0
1
0
0
0
0
0
0
3
1
0
0
1
0
0
1
0
0
0
0
0
3
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1649
15
3
8
23
119
97
74
1177
90
29
5
9
1555
7
2
5
7
80
82
74
1170
87
29
5
7
94
8
1
3
16
39
15
0
7
3
0
0
2
496
7
3
8
23
98
88
45
132
53
29
4
6
418
2
2
5
7
68
76
45
125
50
29
4
5
78
5
1
3
16
30
12
0
7
3
0
0
1
379
6
0
0
0
0
5
19
349
0
0
0
0
377
4
0
0
0
0
5
19
349
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
759
0
0
0
0
21
0
9
696
33
0
0
0
750
0
0
0
0
12
0
9
696
33
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1651
15
4
8
23
122
97
75
1177
86
29
5
10
1552
7
3
5
7
81
80
75
1170
83
29
5
7
99
8
1
3
16
41
17
0
7
3
0
0
3
502
7
4
8
23
101
88
46
132
53
29
4
7
419
2
3
5
7
69
74
46
125
50
29
4
5
83
5
1
3
16
32
14
0
7
3
0
0
2
379
6
0
0
0
0
5
19
349
0
0
0
0
377
4
0
0
0
0
5
19
349
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
759
0
0
0
0
21
0
9
696
33
0
0
0
750
0
0
0
0
12
0
9
696
33
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1622
13
4
6
22
114
92
72
1180
84
27
7
1
1540
6
3
4
7
78
76
71
1178
82
27
7
1
82
7
1
2
15
36
16
1
2
2
0
0
0
475
6
4
6
22
93
82
43
135
50
27
6
1
409
2
3
4
7
66
69
43
133
48
27
6
1
66
4
1
2
15
27
13
0
2
2
0
0
0
379
6
0
0
0
0
5
19
349
0
0
0
0
377
4
0
0
0
0
5
19
349
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
759
0
0
0
0
21
0
9
696
33
0
0
0
750
0
0
0
0
12
0
9
696
33
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
0
9
1
0
0
0
0
5
1
0
1
0
1
0
4
0
0
0
0
0
2
0
0
1
0
1
0
5
1
0
0
0
0
3
1
0
0
0
0
0
1630
13
4
6
21
115
95
72
1177
87
27
12
1
1540
6
3
4
6
78
78
71
1170
84
27
12
1
90
7
1
2
15
37
17
1
7
3
0
0
0
480
6
4
6
21
94
85
43
132
50
27
11
1
406
2
3
4
6
66
71
43
125
47
27
11
1
74
4
1
2
15
28
14
0
7
3
0
0
0
379
6
0
0
0
0
5
19
349
0
0
0
0
377
4
0
0
0
0
5
19
349
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
759
0
0
0
0
21
0
9
696
33
0
0
0
750
0
0
0
0
12
0
9
696
33
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
0
12
1
0
0
0
0
5
1
0
4
0
1
0
7
0
0
0
0
0
2
0
0
4
0
1
0
5
1
0
0
0
0
3
1
0
0
0
0
0
1630
12
4
6
21
115
95
71
1178
87
27
13
1
1542
6
3
4
7
78
78
70
1171
84
27
13
1
88
6
1
2
14
37
17
1
7
3
0
0
0
479
5
4
6
21
94
85
42
132
50
27
12
1
407
2
3
4
7
66
71
42
125
47
27
12
1
72
3
1
2
14
28
14
0
7
3
0
0
0
379
6
0
0
0
0
5
19
349
0
0
0
0
377
4
0
0
0
0
5
19
349
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
759
0
0
0
0
21
0
9
696
33
0
0
0
750
0
0
0
0
12
0
9
696
33
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
0
13
1
0
0
0
0
5
1
1
4
0
1
0
8
0
0
0
0
0
2
0
1
4
0
1
0
5
1
0
0
0
0
3
1
0
0
0
0
0
1100
3
2
5
3
37
85
36
17
348
407
152
5
1074
1
1
4
0
23
82
36
17
348
407
152
3
26
2
1
1
3
14
3
0
0
0
0
0
2
816
3
2
5
3
35
85
30
17
150
332
149
5
790
1
1
4
0
21
82
30
17
150
332
149
3
26
2
1
1
3
14
3
0
0
0
0
0
2
281
0
0
0
0
0
0
6
0
197
75
3
0
281
0
0
0
0
0
0
6
0
197
75
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1118
3
2
5
4
37
87
37
17
348
407
167
4
1091
1
1
4
0
23
83
37
17
348
407
167
3
27
2
1
1
4
14
4
0
0
0
0
0
1
834
3
2
5
4
35
87
31
17
150
332
164
4
807
1
1
4
0
21
83
31
17
150
332
164
3
27
2
1
1
4
14
4
0
0
0
0
0
1
281
0
0
0
0
0
0
6
0
197
75
3
0
281
0
0
0
0
0
0
6
0
197
75
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
1127
3
2
5
4
37
88
37
18
348
409
175
1
1100
1
1
4
0
23
84
37
18
347
409
175
1
27
2
1
1
4
14
4
0
0
1
0
0
0
843
3
2
5
4
35
88
31
18
150
334
172
1
816
1
1
4
0
21
84
31
18
149
334
172
1
27
2
1
1
4
14
4
0
0
1
0
0
0
281
0
0
0
0
0
0
6
0
197
75
3
0
281
0
0
0
0
0
0
6
0
197
75
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1146
3
2
5
3
38
88
37
18
350
409
193
0
1120
1
1
4
0
23
84
37
18
350
409
193
0
26
2
1
1
3
15
4
0
0
0
0
0
0
862
3
2
5
3
36
88
31
18
152
334
190
0
836
1
1
4
0
21
84
31
18
152
334
190
0
26
2
1
1
3
15
4
0
0
0
0
0
0
281
0
0
0
0
0
0
6
0
197
75
3
0
281
0
0
0
0
0
0
6
0
197
75
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1169
3
2
5
3
38
89
37
18
350
409
215
0
1144
1
1
5
0
23
85
37
18
350
409
215
0
25
2
1
0
3
15
4
0
0
0
0
0
0
880
3
2
5
3
36
89
31
18
152
334
207
0
855
1
1
5
0
21
85
31
18
152
334
207
0
25
2
1
0
3
15
4
0
0
0
0
0
0
286
0
0
0
0
0
0
6
0
197
75
8
0
286
0
0
0
0
0
0
6
0
197
75
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
688
42
9
12
34
64
81
184
70
91
68
26
7
597
24
6
6
15
30
76
183
69
90
68
26
4
91
18
3
6
19
34
5
1
1
1
0
0
3
593
41
9
12
34
64
71
152
37
84
68
15
6
503
23
6
6
15
30
66
151
36
83
68
15
4
90
18
3
6
19
34
5
1
1
1
0
0
2
66
0
0
0
0
0
0
15
33
7
0
11
0
66
0
0
0
0
0
0
15
33
7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
10
16
0
0
0
0
0
26
0
0
0
0
0
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
703
47
9
14
34
64
84
187
70
91
68
28
7
607
24
6
6
16
31
79
186
69
90
68
28
4
96
23
3
8
18
33
5
1
1
1
0
0
3
607
46
9
14
34
64
73
155
37
84
68
17
6
512
23
6
6
16
31
68
154
36
83
68
17
4
95
23
3
8
18
33
5
1
1
1
0
0
2
66
0
0
0
0
0
0
15
33
7
0
11
0
66
0
0
0
0
0
0
15
33
7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
704
46
10
15
35
65
83
188
70
93
68
31
0
610
24
7
6
16
32
77
186
70
93
68
31
0
94
22
3
9
19
33
6
2
0
0
0
0
0
609
45
10
14
35
65
72
157
37
86
68
20
0
516
23
7
6
16
32
66
155
37
86
68
20
0
93
22
3
8
19
33
6
2
0
0
0
0
0
66
0
0
0
0
0
0
15
33
7
0
11
0
66
0
0
0
0
0
0
15
33
7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
699
46
10
15
33
62
82
189
70
93
68
31
0
609
24
7
6
16
32
76
187
70
92
68
31
0
90
22
3
9
17
30
6
2
0
1
0
0
0
603
45
10
14
33
62
71
157
37
86
68
20
0
514
23
7
6
16
32
65
155
37
85
68
20
0
89
22
3
8
17
30
6
2
0
1
0
0
0
66
0
0
0
0
0
0
15
33
7
0
11
0
66
0
0
0
0
0
0
15
33
7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
1
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
698
46
10
15
31
62
82
189
70
93
68
32
0
611
24
7
6
16
33
76
187
70
92
68
32
0
87
22
3
9
15
29
6
2
0
1
0
0
0
602
45
10
14
31
62
71
157
37
86
68
21
0
516
23
7
6
16
33
65
155
37
85
68
21
0
86
22
3
8
15
29
6
2
0
1
0
0
0
66
0
0
0
0
0
0
15
33
7
0
11
0
66
0
0
0
0
0
0
15
33
7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
27
0
0
0
0
0
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
1
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
384
23
15
21
35
62
45
57
47
35
25
9
10
299
11
10
11
17
39
36
57
45
35
24
6
8
85
12
5
10
18
23
9
0
2
0
1
3
2
373
23
11
19
35
61
42
57
46
35
25
9
10
293
11
8
11
17
39
33
57
44
35
24
6
8
80
12
3
8
18
22
9
0
2
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
396
25
16
21
37
64
45
59
47
35
25
14
8
308
11
11
11
19
40
36
59
45
35
24
12
5
88
14
5
10
18
24
9
0
2
0
1
2
3
383
24
11
19
37
63
42
59
46
35
25
14
8
301
11
8
11
19
40
33
59
44
35
24
12
5
82
13
3
8
18
23
9
0
2
0
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
395
24
16
21
36
65
46
61
48
36
25
16
1
312
11
11
11
19
41
37
60
47
36
24
14
1
83
13
5
10
17
24
9
1
1
0
1
2
0
382
23
11
19
36
64
43
61
47
36
25
16
1
305
11
8
11
19
41
34
60
46
36
24
14
1
77
12
3
8
17
23
9
1
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
8
1
0
2
0
1
3
0
1
0
0
0
0
4
0
0
0
0
0
3
0
1
0
0
0
0
4
1
0
2
0
1
0
0
0
0
0
0
0
395
23
16
21
36
64
46
61
47
36
24
20
1
311
10
11
11
18
40
37
61
45
36
23
18
1
84
13
5
10
18
24
9
0
2
0
1
2
0
381
22
11
19
36
63
43
60
46
36
24
20
1
303
10
8
11
18
40
34
60
44
36
23
18
1
78
12
3
8
18
23
9
0
2
0
1
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
8
1
0
2
0
1
3
0
1
0
0
0
0
4
0
0
0
0
0
3
0
1
0
0
0
0
4
1
0
2
0
1
0
0
0
0
0
0
0
395
23
16
20
36
63
46
62
47
36
24
21
1
313
10
11
11
18
40
37
62
45
36
23
19
1
82
13
5
9
18
23
9
0
2
0
1
2
0
379
22
11
18
36
62
43
59
46
36
24
21
1
303
10
8
11
18
40
34
59
44
36
23
19
1
76
12
3
7
18
22
9
0
2
0
1
2
0
3
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
8
1
0
2
0
1
3
0
1
0
0
0
0
4
0
0
0
0
0
3
0
1
0
0
0
0
4
1
0
2
0
1
0
0
0
0
0
0
0
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..;