This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/tutorials/compressible/steadyCompressibleFoam/2bump/constant/polyMesh/neighbour
2014-05-28 12:53:47 +01:00

54307 lines
217 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.0 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class labelList;
note "nCells:13500 nActiveFaces:54285 nActivePoints:27572";
object neighbour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54285
(
1
60
9345
9404
2
61
9346
3
62
9347
4
63
9348
5
64
9349
6
65
9350
7
66
9351
8
67
9352
9
68
9353
10
69
9354
11
70
9355
12
71
9356
13
72
9357
14
73
9358
15
74
9359
16
75
9360
17
76
9361
18
77
9362
19
78
9363
20
79
9364
21
80
9365
22
81
9366
23
82
9367
24
83
9368
25
84
9369
26
85
9370
27
86
9371
28
87
9372
29
88
9373
30
89
9374
31
90
9375
32
91
9376
33
92
9377
34
93
9378
35
94
9379
36
95
9380
37
96
9381
38
97
9382
39
98
9383
40
99
9384
41
100
9385
42
101
9386
43
102
9387
44
103
9388
104
9389
46
105
9390
47
106
9391
48
107
9392
49
108
9393
50
109
9394
51
110
9395
52
111
9396
53
112
9397
54
113
9398
55
114
9399
56
115
9400
57
116
9401
58
117
9402
59
118
9403
60
119
9404
61
120
62
121
63
122
64
123
65
124
66
125
67
126
68
127
69
128
70
129
71
130
72
131
73
132
74
133
75
134
76
135
77
136
78
137
79
138
80
139
81
140
82
141
83
142
84
143
85
144
86
145
87
146
88
147
89
148
90
149
91
150
92
151
93
152
94
153
95
154
96
155
97
156
98
157
99
158
100
159
101
160
102
161
103
162
104
163
164
106
165
107
166
108
167
109
168
110
169
111
170
112
171
113
172
114
173
115
174
116
175
117
176
118
177
119
178
120
179
121
180
122
181
123
182
124
183
125
184
126
185
127
186
128
187
129
188
130
189
131
190
132
191
133
192
134
193
135
194
136
195
137
196
138
197
139
198
140
199
141
200
142
201
143
202
144
203
145
204
146
205
147
206
148
207
149
208
150
209
151
210
152
211
153
212
154
213
155
214
156
215
157
216
158
217
159
218
160
219
161
220
162
221
163
222
164
223
224
166
225
167
226
168
227
169
228
170
229
171
230
172
231
173
232
174
233
175
234
176
235
177
236
178
237
179
238
180
239
181
240
182
241
183
242
184
243
185
244
186
245
187
246
188
247
189
248
190
249
191
250
192
251
193
252
194
253
195
254
196
255
197
256
198
257
199
258
200
259
201
260
202
261
203
262
204
263
205
264
206
265
207
266
208
267
209
268
210
269
211
270
212
271
213
272
214
273
215
274
216
275
217
276
218
277
219
278
220
279
221
280
222
281
223
282
224
283
284
226
285
227
286
228
287
229
288
230
289
231
290
232
291
233
292
234
293
235
294
236
295
237
296
238
297
239
298
240
299
241
300
242
301
243
302
244
303
245
304
246
305
247
306
248
307
249
308
250
309
251
310
252
311
253
312
254
313
255
314
256
315
257
316
258
317
259
318
260
319
261
320
262
321
263
322
264
323
265
324
266
325
267
326
268
327
269
328
270
329
271
330
272
331
273
332
274
333
275
334
276
335
277
336
278
337
279
338
280
339
281
340
282
341
283
342
284
343
344
286
345
287
346
288
347
289
348
290
349
291
350
292
351
293
352
294
353
295
354
296
355
297
356
298
357
299
358
300
359
301
360
302
361
303
362
304
363
305
364
306
365
307
366
308
367
309
368
310
369
311
370
312
371
313
372
314
373
315
374
316
375
317
376
318
377
319
378
320
379
321
380
322
381
323
382
324
383
325
384
326
385
327
386
328
387
329
388
330
389
331
390
332
391
333
392
334
393
335
394
336
395
337
396
338
397
339
398
340
399
341
400
342
401
343
402
344
403
404
346
405
347
406
348
407
349
408
350
409
351
410
352
411
353
412
354
413
355
414
356
415
357
416
358
417
359
418
360
419
361
420
362
421
363
422
364
423
365
424
366
425
367
426
368
427
369
428
370
429
371
430
372
431
373
432
374
433
375
434
376
435
377
436
378
437
379
438
380
439
381
440
382
441
383
442
384
443
385
444
386
445
387
446
388
447
389
448
390
449
391
450
392
451
393
452
394
453
395
454
396
455
397
456
398
457
399
458
400
459
401
460
402
461
403
462
404
463
464
406
465
407
466
408
467
409
468
410
469
411
470
412
471
413
472
414
473
415
474
416
475
417
476
418
477
419
478
420
479
421
480
422
481
423
482
424
483
425
484
426
485
427
486
428
487
429
488
430
489
431
490
432
491
433
492
434
493
435
494
436
495
437
496
438
497
439
498
440
499
441
500
442
501
443
502
444
503
445
504
446
505
447
506
448
507
449
508
450
509
451
510
452
511
453
512
454
513
455
514
456
515
457
516
458
517
459
518
460
519
461
520
462
521
463
522
464
523
524
466
525
467
526
468
527
469
528
470
529
471
530
472
531
473
532
474
533
475
534
476
535
477
536
478
537
479
538
480
539
481
540
482
541
483
542
484
543
485
544
486
545
487
546
488
547
489
548
490
549
491
550
492
551
493
552
494
553
495
554
496
555
497
556
498
557
499
558
500
559
501
560
502
561
503
562
504
563
505
564
506
565
507
566
508
567
509
568
510
569
511
570
512
571
513
572
514
573
515
574
516
575
517
576
518
577
519
578
520
579
521
580
522
581
523
582
524
583
584
526
585
527
586
528
587
529
588
530
589
531
590
532
591
533
592
534
593
535
594
536
595
537
596
538
597
539
598
540
599
541
600
542
601
543
602
544
603
545
604
546
605
547
606
548
607
549
608
550
609
551
610
552
611
553
612
554
613
555
614
556
615
557
616
558
617
559
618
560
619
561
620
562
621
563
622
564
623
565
624
566
625
567
626
568
627
569
628
570
629
571
630
572
631
573
632
574
633
575
634
576
635
577
636
578
637
579
638
580
639
581
640
582
641
583
642
584
643
644
586
645
587
646
588
647
589
648
590
649
591
650
592
651
593
652
594
653
595
654
596
655
597
656
598
657
599
658
600
659
601
660
602
661
603
662
604
663
605
664
606
665
607
666
608
667
609
668
610
669
611
670
612
671
613
672
614
673
615
674
616
675
617
676
618
677
619
678
620
679
621
680
622
681
623
682
624
683
625
684
626
685
627
686
628
687
629
688
630
689
631
690
632
691
633
692
634
693
635
694
636
695
637
696
638
697
639
698
640
699
641
700
642
701
643
702
644
703
704
646
705
647
706
648
707
649
708
650
709
651
710
652
711
653
712
654
713
655
714
656
715
657
716
658
717
659
718
660
719
661
720
662
721
663
722
664
723
665
724
666
725
667
726
668
727
669
728
670
729
671
730
672
731
673
732
674
733
675
734
676
735
677
736
678
737
679
738
680
739
681
740
682
741
683
742
684
743
685
744
686
745
687
746
688
747
689
748
690
749
691
750
692
751
693
752
694
753
695
754
696
755
697
756
698
757
699
758
700
759
701
760
702
761
703
762
704
763
764
706
765
707
766
708
767
709
768
710
769
711
770
712
771
713
772
714
773
715
774
716
775
717
776
718
777
719
778
720
779
721
780
722
781
723
782
724
783
725
784
726
785
727
786
728
787
729
788
730
789
731
790
732
791
733
792
734
793
735
794
736
795
737
796
738
797
739
798
740
799
741
800
742
801
743
802
744
803
745
804
746
805
747
806
748
807
749
808
750
809
751
810
752
811
753
812
754
813
755
814
756
815
757
816
758
817
759
818
760
819
761
820
762
821
763
822
764
823
824
766
825
767
826
768
827
769
828
770
829
771
830
772
831
773
832
774
833
775
834
776
835
777
836
778
837
779
838
780
839
781
840
782
841
783
842
784
843
785
844
786
845
787
846
788
847
789
848
790
849
791
850
792
851
793
852
794
853
795
854
796
855
797
856
798
857
799
858
800
859
801
860
802
861
803
862
804
863
805
864
806
865
807
866
808
867
809
868
810
869
811
870
812
871
813
872
814
873
815
874
816
875
817
876
818
877
819
878
820
879
821
880
822
881
823
882
824
883
884
826
885
827
886
828
887
829
888
830
889
831
890
832
891
833
892
834
893
835
894
836
895
837
896
838
897
839
898
840
899
841
900
842
901
843
902
844
903
845
904
846
905
847
906
848
907
849
908
850
909
851
910
852
911
853
912
854
913
855
914
856
915
857
916
858
917
859
918
860
919
861
920
862
921
863
922
864
923
865
924
866
925
867
926
868
927
869
928
870
929
871
930
872
931
873
932
874
933
875
934
876
935
877
936
878
937
879
938
880
939
881
940
882
941
883
942
884
943
944
886
945
887
946
888
947
889
948
890
949
891
950
892
951
893
952
894
953
895
954
896
955
897
956
898
957
899
958
900
959
901
960
902
961
903
962
904
963
905
964
906
965
907
966
908
967
909
968
910
969
911
970
912
971
913
972
914
973
915
974
916
975
917
976
918
977
919
978
920
979
921
980
922
981
923
982
924
983
925
984
926
985
927
986
928
987
929
988
930
989
931
990
932
991
933
992
934
993
935
994
936
995
937
996
938
997
939
998
940
999
941
1000
942
1001
943
1002
944
1003
1004
946
1005
947
1006
948
1007
949
1008
950
1009
951
1010
952
1011
953
1012
954
1013
955
1014
956
1015
957
1016
958
1017
959
1018
960
1019
961
1020
962
1021
963
1022
964
1023
965
1024
966
1025
967
1026
968
1027
969
1028
970
1029
971
1030
972
1031
973
1032
974
1033
975
1034
976
1035
977
1036
978
1037
979
1038
980
1039
981
1040
982
1041
983
1042
984
1043
985
1044
986
1045
987
1046
988
1047
989
1048
990
1049
991
1050
992
1051
993
1052
994
1053
995
1054
996
1055
997
1056
998
1057
999
1058
1000
1059
1001
1060
1002
1061
1003
1062
1004
1063
1064
1006
1065
1007
1066
1008
1067
1009
1068
1010
1069
1011
1070
1012
1071
1013
1072
1014
1073
1015
1074
1016
1075
1017
1076
1018
1077
1019
1078
1020
1079
1021
1080
1022
1081
1023
1082
1024
1083
1025
1084
1026
1085
1027
1086
1028
1087
1029
1088
1030
1089
1031
1090
1032
1091
1033
1092
1034
1093
1035
1094
1036
1095
1037
1096
1038
1097
1039
1098
1040
1099
1041
1100
1042
1101
1043
1102
1044
1103
1045
1104
1046
1105
1047
1106
1048
1107
1049
1108
1050
1109
1051
1110
1052
1111
1053
1112
1054
1113
1055
1114
1056
1115
1057
1116
1058
1117
1059
1118
1060
1119
1061
1120
1062
1121
1063
1122
1064
1123
1124
1066
1125
1067
1126
1068
1127
1069
1128
1070
1129
1071
1130
1072
1131
1073
1132
1074
1133
1075
1134
1076
1135
1077
1136
1078
1137
1079
1138
1080
1139
1081
1140
1082
1141
1083
1142
1084
1143
1085
1144
1086
1145
1087
1146
1088
1147
1089
1148
1090
1149
1091
1150
1092
1151
1093
1152
1094
1153
1095
1154
1096
1155
1097
1156
1098
1157
1099
1158
1100
1159
1101
1160
1102
1161
1103
1162
1104
1163
1105
1164
1106
1165
1107
1166
1108
1167
1109
1168
1110
1169
1111
1170
1112
1171
1113
1172
1114
1173
1115
1174
1116
1175
1117
1176
1118
1177
1119
1178
1120
1179
1121
1180
1122
1181
1123
1182
1124
1183
1184
1126
1185
1127
1186
1128
1187
1129
1188
1130
1189
1131
1190
1132
1191
1133
1192
1134
1193
1135
1194
1136
1195
1137
1196
1138
1197
1139
1198
1140
1199
1141
1200
1142
1201
1143
1202
1144
1203
1145
1204
1146
1205
1147
1206
1148
1207
1149
1208
1150
1209
1151
1210
1152
1211
1153
1212
1154
1213
1155
1214
1156
1215
1157
1216
1158
1217
1159
1218
1160
1219
1161
1220
1162
1221
1163
1222
1164
1223
1165
1224
1166
1225
1167
1226
1168
1227
1169
1228
1170
1229
1171
1230
1172
1231
1173
1232
1174
1233
1175
1234
1176
1235
1177
1236
1178
1237
1179
1238
1180
1239
1181
1240
1182
1241
1183
1242
1184
1243
1244
1186
1245
1187
1246
1188
1247
1189
1248
1190
1249
1191
1250
1192
1251
1193
1252
1194
1253
1195
1254
1196
1255
1197
1256
1198
1257
1199
1258
1200
1259
1201
1260
1202
1261
1203
1262
1204
1263
1205
1264
1206
1265
1207
1266
1208
1267
1209
1268
1210
1269
1211
1270
1212
1271
1213
1272
1214
1273
1215
1274
1216
1275
1217
1276
1218
1277
1219
1278
1220
1279
1221
1280
1222
1281
1223
1282
1224
1283
1225
1284
1226
1285
1227
1286
1228
1287
1229
1288
1230
1289
1231
1290
1232
1291
1233
1292
1234
1293
1235
1294
1236
1295
1237
1296
1238
1297
1239
1298
1240
1299
1241
1300
1242
1301
1243
1302
1244
1303
1304
1246
1305
1247
1306
1248
1307
1249
1308
1250
1309
1251
1310
1252
1311
1253
1312
1254
1313
1255
1314
1256
1315
1257
1316
1258
1317
1259
1318
1260
1319
1261
1320
1262
1321
1263
1322
1264
1323
1265
1324
1266
1325
1267
1326
1268
1327
1269
1328
1270
1329
1271
1330
1272
1331
1273
1332
1274
1333
1275
1334
1276
1335
1277
1336
1278
1337
1279
1338
1280
1339
1281
1340
1282
1341
1283
1342
1284
1343
1285
1344
1286
1345
1287
1346
1288
1347
1289
1348
1290
1349
1291
1350
1292
1351
1293
1352
1294
1353
1295
1354
1296
1355
1297
1356
1298
1357
1299
1358
1300
1359
1301
1360
1302
1361
1303
1362
1304
1363
1364
1306
1365
1307
1366
1308
1367
1309
1368
1310
1369
1311
1370
1312
1371
1313
1372
1314
1373
1315
1374
1316
1375
1317
1376
1318
1377
1319
1378
1320
1379
1321
1380
1322
1381
1323
1382
1324
1383
1325
1384
1326
1385
1327
1386
1328
1387
1329
1388
1330
1389
1331
1390
1332
1391
1333
1392
1334
1393
1335
1394
1336
1395
1337
1396
1338
1397
1339
1398
1340
1399
1341
1400
1342
1401
1343
1402
1344
1403
1345
1404
1346
1405
1347
1406
1348
1407
1349
1408
1350
1409
1351
1410
1352
1411
1353
1412
1354
1413
1355
1414
1356
1415
1357
1416
1358
1417
1359
1418
1360
1419
1361
1420
1362
1421
1363
1422
1364
1423
1424
1366
1425
1367
1426
1368
1427
1369
1428
1370
1429
1371
1430
1372
1431
1373
1432
1374
1433
1375
1434
1376
1435
1377
1436
1378
1437
1379
1438
1380
1439
1381
1440
1382
1441
1383
1442
1384
1443
1385
1444
1386
1445
1387
1446
1388
1447
1389
1448
1390
1449
1391
1450
1392
1451
1393
1452
1394
1453
1395
1454
1396
1455
1397
1456
1398
1457
1399
1458
1400
1459
1401
1460
1402
1461
1403
1462
1404
1463
1405
1464
1406
1465
1407
1466
1408
1467
1409
1468
1410
1469
1411
1470
1412
1471
1413
1472
1414
1473
1415
1474
1416
1475
1417
1476
1418
1477
1419
1478
1420
1479
1421
1480
1422
1481
1423
1482
1424
1483
1484
1426
1485
1427
1486
1428
1487
1429
1488
1430
1489
1431
1490
1432
1491
1433
1492
1434
1493
1435
1494
1436
1495
1437
1496
1438
1497
1439
1498
1440
1499
1441
1500
1442
1501
1443
1502
1444
1503
1445
1504
1446
1505
1447
1506
1448
1507
1449
1508
1450
1509
1451
1510
1452
1511
1453
1512
1454
1513
1455
1514
1456
1515
1457
1516
1458
1517
1459
1518
1460
1519
1461
1520
1462
1521
1463
1522
1464
1523
1465
1524
1466
1525
1467
1526
1468
1527
1469
1528
1470
1529
1471
1530
1472
1531
1473
1532
1474
1533
1475
1534
1476
1535
1477
1536
1478
1537
1479
1538
1480
1539
1481
1540
1482
1541
1483
1542
1484
1543
1544
1486
1545
1487
1546
1488
1547
1489
1548
1490
1549
1491
1550
1492
1551
1493
1552
1494
1553
1495
1554
1496
1555
1497
1556
1498
1557
1499
1558
1500
1559
1501
1560
1502
1561
1503
1562
1504
1563
1505
1564
1506
1565
1507
1566
1508
1567
1509
1568
1510
1569
1511
1570
1512
1571
1513
1572
1514
1573
1515
1574
1516
1575
1517
1576
1518
1577
1519
1578
1520
1579
1521
1580
1522
1581
1523
1582
1524
1583
1525
1584
1526
1585
1527
1586
1528
1587
1529
1588
1530
1589
1531
1590
1532
1591
1533
1592
1534
1593
1535
1594
1536
1595
1537
1596
1538
1597
1539
1598
1540
1599
1541
1600
1542
1601
1543
1602
1544
1603
1604
1546
1605
1547
1606
1548
1607
1549
1608
1550
1609
1551
1610
1552
1611
1553
1612
1554
1613
1555
1614
1556
1615
1557
1616
1558
1617
1559
1618
1560
1619
1561
1620
1562
1621
1563
1622
1564
1623
1565
1624
1566
1625
1567
1626
1568
1627
1569
1628
1570
1629
1571
1630
1572
1631
1573
1632
1574
1633
1575
1634
1576
1635
1577
1636
1578
1637
1579
1638
1580
1639
1581
1640
1582
1641
1583
1642
1584
1643
1585
1644
1586
1645
1587
1646
1588
1647
1589
1648
1590
1649
1591
1650
1592
1651
1593
1652
1594
1653
1595
1654
1596
1655
1597
1656
1598
1657
1599
1658
1600
1659
1601
1660
1602
1661
1603
1662
1604
1663
1664
1606
1665
1607
1666
1608
1667
1609
1668
1610
1669
1611
1670
1612
1671
1613
1672
1614
1673
1615
1674
1616
1675
1617
1676
1618
1677
1619
1678
1620
1679
1621
1680
1622
1681
1623
1682
1624
1683
1625
1684
1626
1685
1627
1686
1628
1687
1629
1688
1630
1689
1631
1690
1632
1691
1633
1692
1634
1693
1635
1694
1636
1695
1637
1696
1638
1697
1639
1698
1640
1699
1641
1700
1642
1701
1643
1702
1644
1703
1645
1704
1646
1705
1647
1706
1648
1707
1649
1708
1650
1709
1651
1710
1652
1711
1653
1712
1654
1713
1655
1714
1656
1715
1657
1716
1658
1717
1659
1718
1660
1719
1661
1720
1662
1721
1663
1722
1664
1723
1724
1666
1725
1667
1726
1668
1727
1669
1728
1670
1729
1671
1730
1672
1731
1673
1732
1674
1733
1675
1734
1676
1735
1677
1736
1678
1737
1679
1738
1680
1739
1681
1740
1682
1741
1683
1742
1684
1743
1685
1744
1686
1745
1687
1746
1688
1747
1689
1748
1690
1749
1691
1750
1692
1751
1693
1752
1694
1753
1695
1754
1696
1755
1697
1756
1698
1757
1699
1758
1700
1759
1701
1760
1702
1761
1703
1762
1704
1763
1705
1764
1706
1765
1707
1766
1708
1767
1709
1768
1710
1769
1711
1770
1712
1771
1713
1772
1714
1773
1715
1774
1716
1775
1717
1776
1718
1777
1719
1778
1720
1779
1721
1780
1722
1781
1723
1782
1724
1783
1784
1726
1785
1727
1786
1728
1787
1729
1788
1730
1789
1731
1790
1732
1791
1733
1792
1734
1793
1735
1794
1736
1795
1737
1796
1738
1797
1739
1798
1740
1799
1741
1800
1742
1801
1743
1802
1744
1803
1745
1804
1746
1805
1747
1806
1748
1807
1749
1808
1750
1809
1751
1810
1752
1811
1753
1812
1754
1813
1755
1814
1756
1815
1757
1816
1758
1817
1759
1818
1760
1819
1761
1820
1762
1821
1763
1822
1764
1823
1765
1824
1766
1825
1767
1826
1768
1827
1769
1828
1770
1829
1771
1830
1772
1831
1773
1832
1774
1833
1775
1834
1776
1835
1777
1836
1778
1837
1779
1838
1780
1839
1781
1840
1782
1841
1783
1842
1784
1843
1844
1786
1845
1787
1846
1788
1847
1789
1848
1790
1849
1791
1850
1792
1851
1793
1852
1794
1853
1795
1854
1796
1855
1797
1856
1798
1857
1799
1858
1800
1859
1801
1860
1802
1861
1803
1862
1804
1863
1805
1864
1806
1865
1807
1866
1808
1867
1809
1868
1810
1869
1811
1870
1812
1871
1813
1872
1814
1873
1815
1874
1816
1875
1817
1876
1818
1877
1819
1878
1820
1879
1821
1880
1822
1881
1823
1882
1824
1883
1825
1884
1826
1885
1827
1886
1828
1887
1829
1888
1830
1889
1831
1890
1832
1891
1833
1892
1834
1893
1835
1894
1836
1895
1837
1896
1838
1897
1839
1898
1840
1899
1841
1900
1842
1901
1843
1902
1844
1903
1904
1846
1905
1847
1906
1848
1907
1849
1908
1850
1909
1851
1910
1852
1911
1853
1912
1854
1913
1855
1914
1856
1915
1857
1916
1858
1917
1859
1918
1860
1919
1861
1920
1862
1921
1863
1922
1864
1923
1865
1924
1866
1925
1867
1926
1868
1927
1869
1928
1870
1929
1871
1930
1872
1931
1873
1932
1874
1933
1875
1934
1876
1935
1877
1936
1878
1937
1879
1938
1880
1939
1881
1940
1882
1941
1883
1942
1884
1943
1885
1944
1886
1945
1887
1946
1888
1947
1889
1948
1890
1949
1891
1950
1892
1951
1893
1952
1894
1953
1895
1954
1896
1955
1897
1956
1898
1957
1899
1958
1900
1959
1901
1960
1902
1961
1903
1962
1904
1963
1964
1906
1965
1907
1966
1908
1967
1909
1968
1910
1969
1911
1970
1912
1971
1913
1972
1914
1973
1915
1974
1916
1975
1917
1976
1918
1977
1919
1978
1920
1979
1921
1980
1922
1981
1923
1982
1924
1983
1925
1984
1926
1985
1927
1986
1928
1987
1929
1988
1930
1989
1931
1990
1932
1991
1933
1992
1934
1993
1935
1994
1936
1995
1937
1996
1938
1997
1939
1998
1940
1999
1941
2000
1942
2001
1943
2002
1944
2003
1945
2004
1946
2005
1947
2006
1948
2007
1949
2008
1950
2009
1951
2010
1952
2011
1953
2012
1954
2013
1955
2014
1956
2015
1957
2016
1958
2017
1959
2018
1960
2019
1961
2020
1962
2021
1963
2022
1964
2023
2024
1966
2025
1967
2026
1968
2027
1969
2028
1970
2029
1971
2030
1972
2031
1973
2032
1974
2033
1975
2034
1976
2035
1977
2036
1978
2037
1979
2038
1980
2039
1981
2040
1982
2041
1983
2042
1984
2043
1985
2044
1986
2045
1987
2046
1988
2047
1989
2048
1990
2049
1991
2050
1992
2051
1993
2052
1994
2053
1995
2054
1996
2055
1997
2056
1998
2057
1999
2058
2000
2059
2001
2060
2002
2061
2003
2062
2004
2063
2005
2064
2006
2065
2007
2066
2008
2067
2009
2068
2010
2069
2011
2070
2012
2071
2013
2072
2014
2073
2015
2074
2016
2075
2017
2076
2018
2077
2019
2078
2020
2079
2021
2080
2022
2081
2023
2082
2024
2083
2084
2026
2085
2027
2086
2028
2087
2029
2088
2030
2089
2031
2090
2032
2091
2033
2092
2034
2093
2035
2094
2036
2095
2037
2096
2038
2097
2039
2098
2040
2099
2041
2100
2042
2101
2043
2102
2044
2103
2045
2104
2046
2105
2047
2106
2048
2107
2049
2108
2050
2109
2051
2110
2052
2111
2053
2112
2054
2113
2055
2114
2056
2115
2057
2116
2058
2117
2059
2118
2060
2119
2061
2120
2062
2121
2063
2122
2064
2123
2065
2124
2066
2125
2067
2126
2068
2127
2069
2128
2070
2129
2071
2130
2072
2131
2073
2132
2074
2133
2075
2134
2076
2135
2077
2136
2078
2137
2079
2138
2080
2139
2081
2140
2082
2141
2083
2142
2084
2143
2144
2086
2145
2087
2146
2088
2147
2089
2148
2090
2149
2091
2150
2092
2151
2093
2152
2094
2153
2095
2154
2096
2155
2097
2156
2098
2157
2099
2158
2100
2159
2101
2160
2102
2161
2103
2162
2104
2163
2105
2164
2106
2165
2107
2166
2108
2167
2109
2168
2110
2169
2111
2170
2112
2171
2113
2172
2114
2173
2115
2174
2116
2175
2117
2176
2118
2177
2119
2178
2120
2179
2121
2180
2122
2181
2123
2182
2124
2183
2125
2184
2126
2185
2127
2186
2128
2187
2129
2188
2130
2189
2131
2190
2132
2191
2133
2192
2134
2193
2135
2194
2136
2195
2137
2196
2138
2197
2139
2198
2140
2199
2141
2200
2142
2201
2143
2202
2144
2203
2204
2146
2205
2147
2206
2148
2207
2149
2208
2150
2209
2151
2210
2152
2211
2153
2212
2154
2213
2155
2214
2156
2215
2157
2216
2158
2217
2159
2218
2160
2219
2161
2220
2162
2221
2163
2222
2164
2223
2165
2224
2166
2225
2167
2226
2168
2227
2169
2228
2170
2229
2171
2230
2172
2231
2173
2232
2174
2233
2175
2234
2176
2235
2177
2236
2178
2237
2179
2238
2180
2239
2181
2240
2182
2241
2183
2242
2184
2243
2185
2244
2186
2245
2187
2246
2188
2247
2189
2248
2190
2249
2191
2250
2192
2251
2193
2252
2194
2253
2195
2254
2196
2255
2197
2256
2198
2257
2199
2258
2200
2259
2201
2260
2202
2261
2203
2262
2204
2263
2264
2206
2265
2207
2266
2208
2267
2209
2268
2210
2269
2211
2270
2212
2271
2213
2272
2214
2273
2215
2274
2216
2275
2217
2276
2218
2277
2219
2278
2220
2279
2221
2280
2222
2281
2223
2282
2224
2283
2225
2284
2226
2285
2227
2286
2228
2287
2229
2288
2230
2289
2231
2290
2232
2291
2233
2292
2234
2293
2235
2294
2236
2295
2237
2296
2238
2297
2239
2298
2240
2299
2241
2300
2242
2301
2243
2302
2244
2303
2245
2304
2246
2305
2247
2306
2248
2307
2249
2308
2250
2309
2251
2310
2252
2311
2253
2312
2254
2313
2255
2314
2256
2315
2257
2316
2258
2317
2259
2318
2260
2319
2261
2320
2262
2321
2263
2322
2264
2323
2324
2266
2325
2267
2326
2268
2327
2269
2328
2270
2329
2271
2330
2272
2331
2273
2332
2274
2333
2275
2334
2276
2335
2277
2336
2278
2337
2279
2338
2280
2339
2281
2340
2282
2341
2283
2342
2284
2343
2285
2344
2286
2345
2287
2346
2288
2347
2289
2348
2290
2349
2291
2350
2292
2351
2293
2352
2294
2353
2295
2354
2296
2355
2297
2356
2298
2357
2299
2358
2300
2359
2301
2360
2302
2361
2303
2362
2304
2363
2305
2364
2306
2365
2307
2366
2308
2367
2309
2368
2310
2369
2311
2370
2312
2371
2313
2372
2314
2373
2315
2374
2316
2375
2317
2376
2318
2377
2319
2378
2320
2379
2321
2380
2322
2381
2323
2382
2324
2383
2384
2326
2385
2327
2386
2328
2387
2329
2388
2330
2389
2331
2390
2332
2391
2333
2392
2334
2393
2335
2394
2336
2395
2337
2396
2338
2397
2339
2398
2340
2399
2341
2400
2342
2401
2343
2402
2344
2403
2345
2404
2346
2405
2347
2406
2348
2407
2349
2408
2350
2409
2351
2410
2352
2411
2353
2412
2354
2413
2355
2414
2356
2415
2357
2416
2358
2417
2359
2418
2360
2419
2361
2420
2362
2421
2363
2422
2364
2423
2365
2424
2366
2425
2367
2426
2368
2427
2369
2428
2370
2429
2371
2430
2372
2431
2373
2432
2374
2433
2375
2434
2376
2435
2377
2436
2378
2437
2379
2438
2380
2439
2381
2440
2382
2441
2383
2442
2384
2443
2444
2386
2445
2387
2446
2388
2447
2389
2448
2390
2449
2391
2450
2392
2451
2393
2452
2394
2453
2395
2454
2396
2455
2397
2456
2398
2457
2399
2458
2400
2459
2401
2460
2402
2461
2403
2462
2404
2463
2405
2464
2406
2465
2407
2466
2408
2467
2409
2468
2410
2469
2411
2470
2412
2471
2413
2472
2414
2473
2415
2474
2416
2475
2417
2476
2418
2477
2419
2478
2420
2479
2421
2480
2422
2481
2423
2482
2424
2483
2425
2484
2426
2485
2427
2486
2428
2487
2429
2488
2430
2489
2431
2490
2432
2491
2433
2492
2434
2493
2435
2494
2436
2495
2437
2496
2438
2497
2439
2498
2440
2499
2441
2500
2442
2501
2443
2502
2444
2503
2504
2446
2505
2447
2506
2448
2507
2449
2508
2450
2509
2451
2510
2452
2511
2453
2512
2454
2513
2455
2514
2456
2515
2457
2516
2458
2517
2459
2518
2460
2519
2461
2520
2462
2521
2463
2522
2464
2523
2465
2524
2466
2525
2467
2526
2468
2527
2469
2528
2470
2529
2471
2530
2472
2531
2473
2532
2474
2533
2475
2534
2476
2535
2477
2536
2478
2537
2479
2538
2480
2539
2481
2540
2482
2541
2483
2542
2484
2543
2485
2544
2486
2545
2487
2546
2488
2547
2489
2548
2490
2549
2491
2550
2492
2551
2493
2552
2494
2553
2495
2554
2496
2555
2497
2556
2498
2557
2499
2558
2500
2559
2501
2560
2502
2561
2503
2562
2504
2563
2564
2506
2565
2507
2566
2508
2567
2509
2568
2510
2569
2511
2570
2512
2571
2513
2572
2514
2573
2515
2574
2516
2575
2517
2576
2518
2577
2519
2578
2520
2579
2521
2580
2522
2581
2523
2582
2524
2583
2525
2584
2526
2585
2527
2586
2528
2587
2529
2588
2530
2589
2531
2590
2532
2591
2533
2592
2534
2593
2535
2594
2536
2595
2537
2596
2538
2597
2539
2598
2540
2599
2541
2600
2542
2601
2543
2602
2544
2603
2545
2604
2546
2605
2547
2606
2548
2607
2549
2608
2550
2609
2551
2610
2552
2611
2553
2612
2554
2613
2555
2614
2556
2615
2557
2616
2558
2617
2559
2618
2560
2619
2561
2620
2562
2621
2563
2622
2564
2623
2624
2566
2625
2567
2626
2568
2627
2569
2628
2570
2629
2571
2630
2572
2631
2573
2632
2574
2633
2575
2634
2576
2635
2577
2636
2578
2637
2579
2638
2580
2639
2581
2640
2582
2641
2583
2642
2584
2643
2585
2644
2586
2645
2587
2646
2588
2647
2589
2648
2590
2649
2591
2650
2592
2651
2593
2652
2594
2653
2595
2654
2596
2655
2597
2656
2598
2657
2599
2658
2600
2659
2601
2660
2602
2661
2603
2662
2604
2663
2605
2664
2606
2665
2607
2666
2608
2667
2609
2668
2610
2669
2611
2670
2612
2671
2613
2672
2614
2673
2615
2674
2616
2675
2617
2676
2618
2677
2619
2678
2620
2679
2621
2680
2622
2681
2623
2682
2624
2683
2684
2626
2685
2627
2686
2628
2687
2629
2688
2630
2689
2631
2690
2632
2691
2633
2692
2634
2693
2635
2694
2636
2695
2637
2696
2638
2697
2639
2698
2640
2699
2641
2700
2642
2701
2643
2702
2644
2703
2645
2704
2646
2705
2647
2706
2648
2707
2649
2708
2650
2709
2651
2710
2652
2711
2653
2712
2654
2713
2655
2714
2656
2715
2657
2716
2658
2717
2659
2718
2660
2719
2661
2720
2662
2721
2663
2722
2664
2723
2665
2724
2666
2725
2667
2726
2668
2727
2669
2728
2670
2729
2671
2730
2672
2731
2673
2732
2674
2733
2675
2734
2676
2735
2677
2736
2678
2737
2679
2738
2680
2739
2681
2740
2682
2741
2683
2742
2684
2743
2744
2686
2745
2687
2746
2688
2747
2689
2748
2690
2749
2691
2750
2692
2751
2693
2752
2694
2753
2695
2754
2696
2755
2697
2756
2698
2757
2699
2758
2700
2759
2701
2760
2702
2761
2703
2762
2704
2763
2705
2764
2706
2765
2707
2766
2708
2767
2709
2768
2710
2769
2711
2770
2712
2771
2713
2772
2714
2773
2715
2774
2716
2775
2717
2776
2718
2777
2719
2778
2720
2779
2721
2780
2722
2781
2723
2782
2724
2783
2725
2784
2726
2785
2727
2786
2728
2787
2729
2788
2730
2789
2731
2790
2732
2791
2733
2792
2734
2793
2735
2794
2736
2795
2737
2796
2738
2797
2739
2798
2740
2799
2741
2800
2742
2801
2743
2802
2744
2803
2804
2746
2805
2747
2806
2748
2807
2749
2808
2750
2809
2751
2810
2752
2811
2753
2812
2754
2813
2755
2814
2756
2815
2757
2816
2758
2817
2759
2818
2760
2819
2761
2820
2762
2821
2763
2822
2764
2823
2765
2824
2766
2825
2767
2826
2768
2827
2769
2828
2770
2829
2771
2830
2772
2831
2773
2832
2774
2833
2775
2834
2776
2835
2777
2836
2778
2837
2779
2838
2780
2839
2781
2840
2782
2841
2783
2842
2784
2843
2785
2844
2786
2845
2787
2846
2788
2847
2789
2848
2790
2849
2791
2850
2792
2851
2793
2852
2794
2853
2795
2854
2796
2855
2797
2856
2798
2857
2799
2858
2800
2859
2801
2860
2802
2861
2803
2862
2804
2863
2864
2806
2865
2807
2866
2808
2867
2809
2868
2810
2869
2811
2870
2812
2871
2813
2872
2814
2873
2815
2874
2816
2875
2817
2876
2818
2877
2819
2878
2820
2879
2821
2880
2822
2881
2823
2882
2824
2883
2825
2884
2826
2885
2827
2886
2828
2887
2829
2888
2830
2889
2831
2890
2832
2891
2833
2892
2834
2893
2835
2894
2836
2895
2837
2896
2838
2897
2839
2898
2840
2899
2841
2900
2842
2901
2843
2902
2844
2903
2845
2904
2846
2905
2847
2906
2848
2907
2849
2908
2850
2909
2851
2910
2852
2911
2853
2912
2854
2913
2855
2914
2856
2915
2857
2916
2858
2917
2859
2918
2860
2919
2861
2920
2862
2921
2863
2922
2864
2923
2924
2866
2925
2867
2926
2868
2927
2869
2928
2870
2929
2871
2930
2872
2931
2873
2932
2874
2933
2875
2934
2876
2935
2877
2936
2878
2937
2879
2938
2880
2939
2881
2940
2882
2941
2883
2942
2884
2943
2885
2944
2886
2945
2887
2946
2888
2947
2889
2948
2890
2949
2891
2950
2892
2951
2893
2952
2894
2953
2895
2954
2896
2955
2897
2956
2898
2957
2899
2958
2900
2959
2901
2960
2902
2961
2903
2962
2904
2963
2905
2964
2906
2965
2907
2966
2908
2967
2909
2968
2910
2969
2911
2970
2912
2971
2913
2972
2914
2973
2915
2974
2916
2975
2917
2976
2918
2977
2919
2978
2920
2979
2921
2980
2922
2981
2923
2982
2924
2983
2984
2926
2985
2927
2986
2928
2987
2929
2988
2930
2989
2931
2990
2932
2991
2933
2992
2934
2993
2935
2994
2936
2995
2937
2996
2938
2997
2939
2998
2940
2999
2941
3000
2942
3001
2943
3002
2944
3003
2945
3004
2946
3005
2947
3006
2948
3007
2949
3008
2950
3009
2951
3010
2952
3011
2953
3012
2954
3013
2955
3014
2956
3015
2957
3016
2958
3017
2959
3018
2960
3019
2961
3020
2962
3021
2963
3022
2964
3023
2965
3024
2966
3025
2967
3026
2968
3027
2969
3028
2970
3029
2971
3030
2972
3031
2973
3032
2974
3033
2975
3034
2976
3035
2977
3036
2978
3037
2979
3038
2980
3039
2981
3040
2982
3041
2983
3042
2984
3043
3044
2986
3045
2987
3046
2988
3047
2989
3048
2990
3049
2991
3050
2992
3051
2993
3052
2994
3053
2995
3054
2996
3055
2997
3056
2998
3057
2999
3058
3000
3059
3001
3060
3002
3061
3003
3062
3004
3063
3005
3064
3006
3065
3007
3066
3008
3067
3009
3068
3010
3069
3011
3070
3012
3071
3013
3072
3014
3073
3015
3074
3016
3075
3017
3076
3018
3077
3019
3078
3020
3079
3021
3080
3022
3081
3023
3082
3024
3083
3025
3084
3026
3085
3027
3086
3028
3087
3029
3088
3030
3089
3031
3090
3032
3091
3033
3092
3034
3093
3035
3094
3036
3095
3037
3096
3038
3097
3039
3098
3040
3099
3041
3100
3042
3101
3043
3102
3044
3103
3104
3046
3105
3047
3106
3048
3107
3049
3108
3050
3109
3051
3110
3052
3111
3053
3112
3054
3113
3055
3114
3056
3115
3057
3116
3058
3117
3059
3118
3060
3119
3061
3120
3062
3121
3063
3122
3064
3123
3065
3124
3066
3125
3067
3126
3068
3127
3069
3128
3070
3129
3071
3130
3072
3131
3073
3132
3074
3133
3075
3134
3076
3135
3077
3136
3078
3137
3079
3138
3080
3139
3081
3140
3082
3141
3083
3142
3084
3143
3085
3144
3086
3145
3087
3146
3088
3147
3089
3148
3090
3149
3091
3150
3092
3151
3093
3152
3094
3153
3095
3154
3096
3155
3097
3156
3098
3157
3099
3158
3100
3159
3101
3160
3102
3161
3103
3162
3104
3163
3164
3106
3165
3107
3166
3108
3167
3109
3168
3110
3169
3111
3170
3112
3171
3113
3172
3114
3173
3115
3174
3116
3175
3117
3176
3118
3177
3119
3178
3120
3179
3121
3180
3122
3181
3123
3182
3124
3183
3125
3184
3126
3185
3127
3186
3128
3187
3129
3188
3130
3189
3131
3190
3132
3191
3133
3192
3134
3193
3135
3194
3136
3195
3137
3196
3138
3197
3139
3198
3140
3199
3141
3200
3142
3201
3143
3202
3144
3203
3145
3204
3146
3205
3147
3206
3148
3207
3149
3208
3150
3209
3151
3210
3152
3211
3153
3212
3154
3213
3155
3214
3156
3215
3157
3216
3158
3217
3159
3218
3160
3219
3161
3220
3162
3221
3163
3222
3164
3223
3224
3166
3225
3167
3226
3168
3227
3169
3228
3170
3229
3171
3230
3172
3231
3173
3232
3174
3233
3175
3234
3176
3235
3177
3236
3178
3237
3179
3238
3180
3239
3181
3240
3182
3241
3183
3242
3184
3243
3185
3244
3186
3245
3187
3246
3188
3247
3189
3248
3190
3249
3191
3250
3192
3251
3193
3252
3194
3253
3195
3254
3196
3255
3197
3256
3198
3257
3199
3258
3200
3259
3201
3260
3202
3261
3203
3262
3204
3263
3205
3264
3206
3265
3207
3266
3208
3267
3209
3268
3210
3269
3211
3270
3212
3271
3213
3272
3214
3273
3215
3274
3216
3275
3217
3276
3218
3277
3219
3278
3220
3279
3221
3280
3222
3281
3223
3282
3224
3283
3284
3226
3285
3227
3286
3228
3287
3229
3288
3230
3289
3231
3290
3232
3291
3233
3292
3234
3293
3235
3294
3236
3295
3237
3296
3238
3297
3239
3298
3240
3299
3241
3300
3242
3301
3243
3302
3244
3303
3245
3304
3246
3305
3247
3306
3248
3307
3249
3308
3250
3309
3251
3310
3252
3311
3253
3312
3254
3313
3255
3314
3256
3315
3257
3316
3258
3317
3259
3318
3260
3319
3261
3320
3262
3321
3263
3322
3264
3323
3265
3324
3266
3325
3267
3326
3268
3327
3269
3328
3270
3329
3271
3330
3272
3331
3273
3332
3274
3333
3275
3334
3276
3335
3277
3336
3278
3337
3279
3338
3280
3339
3281
3340
3282
3341
3283
3342
3284
3343
3344
3286
3345
3287
3346
3288
3347
3289
3348
3290
3349
3291
3350
3292
3351
3293
3352
3294
3353
3295
3354
3296
3355
3297
3356
3298
3357
3299
3358
3300
3359
3301
3360
3302
3361
3303
3362
3304
3363
3305
3364
3306
3365
3307
3366
3308
3367
3309
3368
3310
3369
3311
3370
3312
3371
3313
3372
3314
3373
3315
3374
3316
3375
3317
3376
3318
3377
3319
3378
3320
3379
3321
3380
3322
3381
3323
3382
3324
3383
3325
3384
3326
3385
3327
3386
3328
3387
3329
3388
3330
3389
3331
3390
3332
3391
3333
3392
3334
3393
3335
3394
3336
3395
3337
3396
3338
3397
3339
3398
3340
3399
3341
3400
3342
3401
3343
3402
3344
3403
3404
3346
3405
3347
3406
3348
3407
3349
3408
3350
3409
3351
3410
3352
3411
3353
3412
3354
3413
3355
3414
3356
3415
3357
3416
3358
3417
3359
3418
3360
3419
3361
3420
3362
3421
3363
3422
3364
3423
3365
3424
3366
3425
3367
3426
3368
3427
3369
3428
3370
3429
3371
3430
3372
3431
3373
3432
3374
3433
3375
3434
3376
3435
3377
3436
3378
3437
3379
3438
3380
3439
3381
3440
3382
3441
3383
3442
3384
3443
3385
3444
3386
3445
3387
3446
3388
3447
3389
3448
3390
3449
3391
3450
3392
3451
3393
3452
3394
3453
3395
3454
3396
3455
3397
3456
3398
3457
3399
3458
3400
3459
3401
3460
3402
3461
3403
3462
3404
3463
3464
3406
3465
3407
3466
3408
3467
3409
3468
3410
3469
3411
3470
3412
3471
3413
3472
3414
3473
3415
3474
3416
3475
3417
3476
3418
3477
3419
3478
3420
3479
3421
3480
3422
3481
3423
3482
3424
3483
3425
3484
3426
3485
3427
3486
3428
3487
3429
3488
3430
3489
3431
3490
3432
3491
3433
3492
3434
3493
3435
3494
3436
3495
3437
3496
3438
3497
3439
3498
3440
3499
3441
3500
3442
3501
3443
3502
3444
3503
3445
3504
3446
3505
3447
3506
3448
3507
3449
3508
3450
3509
3451
3510
3452
3511
3453
3512
3454
3513
3455
3514
3456
3515
3457
3516
3458
3517
3459
3518
3460
3519
3461
3520
3462
3521
3463
3522
3464
3523
3524
3466
3525
3467
3526
3468
3527
3469
3528
3470
3529
3471
3530
3472
3531
3473
3532
3474
3533
3475
3534
3476
3535
3477
3536
3478
3537
3479
3538
3480
3539
3481
3540
3482
3541
3483
3542
3484
3543
3485
3544
3486
3545
3487
3546
3488
3547
3489
3548
3490
3549
3491
3550
3492
3551
3493
3552
3494
3553
3495
3554
3496
3555
3497
3556
3498
3557
3499
3558
3500
3559
3501
3560
3502
3561
3503
3562
3504
3563
3505
3564
3506
3565
3507
3566
3508
3567
3509
3568
3510
3569
3511
3570
3512
3571
3513
3572
3514
3573
3515
3574
3516
3575
3517
3576
3518
3577
3519
3578
3520
3579
3521
3580
3522
3581
3523
3582
3524
3583
3584
3526
3585
3527
3586
3528
3587
3529
3588
3530
3589
3531
3590
3532
3591
3533
3592
3534
3593
3535
3594
3536
3595
3537
3596
3538
3597
3539
3598
3540
3599
3541
3600
3542
3601
3543
3602
3544
3603
3545
3604
3546
3605
3547
3606
3548
3607
3549
3608
3550
3609
3551
3610
3552
3611
3553
3612
3554
3613
3555
3614
3556
3615
3557
3616
3558
3617
3559
3618
3560
3619
3561
3620
3562
3621
3563
3622
3564
3623
3565
3624
3566
3625
3567
3626
3568
3627
3569
3628
3570
3629
3571
3630
3572
3631
3573
3632
3574
3633
3575
3634
3576
3635
3577
3636
3578
3637
3579
3638
3580
3639
3581
3640
3582
3641
3583
3642
3584
3643
3644
3586
3645
3587
3646
3588
3647
3589
3648
3590
3649
3591
3650
3592
3651
3593
3652
3594
3653
3595
3654
3596
3655
3597
3656
3598
3657
3599
3658
3600
3659
3601
3660
3602
3661
3603
3662
3604
3663
3605
3664
3606
3665
3607
3666
3608
3667
3609
3668
3610
3669
3611
3670
3612
3671
3613
3672
3614
3673
3615
3674
3616
3675
3617
3676
3618
3677
3619
3678
3620
3679
3621
3680
3622
3681
3623
3682
3624
3683
3625
3684
3626
3685
3627
3686
3628
3687
3629
3688
3630
3689
3631
3690
3632
3691
3633
3692
3634
3693
3635
3694
3636
3695
3637
3696
3638
3697
3639
3698
3640
3699
3641
3700
3642
3701
3643
3702
3644
3703
3704
3646
3705
3647
3706
3648
3707
3649
3708
3650
3709
3651
3710
3652
3711
3653
3712
3654
3713
3655
3714
3656
3715
3657
3716
3658
3717
3659
3718
3660
3719
3661
3720
3662
3721
3663
3722
3664
3723
3665
3724
3666
3725
3667
3726
3668
3727
3669
3728
3670
3729
3671
3730
3672
3731
3673
3732
3674
3733
3675
3734
3676
3735
3677
3736
3678
3737
3679
3738
3680
3739
3681
3740
3682
3741
3683
3742
3684
3743
3685
3744
3686
3745
3687
3746
3688
3747
3689
3748
3690
3749
3691
3750
3692
3751
3693
3752
3694
3753
3695
3754
3696
3755
3697
3756
3698
3757
3699
3758
3700
3759
3701
3760
3702
3761
3703
3762
3704
3763
3764
3706
3765
3707
3766
3708
3767
3709
3768
3710
3769
3711
3770
3712
3771
3713
3772
3714
3773
3715
3774
3716
3775
3717
3776
3718
3777
3719
3778
3720
3779
3721
3780
3722
3781
3723
3782
3724
3783
3725
3784
3726
3785
3727
3786
3728
3787
3729
3788
3730
3789
3731
3790
3732
3791
3733
3792
3734
3793
3735
3794
3736
3795
3737
3796
3738
3797
3739
3798
3740
3799
3741
3800
3742
3801
3743
3802
3744
3803
3745
3804
3746
3805
3747
3806
3748
3807
3749
3808
3750
3809
3751
3810
3752
3811
3753
3812
3754
3813
3755
3814
3756
3815
3757
3816
3758
3817
3759
3818
3760
3819
3761
3820
3762
3821
3763
3822
3764
3823
3824
3766
3825
3767
3826
3768
3827
3769
3828
3770
3829
3771
3830
3772
3831
3773
3832
3774
3833
3775
3834
3776
3835
3777
3836
3778
3837
3779
3838
3780
3839
3781
3840
3782
3841
3783
3842
3784
3843
3785
3844
3786
3845
3787
3846
3788
3847
3789
3848
3790
3849
3791
3850
3792
3851
3793
3852
3794
3853
3795
3854
3796
3855
3797
3856
3798
3857
3799
3858
3800
3859
3801
3860
3802
3861
3803
3862
3804
3863
3805
3864
3806
3865
3807
3866
3808
3867
3809
3868
3810
3869
3811
3870
3812
3871
3813
3872
3814
3873
3815
3874
3816
3875
3817
3876
3818
3877
3819
3878
3820
3879
3821
3880
3822
3881
3823
3882
3824
3883
3884
3826
3885
3827
3886
3828
3887
3829
3888
3830
3889
3831
3890
3832
3891
3833
3892
3834
3893
3835
3894
3836
3895
3837
3896
3838
3897
3839
3898
3840
3899
3841
3900
3842
3901
3843
3902
3844
3903
3845
3904
3846
3905
3847
3906
3848
3907
3849
3908
3850
3909
3851
3910
3852
3911
3853
3912
3854
3913
3855
3914
3856
3915
3857
3916
3858
3917
3859
3918
3860
3919
3861
3920
3862
3921
3863
3922
3864
3923
3865
3924
3866
3925
3867
3926
3868
3927
3869
3928
3870
3929
3871
3930
3872
3931
3873
3932
3874
3933
3875
3934
3876
3935
3877
3936
3878
3937
3879
3938
3880
3939
3881
3940
3882
3941
3883
3942
3884
3943
3944
3886
3945
3887
3946
3888
3947
3889
3948
3890
3949
3891
3950
3892
3951
3893
3952
3894
3953
3895
3954
3896
3955
3897
3956
3898
3957
3899
3958
3900
3959
3901
3960
3902
3961
3903
3962
3904
3963
3905
3964
3906
3965
3907
3966
3908
3967
3909
3968
3910
3969
3911
3970
3912
3971
3913
3972
3914
3973
3915
3974
3916
3975
3917
3976
3918
3977
3919
3978
3920
3979
3921
3980
3922
3981
3923
3982
3924
3983
3925
3984
3926
3985
3927
3986
3928
3987
3929
3988
3930
3989
3931
3990
3932
3991
3933
3992
3934
3993
3935
3994
3936
3995
3937
3996
3938
3997
3939
3998
3940
3999
3941
4000
3942
4001
3943
4002
3944
4003
4004
3946
4005
3947
4006
3948
4007
3949
4008
3950
4009
3951
4010
3952
4011
3953
4012
3954
4013
3955
4014
3956
4015
3957
4016
3958
4017
3959
4018
3960
4019
3961
4020
3962
4021
3963
4022
3964
4023
3965
4024
3966
4025
3967
4026
3968
4027
3969
4028
3970
4029
3971
4030
3972
4031
3973
4032
3974
4033
3975
4034
3976
4035
3977
4036
3978
4037
3979
4038
3980
4039
3981
4040
3982
4041
3983
4042
3984
4043
3985
4044
3986
4045
3987
4046
3988
4047
3989
4048
3990
4049
3991
4050
3992
4051
3993
4052
3994
4053
3995
4054
3996
4055
3997
4056
3998
4057
3999
4058
4000
4059
4001
4060
4002
4061
4003
4062
4004
4063
4064
4006
4065
4007
4066
4008
4067
4009
4068
4010
4069
4011
4070
4012
4071
4013
4072
4014
4073
4015
4074
4016
4075
4017
4076
4018
4077
4019
4078
4020
4079
4021
4080
4022
4081
4023
4082
4024
4083
4025
4084
4026
4085
4027
4086
4028
4087
4029
4088
4030
4089
4031
4090
4032
4091
4033
4092
4034
4093
4035
4094
4036
4095
4037
4096
4038
4097
4039
4098
4040
4099
4041
4100
4042
4101
4043
4102
4044
4103
4045
4104
4046
4105
4047
4106
4048
4107
4049
4108
4050
4109
4051
4110
4052
4111
4053
4112
4054
4113
4055
4114
4056
4115
4057
4116
4058
4117
4059
4118
4060
4119
4061
4120
4062
4121
4063
4122
4064
4123
4124
4066
4125
4067
4126
4068
4127
4069
4128
4070
4129
4071
4130
4072
4131
4073
4132
4074
4133
4075
4134
4076
4135
4077
4136
4078
4137
4079
4138
4080
4139
4081
4140
4082
4141
4083
4142
4084
4143
4085
4144
4086
4145
4087
4146
4088
4147
4089
4148
4090
4149
4091
4150
4092
4151
4093
4152
4094
4153
4095
4154
4096
4155
4097
4156
4098
4157
4099
4158
4100
4159
4101
4160
4102
4161
4103
4162
4104
4163
4105
4164
4106
4165
4107
4166
4108
4167
4109
4168
4110
4169
4111
4170
4112
4171
4113
4172
4114
4173
4115
4174
4116
4175
4117
4176
4118
4177
4119
4178
4120
4179
4121
4180
4122
4181
4123
4182
4124
4183
4184
4126
4185
4127
4186
4128
4187
4129
4188
4130
4189
4131
4190
4132
4191
4133
4192
4134
4193
4135
4194
4136
4195
4137
4196
4138
4197
4139
4198
4140
4199
4141
4200
4142
4201
4143
4202
4144
4203
4145
4204
4146
4205
4147
4206
4148
4207
4149
4208
4150
4209
4151
4210
4152
4211
4153
4212
4154
4213
4155
4214
4156
4215
4157
4216
4158
4217
4159
4218
4160
4219
4161
4220
4162
4221
4163
4222
4164
4223
4165
4224
4166
4225
4167
4226
4168
4227
4169
4228
4170
4229
4171
4230
4172
4231
4173
4232
4174
4233
4175
4234
4176
4235
4177
4236
4178
4237
4179
4238
4180
4239
4181
4240
4182
4241
4183
4242
4184
4243
4244
4186
4245
4187
4246
4188
4247
4189
4248
4190
4249
4191
4250
4192
4251
4193
4252
4194
4253
4195
4254
4196
4255
4197
4256
4198
4257
4199
4258
4200
4259
4201
4260
4202
4261
4203
4262
4204
4263
4205
4264
4206
4265
4207
4266
4208
4267
4209
4268
4210
4269
4211
4270
4212
4271
4213
4272
4214
4273
4215
4274
4216
4275
4217
4276
4218
4277
4219
4278
4220
4279
4221
4280
4222
4281
4223
4282
4224
4283
4225
4284
4226
4285
4227
4286
4228
4287
4229
4288
4230
4289
4231
4290
4232
4291
4233
4292
4234
4293
4235
4294
4236
4295
4237
4296
4238
4297
4239
4298
4240
4299
4241
4300
4242
4301
4243
4302
4244
4303
4304
4246
4305
4247
4306
4248
4307
4249
4308
4250
4309
4251
4310
4252
4311
4253
4312
4254
4313
4255
4314
4256
4315
4257
4316
4258
4317
4259
4318
4260
4319
4261
4320
4262
4321
4263
4322
4264
4323
4265
4324
4266
4325
4267
4326
4268
4327
4269
4328
4270
4329
4271
4330
4272
4331
4273
4332
4274
4333
4275
4334
4276
4335
4277
4336
4278
4337
4279
4338
4280
4339
4281
4340
4282
4341
4283
4342
4284
4343
4285
4344
4286
4345
4287
4346
4288
4347
4289
4348
4290
4349
4291
4350
4292
4351
4293
4352
4294
4353
4295
4354
4296
4355
4297
4356
4298
4357
4299
4358
4300
4359
4301
4360
4302
4361
4303
4362
4304
4363
4364
4306
4365
4307
4366
4308
4367
4309
4368
4310
4369
4311
4370
4312
4371
4313
4372
4314
4373
4315
4374
4316
4375
4317
4376
4318
4377
4319
4378
4320
4379
4321
4380
4322
4381
4323
4382
4324
4383
4325
4384
4326
4385
4327
4386
4328
4387
4329
4388
4330
4389
4331
4390
4332
4391
4333
4392
4334
4393
4335
4394
4336
4395
4337
4396
4338
4397
4339
4398
4340
4399
4341
4400
4342
4401
4343
4402
4344
4403
4345
4404
4346
4405
4347
4406
4348
4407
4349
4408
4350
4409
4351
4410
4352
4411
4353
4412
4354
4413
4355
4414
4356
4415
4357
4416
4358
4417
4359
4418
4360
4419
4361
4420
4362
4421
4363
4422
4364
4423
4424
4366
4425
4367
4426
4368
4427
4369
4428
4370
4429
4371
4430
4372
4431
4373
4432
4374
4433
4375
4434
4376
4435
4377
4436
4378
4437
4379
4438
4380
4439
4381
4440
4382
4441
4383
4442
4384
4443
4385
4444
4386
4445
4387
4446
4388
4447
4389
4448
4390
4449
4391
4450
4392
4451
4393
4452
4394
4453
4395
4454
4396
4455
4397
4456
4398
4457
4399
4458
4400
4459
4401
4460
4402
4461
4403
4462
4404
4463
4405
4464
4406
4465
4407
4466
4408
4467
4409
4468
4410
4469
4411
4470
4412
4471
4413
4472
4414
4473
4415
4474
4416
4475
4417
4476
4418
4477
4419
4478
4420
4479
4421
4480
4422
4481
4423
4482
4424
4483
4484
4426
4485
4427
4486
4428
4487
4429
4488
4430
4489
4431
4490
4432
4491
4433
4492
4434
4493
4435
4494
4436
4495
4437
4496
4438
4497
4439
4498
4440
4499
4441
4500
4442
4501
4443
4502
4444
4503
4445
4504
4446
4505
4447
4506
4448
4507
4449
4508
4450
4509
4451
4510
4452
4511
4453
4512
4454
4513
4455
4514
4456
4515
4457
4516
4458
4517
4459
4518
4460
4519
4461
4520
4462
4521
4463
4522
4464
4523
4465
4524
4466
4525
4467
4526
4468
4527
4469
4528
4470
4529
4471
4530
4472
4531
4473
4532
4474
4533
4475
4534
4476
4535
4477
4536
4478
4537
4479
4538
4480
4539
4481
4540
4482
4541
4483
4542
4484
4543
4544
4486
4545
4487
4546
4488
4547
4489
4548
4490
4549
4491
4550
4492
4551
4493
4552
4494
4553
4495
4554
4496
4555
4497
4556
4498
4557
4499
4558
4500
4559
4501
4560
4502
4561
4503
4562
4504
4563
4505
4564
4506
4565
4507
4566
4508
4567
4509
4568
4510
4569
4511
4570
4512
4571
4513
4572
4514
4573
4515
4574
4516
4575
4517
4576
4518
4577
4519
4578
4520
4579
4521
4580
4522
4581
4523
4582
4524
4583
4525
4584
4526
4585
4527
4586
4528
4587
4529
4588
4530
4589
4531
4590
4532
4591
4533
4592
4534
4593
4535
4594
4536
4595
4537
4596
4538
4597
4539
4598
4540
4599
4541
4600
4542
4601
4543
4602
4544
4603
4604
4546
4605
4547
4606
4548
4607
4549
4608
4550
4609
4551
4610
4552
4611
4553
4612
4554
4613
4555
4614
4556
4615
4557
4616
4558
4617
4559
4618
4560
4619
4561
4620
4562
4621
4563
4622
4564
4623
4565
4624
4566
4625
4567
4626
4568
4627
4569
4628
4570
4629
4571
4630
4572
4631
4573
4632
4574
4633
4575
4634
4576
4635
4577
4636
4578
4637
4579
4638
4580
4639
4581
4640
4582
4641
4583
4642
4584
4643
4585
4644
4586
4645
4587
4646
4588
4647
4589
4648
4590
4649
4591
4650
4592
4651
4593
4652
4594
4653
4595
4654
4596
4655
4597
4656
4598
4657
4599
4658
4600
4659
4601
4660
4602
4661
4603
4662
4604
4663
4664
4606
4665
4607
4666
4608
4667
4609
4668
4610
4669
4611
4670
4612
4671
4613
4672
4614
4673
4615
4674
4616
4675
4617
4676
4618
4677
4619
4678
4620
4679
4621
4680
4622
4681
4623
4682
4624
4683
4625
4684
4626
4685
4627
4686
4628
4687
4629
4688
4630
4689
4631
4690
4632
4691
4633
4692
4634
4693
4635
4694
4636
4695
4637
4696
4638
4697
4639
4698
4640
4699
4641
4700
4642
4701
4643
4702
4644
4703
4645
4704
4646
4705
4647
4706
4648
4707
4649
4708
4650
4709
4651
4710
4652
4711
4653
4712
4654
4713
4655
4714
4656
4715
4657
4716
4658
4717
4659
4718
4660
4719
4661
4720
4662
4721
4663
4722
4664
4723
4724
4666
4725
4667
4726
4668
4727
4669
4728
4670
4729
4671
4730
4672
4731
4673
4732
4674
4733
4675
4734
4676
4735
4677
4736
4678
4737
4679
4738
4680
4739
4681
4740
4682
4741
4683
4742
4684
4743
4685
4744
4686
4745
4687
4746
4688
4747
4689
4748
4690
4749
4691
4750
4692
4751
4693
4752
4694
4753
4695
4754
4696
4755
4697
4756
4698
4757
4699
4758
4700
4759
4701
4760
4702
4761
4703
4762
4704
4763
4705
4764
4706
4765
4707
4766
4708
4767
4709
4768
4710
4769
4711
4770
4712
4771
4713
4772
4714
4773
4715
4774
4716
4775
4717
4776
4718
4777
4719
4778
4720
4779
4721
4780
4722
4781
4723
4782
4724
4783
4784
4726
4785
4727
4786
4728
4787
4729
4788
4730
4789
4731
4790
4732
4791
4733
4792
4734
4793
4735
4794
4736
4795
4737
4796
4738
4797
4739
4798
4740
4799
4741
4800
4742
4801
4743
4802
4744
4803
4745
4804
4746
4805
4747
4806
4748
4807
4749
4808
4750
4809
4751
4810
4752
4811
4753
4812
4754
4813
4755
4814
4756
4815
4757
4816
4758
4817
4759
4818
4760
4819
4761
4820
4762
4821
4763
4822
4764
4823
4765
4824
4766
4825
4767
4826
4768
4827
4769
4828
4770
4829
4771
4830
4772
4831
4773
4832
4774
4833
4775
4834
4776
4835
4777
4836
4778
4837
4779
4838
4780
4839
4781
4840
4782
4841
4783
4842
4784
4843
4844
4786
4845
4787
4846
4788
4847
4789
4848
4790
4849
4791
4850
4792
4851
4793
4852
4794
4853
4795
4854
4796
4855
4797
4856
4798
4857
4799
4858
4800
4859
4801
4860
4802
4861
4803
4862
4804
4863
4805
4864
4806
4865
4807
4866
4808
4867
4809
4868
4810
4869
4811
4870
4812
4871
4813
4872
4814
4873
4815
4874
4816
4875
4817
4876
4818
4877
4819
4878
4820
4879
4821
4880
4822
4881
4823
4882
4824
4883
4825
4884
4826
4885
4827
4886
4828
4887
4829
4888
4830
4889
4831
4890
4832
4891
4833
4892
4834
4893
4835
4894
4836
4895
4837
4896
4838
4897
4839
4898
4840
4899
4841
4900
4842
4901
4843
4902
4844
4903
4904
4846
4905
4847
4906
4848
4907
4849
4908
4850
4909
4851
4910
4852
4911
4853
4912
4854
4913
4855
4914
4856
4915
4857
4916
4858
4917
4859
4918
4860
4919
4861
4920
4862
4921
4863
4922
4864
4923
4865
4924
4866
4925
4867
4926
4868
4927
4869
4928
4870
4929
4871
4930
4872
4931
4873
4932
4874
4933
4875
4934
4876
4935
4877
4936
4878
4937
4879
4938
4880
4939
4881
4940
4882
4941
4883
4942
4884
4943
4885
4944
4886
4945
4887
4946
4888
4947
4889
4948
4890
4949
4891
4950
4892
4951
4893
4952
4894
4953
4895
4954
4896
4955
4897
4956
4898
4957
4899
4958
4900
4959
4901
4960
4902
4961
4903
4962
4904
4963
4964
4906
4965
4907
4966
4908
4967
4909
4968
4910
4969
4911
4970
4912
4971
4913
4972
4914
4973
4915
4974
4916
4975
4917
4976
4918
4977
4919
4978
4920
4979
4921
4980
4922
4981
4923
4982
4924
4983
4925
4984
4926
4985
4927
4986
4928
4987
4929
4988
4930
4989
4931
4990
4932
4991
4933
4992
4934
4993
4935
4994
4936
4995
4937
4996
4938
4997
4939
4998
4940
4999
4941
5000
4942
5001
4943
5002
4944
5003
4945
5004
4946
5005
4947
5006
4948
5007
4949
5008
4950
5009
4951
5010
4952
5011
4953
5012
4954
5013
4955
5014
4956
5015
4957
5016
4958
5017
4959
5018
4960
5019
4961
5020
4962
5021
4963
5022
4964
5023
5024
4966
5025
4967
5026
4968
5027
4969
5028
4970
5029
4971
5030
4972
5031
4973
5032
4974
5033
4975
5034
4976
5035
4977
5036
4978
5037
4979
5038
4980
5039
4981
5040
4982
5041
4983
5042
4984
5043
4985
5044
4986
5045
4987
5046
4988
5047
4989
5048
4990
5049
4991
5050
4992
5051
4993
5052
4994
5053
4995
5054
4996
5055
4997
5056
4998
5057
4999
5058
5000
5059
5001
5060
5002
5061
5003
5062
5004
5063
5005
5064
5006
5065
5007
5066
5008
5067
5009
5068
5010
5069
5011
5070
5012
5071
5013
5072
5014
5073
5015
5074
5016
5075
5017
5076
5018
5077
5019
5078
5020
5079
5021
5080
5022
5081
5023
5082
5024
5083
5084
5026
5085
5027
5086
5028
5087
5029
5088
5030
5089
5031
5090
5032
5091
5033
5092
5034
5093
5035
5094
5036
5095
5037
5096
5038
5097
5039
5098
5040
5099
5041
5100
5042
5101
5043
5102
5044
5103
5045
5104
5046
5105
5047
5106
5048
5107
5049
5108
5050
5109
5051
5110
5052
5111
5053
5112
5054
5113
5055
5114
5056
5115
5057
5116
5058
5117
5059
5118
5060
5119
5061
5120
5062
5121
5063
5122
5064
5123
5065
5124
5066
5125
5067
5126
5068
5127
5069
5128
5070
5129
5071
5130
5072
5131
5073
5132
5074
5133
5075
5134
5076
5135
5077
5136
5078
5137
5079
5138
5080
5139
5081
5140
5082
5141
5083
5142
5084
5143
5144
5086
5145
5087
5146
5088
5147
5089
5148
5090
5149
5091
5150
5092
5151
5093
5152
5094
5153
5095
5154
5096
5155
5097
5156
5098
5157
5099
5158
5100
5159
5101
5160
5102
5161
5103
5162
5104
5163
5105
5164
5106
5165
5107
5166
5108
5167
5109
5168
5110
5169
5111
5170
5112
5171
5113
5172
5114
5173
5115
5174
5116
5175
5117
5176
5118
5177
5119
5178
5120
5179
5121
5180
5122
5181
5123
5182
5124
5183
5125
5184
5126
5185
5127
5186
5128
5187
5129
5188
5130
5189
5131
5190
5132
5191
5133
5192
5134
5193
5135
5194
5136
5195
5137
5196
5138
5197
5139
5198
5140
5199
5141
5200
5142
5201
5143
5202
5144
5203
5204
5146
5205
5147
5206
5148
5207
5149
5208
5150
5209
5151
5210
5152
5211
5153
5212
5154
5213
5155
5214
5156
5215
5157
5216
5158
5217
5159
5218
5160
5219
5161
5220
5162
5221
5163
5222
5164
5223
5165
5224
5166
5225
5167
5226
5168
5227
5169
5228
5170
5229
5171
5230
5172
5231
5173
5232
5174
5233
5175
5234
5176
5235
5177
5236
5178
5237
5179
5238
5180
5239
5181
5240
5182
5241
5183
5242
5184
5243
5185
5244
5186
5245
5187
5246
5188
5247
5189
5248
5190
5249
5191
5250
5192
5251
5193
5252
5194
5253
5195
5254
5196
5255
5197
5256
5198
5257
5199
5258
5200
5259
5201
5260
5202
5261
5203
5262
5204
5263
5264
5206
5265
5207
5266
5208
5267
5209
5268
5210
5269
5211
5270
5212
5271
5213
5272
5214
5273
5215
5274
5216
5275
5217
5276
5218
5277
5219
5278
5220
5279
5221
5280
5222
5281
5223
5282
5224
5283
5225
5284
5226
5285
5227
5286
5228
5287
5229
5288
5230
5289
5231
5290
5232
5291
5233
5292
5234
5293
5235
5294
5236
5295
5237
5296
5238
5297
5239
5298
5240
5299
5241
5300
5242
5301
5243
5302
5244
5303
5245
5304
5246
5305
5247
5306
5248
5307
5249
5308
5250
5309
5251
5310
5252
5311
5253
5312
5254
5313
5255
5314
5256
5315
5257
5316
5258
5317
5259
5318
5260
5319
5261
5320
5262
5321
5263
5322
5264
5323
5324
5266
5325
5267
5326
5268
5327
5269
5328
5270
5329
5271
5330
5272
5331
5273
5332
5274
5333
5275
5334
5276
5335
5277
5336
5278
5337
5279
5338
5280
5339
5281
5340
5282
5341
5283
5342
5284
5343
5285
5344
5286
5345
5287
5346
5288
5347
5289
5348
5290
5349
5291
5350
5292
5351
5293
5352
5294
5353
5295
5354
5296
5355
5297
5356
5298
5357
5299
5358
5300
5359
5301
5360
5302
5361
5303
5362
5304
5363
5305
5364
5306
5365
5307
5366
5308
5367
5309
5368
5310
5369
5311
5370
5312
5371
5313
5372
5314
5373
5315
5374
5316
5375
5317
5376
5318
5377
5319
5378
5320
5379
5321
5380
5322
5381
5323
5382
5324
5383
5384
5326
5385
5327
5386
5328
5387
5329
5388
5330
5389
5331
5390
5332
5391
5333
5392
5334
5393
5335
5394
5336
5395
5337
5396
5338
5397
5339
5398
5340
5399
5341
5400
5342
5401
5343
5402
5344
5403
5345
5404
5346
5405
5347
5406
5348
5407
5349
5408
5350
5409
5351
5410
5352
5411
5353
5412
5354
5413
5355
5414
5356
5415
5357
5416
5358
5417
5359
5418
5360
5419
5361
5420
5362
5421
5363
5422
5364
5423
5365
5424
5366
5425
5367
5426
5368
5427
5369
5428
5370
5429
5371
5430
5372
5431
5373
5432
5374
5433
5375
5434
5376
5435
5377
5436
5378
5437
5379
5438
5380
5439
5381
5440
5382
5441
5383
5442
5384
5443
5444
5386
5445
5387
5446
5388
5447
5389
5448
5390
5449
5391
5450
5392
5451
5393
5452
5394
5453
5395
5454
5396
5455
5397
5456
5398
5457
5399
5458
5400
5459
5401
5460
5402
5461
5403
5462
5404
5463
5405
5464
5406
5465
5407
5466
5408
5467
5409
5468
5410
5469
5411
5470
5412
5471
5413
5472
5414
5473
5415
5474
5416
5475
5417
5476
5418
5477
5419
5478
5420
5479
5421
5480
5422
5481
5423
5482
5424
5483
5425
5484
5426
5485
5427
5486
5428
5487
5429
5488
5430
5489
5431
5490
5432
5491
5433
5492
5434
5493
5435
5494
5436
5495
5437
5496
5438
5497
5439
5498
5440
5499
5441
5500
5442
5501
5443
5502
5444
5503
5504
5446
5505
5447
5506
5448
5507
5449
5508
5450
5509
5451
5510
5452
5511
5453
5512
5454
5513
5455
5514
5456
5515
5457
5516
5458
5517
5459
5518
5460
5519
5461
5520
5462
5521
5463
5522
5464
5523
5465
5524
5466
5525
5467
5526
5468
5527
5469
5528
5470
5529
5471
5530
5472
5531
5473
5532
5474
5533
5475
5534
5476
5535
5477
5536
5478
5537
5479
5538
5480
5539
5481
5540
5482
5541
5483
5542
5484
5543
5485
5544
5486
5545
5487
5546
5488
5547
5489
5548
5490
5549
5491
5550
5492
5551
5493
5552
5494
5553
5495
5554
5496
5555
5497
5556
5498
5557
5499
5558
5500
5559
5501
5560
5502
5561
5503
5562
5504
5563
5564
5506
5565
5507
5566
5508
5567
5509
5568
5510
5569
5511
5570
5512
5571
5513
5572
5514
5573
5515
5574
5516
5575
5517
5576
5518
5577
5519
5578
5520
5579
5521
5580
5522
5581
5523
5582
5524
5583
5525
5584
5526
5585
5527
5586
5528
5587
5529
5588
5530
5589
5531
5590
5532
5591
5533
5592
5534
5593
5535
5594
5536
5595
5537
5596
5538
5597
5539
5598
5540
5599
5541
5600
5542
5601
5543
5602
5544
5603
5545
5604
5546
5605
5547
5606
5548
5607
5549
5608
5550
5609
5551
5610
5552
5611
5553
5612
5554
5613
5555
5614
5556
5615
5557
5616
5558
5617
5559
5618
5560
5619
5561
5620
5562
5621
5563
5622
5564
5623
5624
5566
5625
5567
5626
5568
5627
5569
5628
5570
5629
5571
5630
5572
5631
5573
5632
5574
5633
5575
5634
5576
5635
5577
5636
5578
5637
5579
5638
5580
5639
5581
5640
5582
5641
5583
5642
5584
5643
5585
5644
5586
5645
5587
5646
5588
5647
5589
5648
5590
5649
5591
5650
5592
5651
5593
5652
5594
5653
5595
5654
5596
5655
5597
5656
5598
5657
5599
5658
5600
5659
5601
5660
5602
5661
5603
5662
5604
5663
5605
5664
5606
5665
5607
5666
5608
5667
5609
5668
5610
5669
5611
5670
5612
5671
5613
5672
5614
5673
5615
5674
5616
5675
5617
5676
5618
5677
5619
5678
5620
5679
5621
5680
5622
5681
5623
5682
5624
5683
5684
5626
5685
5627
5686
5628
5687
5629
5688
5630
5689
5631
5690
5632
5691
5633
5692
5634
5693
5635
5694
5636
5695
5637
5696
5638
5697
5639
5698
5640
5699
5641
5700
5642
5701
5643
5702
5644
5703
5645
5704
5646
5705
5647
5706
5648
5707
5649
5708
5650
5709
5651
5710
5652
5711
5653
5712
5654
5713
5655
5714
5656
5715
5657
5716
5658
5717
5659
5718
5660
5719
5661
5720
5662
5721
5663
5722
5664
5723
5665
5724
5666
5725
5667
5726
5668
5727
5669
5728
5670
5729
5671
5730
5672
5731
5673
5732
5674
5733
5675
5734
5676
5735
5677
5736
5678
5737
5679
5738
5680
5739
5681
5740
5682
5741
5683
5742
5684
5743
5744
5686
5745
5687
5746
5688
5747
5689
5748
5690
5749
5691
5750
5692
5751
5693
5752
5694
5753
5695
5754
5696
5755
5697
5756
5698
5757
5699
5758
5700
5759
5701
5760
5702
5761
5703
5762
5704
5763
5705
5764
5706
5765
5707
5766
5708
5767
5709
5768
5710
5769
5711
5770
5712
5771
5713
5772
5714
5773
5715
5774
5716
5775
5717
5776
5718
5777
5719
5778
5720
5779
5721
5780
5722
5781
5723
5782
5724
5783
5725
5784
5726
5785
5727
5786
5728
5787
5729
5788
5730
5789
5731
5790
5732
5791
5733
5792
5734
5793
5735
5794
5736
5795
5737
5796
5738
5797
5739
5798
5740
5799
5741
5800
5742
5801
5743
5802
5744
5803
5804
5746
5805
5747
5806
5748
5807
5749
5808
5750
5809
5751
5810
5752
5811
5753
5812
5754
5813
5755
5814
5756
5815
5757
5816
5758
5817
5759
5818
5760
5819
5761
5820
5762
5821
5763
5822
5764
5823
5765
5824
5766
5825
5767
5826
5768
5827
5769
5828
5770
5829
5771
5830
5772
5831
5773
5832
5774
5833
5775
5834
5776
5835
5777
5836
5778
5837
5779
5838
5780
5839
5781
5840
5782
5841
5783
5842
5784
5843
5785
5844
5786
5845
5787
5846
5788
5847
5789
5848
5790
5849
5791
5850
5792
5851
5793
5852
5794
5853
5795
5854
5796
5855
5797
5856
5798
5857
5799
5858
5800
5859
5801
5860
5802
5861
5803
5862
5804
5863
5864
5806
5865
5807
5866
5808
5867
5809
5868
5810
5869
5811
5870
5812
5871
5813
5872
5814
5873
5815
5874
5816
5875
5817
5876
5818
5877
5819
5878
5820
5879
5821
5880
5822
5881
5823
5882
5824
5883
5825
5884
5826
5885
5827
5886
5828
5887
5829
5888
5830
5889
5831
5890
5832
5891
5833
5892
5834
5893
5835
5894
5836
5895
5837
5896
5838
5897
5839
5898
5840
5899
5841
5900
5842
5901
5843
5902
5844
5903
5845
5904
5846
5905
5847
5906
5848
5907
5849
5908
5850
5909
5851
5910
5852
5911
5853
5912
5854
5913
5855
5914
5856
5915
5857
5916
5858
5917
5859
5918
5860
5919
5861
5920
5862
5921
5863
5922
5864
5923
5924
5866
5925
5867
5926
5868
5927
5869
5928
5870
5929
5871
5930
5872
5931
5873
5932
5874
5933
5875
5934
5876
5935
5877
5936
5878
5937
5879
5938
5880
5939
5881
5940
5882
5941
5883
5942
5884
5943
5885
5944
5886
5945
5887
5946
5888
5947
5889
5948
5890
5949
5891
5950
5892
5951
5893
5952
5894
5953
5895
5954
5896
5955
5897
5956
5898
5957
5899
5958
5900
5959
5901
5960
5902
5961
5903
5962
5904
5963
5905
5964
5906
5965
5907
5966
5908
5967
5909
5968
5910
5969
5911
5970
5912
5971
5913
5972
5914
5973
5915
5974
5916
5975
5917
5976
5918
5977
5919
5978
5920
5979
5921
5980
5922
5981
5923
5982
5924
5983
5984
5926
5985
5927
5986
5928
5987
5929
5988
5930
5989
5931
5990
5932
5991
5933
5992
5934
5993
5935
5994
5936
5995
5937
5996
5938
5997
5939
5998
5940
5999
5941
6000
5942
6001
5943
6002
5944
6003
5945
6004
5946
6005
5947
6006
5948
6007
5949
6008
5950
6009
5951
6010
5952
6011
5953
6012
5954
6013
5955
6014
5956
6015
5957
6016
5958
6017
5959
6018
5960
6019
5961
6020
5962
6021
5963
6022
5964
6023
5965
6024
5966
6025
5967
6026
5968
6027
5969
6028
5970
6029
5971
6030
5972
6031
5973
6032
5974
6033
5975
6034
5976
6035
5977
6036
5978
6037
5979
6038
5980
6039
5981
6040
5982
6041
5983
6042
5984
6043
6044
5986
6045
5987
6046
5988
6047
5989
6048
5990
6049
5991
6050
5992
6051
5993
6052
5994
6053
5995
6054
5996
6055
5997
6056
5998
6057
5999
6058
6000
6059
6001
6060
6002
6061
6003
6062
6004
6063
6005
6064
6006
6065
6007
6066
6008
6067
6009
6068
6010
6069
6011
6070
6012
6071
6013
6072
6014
6073
6015
6074
6016
6075
6017
6076
6018
6077
6019
6078
6020
6079
6021
6080
6022
6081
6023
6082
6024
6083
6025
6084
6026
6085
6027
6086
6028
6087
6029
6088
6030
6089
6031
6090
6032
6091
6033
6092
6034
6093
6035
6094
6036
6095
6037
6096
6038
6097
6039
6098
6040
6099
6041
6100
6042
6101
6043
6102
6044
6103
6104
6046
6105
6047
6106
6048
6107
6049
6108
6050
6109
6051
6110
6052
6111
6053
6112
6054
6113
6055
6114
6056
6115
6057
6116
6058
6117
6059
6118
6060
6119
6061
6120
6062
6121
6063
6122
6064
6123
6065
6124
6066
6125
6067
6126
6068
6127
6069
6128
6070
6129
6071
6130
6072
6131
6073
6132
6074
6133
6075
6134
6076
6135
6077
6136
6078
6137
6079
6138
6080
6139
6081
6140
6082
6141
6083
6142
6084
6143
6085
6144
6086
6145
6087
6146
6088
6147
6089
6148
6090
6149
6091
6150
6092
6151
6093
6152
6094
6153
6095
6154
6096
6155
6097
6156
6098
6157
6099
6158
6100
6159
6101
6160
6102
6161
6103
6162
6104
6163
6164
6106
6165
6107
6166
6108
6167
6109
6168
6110
6169
6111
6170
6112
6171
6113
6172
6114
6173
6115
6174
6116
6175
6117
6176
6118
6177
6119
6178
6120
6179
6121
6180
6122
6181
6123
6182
6124
6183
6125
6184
6126
6185
6127
6186
6128
6187
6129
6188
6130
6189
6131
6190
6132
6191
6133
6192
6134
6193
6135
6194
6136
6195
6137
6196
6138
6197
6139
6198
6140
6199
6141
6200
6142
6201
6143
6202
6144
6203
6145
6204
6146
6205
6147
6206
6148
6207
6149
6208
6150
6209
6151
6210
6152
6211
6153
6212
6154
6213
6155
6214
6156
6215
6157
6216
6158
6217
6159
6218
6160
6219
6161
6220
6162
6221
6163
6222
6164
6223
6224
6166
6225
6167
6226
6168
6227
6169
6228
6170
6229
6171
6230
6172
6231
6173
6232
6174
6233
6175
6234
6176
6235
6177
6236
6178
6237
6179
6238
6180
6239
6181
6240
6182
6241
6183
6242
6184
6243
6185
6244
6186
6245
6187
6246
6188
6247
6189
6248
6190
6249
6191
6250
6192
6251
6193
6252
6194
6253
6195
6254
6196
6255
6197
6256
6198
6257
6199
6258
6200
6259
6201
6260
6202
6261
6203
6262
6204
6263
6205
6264
6206
6265
6207
6266
6208
6267
6209
6268
6210
6269
6211
6270
6212
6271
6213
6272
6214
6273
6215
6274
6216
6275
6217
6276
6218
6277
6219
6278
6220
6279
6221
6280
6222
6281
6223
6282
6224
6283
6284
6226
6285
6227
6286
6228
6287
6229
6288
6230
6289
6231
6290
6232
6291
6233
6292
6234
6293
6235
6294
6236
6295
6237
6296
6238
6297
6239
6298
6240
6299
6241
6300
6242
6301
6243
6302
6244
6303
6245
6304
6246
6305
6247
6306
6248
6307
6249
6308
6250
6309
6251
6310
6252
6311
6253
6312
6254
6313
6255
6314
6256
6315
6257
6316
6258
6317
6259
6318
6260
6319
6261
6320
6262
6321
6263
6322
6264
6323
6265
6324
6266
6325
6267
6326
6268
6327
6269
6328
6270
6329
6271
6330
6272
6331
6273
6332
6274
6333
6275
6334
6276
6335
6277
6336
6278
6337
6279
6338
6280
6339
6281
6340
6282
6341
6283
6342
6284
6343
6344
6286
6345
6287
6346
6288
6347
6289
6348
6290
6349
6291
6350
6292
6351
6293
6352
6294
6353
6295
6354
6296
6355
6297
6356
6298
6357
6299
6358
6300
6359
6301
6360
6302
6361
6303
6362
6304
6363
6305
6364
6306
6365
6307
6366
6308
6367
6309
6368
6310
6369
6311
6370
6312
6371
6313
6372
6314
6373
6315
6374
6316
6375
6317
6376
6318
6377
6319
6378
6320
6379
6321
6380
6322
6381
6323
6382
6324
6383
6325
6384
6326
6385
6327
6386
6328
6387
6329
6388
6330
6389
6331
6390
6332
6391
6333
6392
6334
6393
6335
6394
6336
6395
6337
6396
6338
6397
6339
6398
6340
6399
6341
6400
6342
6401
6343
6402
6344
6403
6404
6346
6405
6347
6406
6348
6407
6349
6408
6350
6409
6351
6410
6352
6411
6353
6412
6354
6413
6355
6414
6356
6415
6357
6416
6358
6417
6359
6418
6360
6419
6361
6420
6362
6421
6363
6422
6364
6423
6365
6424
6366
6425
6367
6426
6368
6427
6369
6428
6370
6429
6371
6430
6372
6431
6373
6432
6374
6433
6375
6434
6376
6435
6377
6436
6378
6437
6379
6438
6380
6439
6381
6440
6382
6441
6383
6442
6384
6443
6385
6444
6386
6445
6387
6446
6388
6447
6389
6448
6390
6449
6391
6450
6392
6451
6393
6452
6394
6453
6395
6454
6396
6455
6397
6456
6398
6457
6399
6458
6400
6459
6401
6460
6402
6461
6403
6462
6404
6463
6464
6406
6465
6407
6466
6408
6467
6409
6468
6410
6469
6411
6470
6412
6471
6413
6472
6414
6473
6415
6474
6416
6475
6417
6476
6418
6477
6419
6478
6420
6479
6421
6480
6422
6481
6423
6482
6424
6483
6425
6484
6426
6485
6427
6486
6428
6487
6429
6488
6430
6489
6431
6490
6432
6491
6433
6492
6434
6493
6435
6494
6436
6495
6437
6496
6438
6497
6439
6498
6440
6499
6441
6500
6442
6501
6443
6502
6444
6503
6445
6504
6446
6505
6447
6506
6448
6507
6449
6508
6450
6509
6451
6510
6452
6511
6453
6512
6454
6513
6455
6514
6456
6515
6457
6516
6458
6517
6459
6518
6460
6519
6461
6520
6462
6521
6463
6522
6464
6523
6524
6466
6525
6467
6526
6468
6527
6469
6528
6470
6529
6471
6530
6472
6531
6473
6532
6474
6533
6475
6534
6476
6535
6477
6536
6478
6537
6479
6538
6480
6539
6481
6540
6482
6541
6483
6542
6484
6543
6485
6544
6486
6545
6487
6546
6488
6547
6489
6548
6490
6549
6491
6550
6492
6551
6493
6552
6494
6553
6495
6554
6496
6555
6497
6556
6498
6557
6499
6558
6500
6559
6501
6560
6502
6561
6503
6562
6504
6563
6505
6564
6506
6565
6507
6566
6508
6567
6509
6568
6510
6569
6511
6570
6512
6571
6513
6572
6514
6573
6515
6574
6516
6575
6517
6576
6518
6577
6519
6578
6520
6579
6521
6580
6522
6581
6523
6582
6524
6583
6584
6526
6585
6527
6586
6528
6587
6529
6588
6530
6589
6531
6590
6532
6591
6533
6592
6534
6593
6535
6594
6536
6595
6537
6596
6538
6597
6539
6598
6540
6599
6541
6600
6542
6601
6543
6602
6544
6603
6545
6604
6546
6605
6547
6606
6548
6607
6549
6608
6550
6609
6551
6610
6552
6611
6553
6612
6554
6613
6555
6614
6556
6615
6557
6616
6558
6617
6559
6618
6560
6619
6561
6620
6562
6621
6563
6622
6564
6623
6565
6624
6566
6625
6567
6626
6568
6627
6569
6628
6570
6629
6571
6630
6572
6631
6573
6632
6574
6633
6575
6634
6576
6635
6577
6636
6578
6637
6579
6638
6580
6639
6581
6640
6582
6641
6583
6642
6584
6643
6644
6586
6645
6587
6646
6588
6647
6589
6648
6590
6649
6591
6650
6592
6651
6593
6652
6594
6653
6595
6654
6596
6655
6597
6656
6598
6657
6599
6658
6600
6659
6601
6660
6602
6661
6603
6662
6604
6663
6605
6664
6606
6665
6607
6666
6608
6667
6609
6668
6610
6669
6611
6670
6612
6671
6613
6672
6614
6673
6615
6674
6616
6675
6617
6676
6618
6677
6619
6678
6620
6679
6621
6680
6622
6681
6623
6682
6624
6683
6625
6684
6626
6685
6627
6686
6628
6687
6629
6688
6630
6689
6631
6690
6632
6691
6633
6692
6634
6693
6635
6694
6636
6695
6637
6696
6638
6697
6639
6698
6640
6699
6641
6700
6642
6701
6643
6702
6644
6703
6704
6646
6705
6647
6706
6648
6707
6649
6708
6650
6709
6651
6710
6652
6711
6653
6712
6654
6713
6655
6714
6656
6715
6657
6716
6658
6717
6659
6718
6660
6719
6661
6720
6662
6721
6663
6722
6664
6723
6665
6724
6666
6725
6667
6726
6668
6727
6669
6728
6670
6729
6671
6730
6672
6731
6673
6732
6674
6733
6675
6734
6676
6735
6677
6736
6678
6737
6679
6738
6680
6739
6681
6740
6682
6741
6683
6742
6684
6743
6685
6744
6686
6745
6687
6746
6688
6747
6689
6748
6690
6749
6691
6750
6692
6751
6693
6752
6694
6753
6695
6754
6696
6755
6697
6756
6698
6757
6699
6758
6700
6759
6701
6760
6702
6761
6703
6762
6704
6763
6764
6706
6765
6707
6766
6708
6767
6709
6768
6710
6769
6711
6770
6712
6771
6713
6772
6714
6773
6715
6774
6716
6775
6717
6776
6718
6777
6719
6778
6720
6779
6721
6780
6722
6781
6723
6782
6724
6783
6725
6784
6726
6785
6727
6786
6728
6787
6729
6788
6730
6789
6731
6790
6732
6791
6733
6792
6734
6793
6735
6794
6736
6795
6737
6796
6738
6797
6739
6798
6740
6799
6741
6800
6742
6801
6743
6802
6744
6803
6745
6804
6746
6805
6747
6806
6748
6807
6749
6808
6750
6809
6751
6810
6752
6811
6753
6812
6754
6813
6755
6814
6756
6815
6757
6816
6758
6817
6759
6818
6760
6819
6761
6820
6762
6821
6763
6822
6764
6823
6824
6766
6825
6767
6826
6768
6827
6769
6828
6770
6829
6771
6830
6772
6831
6773
6832
6774
6833
6775
6834
6776
6835
6777
6836
6778
6837
6779
6838
6780
6839
6781
6840
6782
6841
6783
6842
6784
6843
6785
6844
6786
6845
6787
6846
6788
6847
6789
6848
6790
6849
6791
6850
6792
6851
6793
6852
6794
6853
6795
6854
6796
6855
6797
6856
6798
6857
6799
6858
6800
6859
6801
6860
6802
6861
6803
6862
6804
6863
6805
6864
6806
6865
6807
6866
6808
6867
6809
6868
6810
6869
6811
6870
6812
6871
6813
6872
6814
6873
6815
6874
6816
6875
6817
6876
6818
6877
6819
6878
6820
6879
6821
6880
6822
6881
6823
6882
6824
6883
6884
6826
6885
6827
6886
6828
6887
6829
6888
6830
6889
6831
6890
6832
6891
6833
6892
6834
6893
6835
6894
6836
6895
6837
6896
6838
6897
6839
6898
6840
6899
6841
6900
6842
6901
6843
6902
6844
6903
6845
6904
6846
6905
6847
6906
6848
6907
6849
6908
6850
6909
6851
6910
6852
6911
6853
6912
6854
6913
6855
6914
6856
6915
6857
6916
6858
6917
6859
6918
6860
6919
6861
6920
6862
6921
6863
6922
6864
6923
6865
6924
6866
6925
6867
6926
6868
6927
6869
6928
6870
6929
6871
6930
6872
6931
6873
6932
6874
6933
6875
6934
6876
6935
6877
6936
6878
6937
6879
6938
6880
6939
6881
6940
6882
6941
6883
6942
6884
6943
6944
6886
6945
6887
6946
6888
6947
6889
6948
6890
6949
6891
6950
6892
6951
6893
6952
6894
6953
6895
6954
6896
6955
6897
6956
6898
6957
6899
6958
6900
6959
6901
6960
6902
6961
6903
6962
6904
6963
6905
6964
6906
6965
6907
6966
6908
6967
6909
6968
6910
6969
6911
6970
6912
6971
6913
6972
6914
6973
6915
6974
6916
6975
6917
6976
6918
6977
6919
6978
6920
6979
6921
6980
6922
6981
6923
6982
6924
6983
6925
6984
6926
6985
6927
6986
6928
6987
6929
6988
6930
6989
6931
6990
6932
6991
6933
6992
6934
6993
6935
6994
6936
6995
6937
6996
6938
6997
6939
6998
6940
6999
6941
7000
6942
7001
6943
7002
6944
7003
7004
6946
7005
6947
7006
6948
7007
6949
7008
6950
7009
6951
7010
6952
7011
6953
7012
6954
7013
6955
7014
6956
7015
6957
7016
6958
7017
6959
7018
6960
7019
6961
7020
6962
7021
6963
7022
6964
7023
6965
7024
6966
7025
6967
7026
6968
7027
6969
7028
6970
7029
6971
7030
6972
7031
6973
7032
6974
7033
6975
7034
6976
7035
6977
7036
6978
7037
6979
7038
6980
7039
6981
7040
6982
7041
6983
7042
6984
7043
6985
7044
6986
7045
6987
7046
6988
7047
6989
7048
6990
7049
6991
7050
6992
7051
6993
7052
6994
7053
6995
7054
6996
7055
6997
7056
6998
7057
6999
7058
7000
7059
7001
7060
7002
7061
7003
7062
7004
7063
7064
7006
7065
7007
7066
7008
7067
7009
7068
7010
7069
7011
7070
7012
7071
7013
7072
7014
7073
7015
7074
7016
7075
7017
7076
7018
7077
7019
7078
7020
7079
7021
7080
7022
7081
7023
7082
7024
7083
7025
7084
7026
7085
7027
7086
7028
7087
7029
7088
7030
7089
7031
7090
7032
7091
7033
7092
7034
7093
7035
7094
7036
7095
7037
7096
7038
7097
7039
7098
7040
7099
7041
7100
7042
7101
7043
7102
7044
7103
7045
7104
7046
7105
7047
7106
7048
7107
7049
7108
7050
7109
7051
7110
7052
7111
7053
7112
7054
7113
7055
7114
7056
7115
7057
7116
7058
7117
7059
7118
7060
7119
7061
7120
7062
7121
7063
7122
7064
7123
7124
7066
7125
7067
7126
7068
7127
7069
7128
7070
7129
7071
7130
7072
7131
7073
7132
7074
7133
7075
7134
7076
7135
7077
7136
7078
7137
7079
7138
7080
7139
7081
7140
7082
7141
7083
7142
7084
7143
7085
7144
7086
7145
7087
7146
7088
7147
7089
7148
7090
7149
7091
7150
7092
7151
7093
7152
7094
7153
7095
7154
7096
7155
7097
7156
7098
7157
7099
7158
7100
7159
7101
7160
7102
7161
7103
7162
7104
7163
7105
7164
7106
7165
7107
7166
7108
7167
7109
7168
7110
7169
7111
7170
7112
7171
7113
7172
7114
7173
7115
7174
7116
7175
7117
7176
7118
7177
7119
7178
7120
7179
7121
7180
7122
7181
7123
7182
7124
7183
7184
7126
7185
7127
7186
7128
7187
7129
7188
7130
7189
7131
7190
7132
7191
7133
7192
7134
7193
7135
7194
7136
7195
7137
7196
7138
7197
7139
7198
7140
7199
7141
7200
7142
7201
7143
7202
7144
7203
7145
7204
7146
7205
7147
7206
7148
7207
7149
7208
7150
7209
7151
7210
7152
7211
7153
7212
7154
7213
7155
7214
7156
7215
7157
7216
7158
7217
7159
7218
7160
7219
7161
7220
7162
7221
7163
7222
7164
7223
7165
7224
7166
7225
7167
7226
7168
7227
7169
7228
7170
7229
7171
7230
7172
7231
7173
7232
7174
7233
7175
7234
7176
7235
7177
7236
7178
7237
7179
7238
7180
7239
7181
7240
7182
7241
7183
7242
7184
7243
7244
7186
7245
7187
7246
7188
7247
7189
7248
7190
7249
7191
7250
7192
7251
7193
7252
7194
7253
7195
7254
7196
7255
7197
7256
7198
7257
7199
7258
7200
7259
7201
7260
7202
7261
7203
7262
7204
7263
7205
7264
7206
7265
7207
7266
7208
7267
7209
7268
7210
7269
7211
7270
7212
7271
7213
7272
7214
7273
7215
7274
7216
7275
7217
7276
7218
7277
7219
7278
7220
7279
7221
7280
7222
7281
7223
7282
7224
7283
7225
7284
7226
7285
7227
7286
7228
7287
7229
7288
7230
7289
7231
7290
7232
7291
7233
7292
7234
7293
7235
7294
7236
7295
7237
7296
7238
7297
7239
7298
7240
7299
7241
7300
7242
7301
7243
7302
7244
7303
7304
7246
7305
7247
7306
7248
7307
7249
7308
7250
7309
7251
7310
7252
7311
7253
7312
7254
7313
7255
7314
7256
7315
7257
7316
7258
7317
7259
7318
7260
7319
7261
7320
7262
7321
7263
7322
7264
7323
7265
7324
7266
7325
7267
7326
7268
7327
7269
7328
7270
7329
7271
7330
7272
7331
7273
7332
7274
7333
7275
7334
7276
7335
7277
7336
7278
7337
7279
7338
7280
7339
7281
7340
7282
7341
7283
7342
7284
7343
7285
7344
7286
7345
7287
7346
7288
7347
7289
7348
7290
7349
7291
7350
7292
7351
7293
7352
7294
7353
7295
7354
7296
7355
7297
7356
7298
7357
7299
7358
7300
7359
7301
7360
7302
7361
7303
7362
7304
7363
7364
7306
7365
7307
7366
7308
7367
7309
7368
7310
7369
7311
7370
7312
7371
7313
7372
7314
7373
7315
7374
7316
7375
7317
7376
7318
7377
7319
7378
7320
7379
7321
7380
7322
7381
7323
7382
7324
7383
7325
7384
7326
7385
7327
7386
7328
7387
7329
7388
7330
7389
7331
7390
7332
7391
7333
7392
7334
7393
7335
7394
7336
7395
7337
7396
7338
7397
7339
7398
7340
7399
7341
7400
7342
7401
7343
7402
7344
7403
7345
7404
7346
7405
7347
7406
7348
7407
7349
7408
7350
7409
7351
7410
7352
7411
7353
7412
7354
7413
7355
7414
7356
7415
7357
7416
7358
7417
7359
7418
7360
7419
7361
7420
7362
7421
7363
7422
7364
7423
7424
7366
7425
7367
7426
7368
7427
7369
7428
7370
7429
7371
7430
7372
7431
7373
7432
7374
7433
7375
7434
7376
7435
7377
7436
7378
7437
7379
7438
7380
7439
7381
7440
7382
7441
7383
7442
7384
7443
7385
7444
7386
7445
7387
7446
7388
7447
7389
7448
7390
7449
7391
7450
7392
7451
7393
7452
7394
7453
7395
7454
7396
7455
7397
7456
7398
7457
7399
7458
7400
7459
7401
7460
7402
7461
7403
7462
7404
7463
7405
7464
7406
7465
7407
7466
7408
7467
7409
7468
7410
7469
7411
7470
7412
7471
7413
7472
7414
7473
7415
7474
7416
7475
7417
7476
7418
7477
7419
7478
7420
7479
7421
7480
7422
7481
7423
7482
7424
7483
7484
7426
7485
7427
7486
7428
7487
7429
7488
7430
7489
7431
7490
7432
7491
7433
7492
7434
7493
7435
7494
7436
7495
7437
7496
7438
7497
7439
7498
7440
7499
7441
7500
7442
7501
7443
7502
7444
7503
7445
7504
7446
7505
7447
7506
7448
7507
7449
7508
7450
7509
7451
7510
7452
7511
7453
7512
7454
7513
7455
7514
7456
7515
7457
7516
7458
7517
7459
7518
7460
7519
7461
7520
7462
7521
7463
7522
7464
7523
7465
7524
7466
7525
7467
7526
7468
7527
7469
7528
7470
7529
7471
7530
7472
7531
7473
7532
7474
7533
7475
7534
7476
7535
7477
7536
7478
7537
7479
7538
7480
7539
7481
7540
7482
7541
7483
7542
7484
7543
7544
7486
7545
7487
7546
7488
7547
7489
7548
7490
7549
7491
7550
7492
7551
7493
7552
7494
7553
7495
7554
7496
7555
7497
7556
7498
7557
7499
7558
7500
7559
7501
7560
7502
7561
7503
7562
7504
7563
7505
7564
7506
7565
7507
7566
7508
7567
7509
7568
7510
7569
7511
7570
7512
7571
7513
7572
7514
7573
7515
7574
7516
7575
7517
7576
7518
7577
7519
7578
7520
7579
7521
7580
7522
7581
7523
7582
7524
7583
7525
7584
7526
7585
7527
7586
7528
7587
7529
7588
7530
7589
7531
7590
7532
7591
7533
7592
7534
7593
7535
7594
7536
7595
7537
7596
7538
7597
7539
7598
7540
7599
7541
7600
7542
7601
7543
7602
7544
7603
7604
7546
7605
7547
7606
7548
7607
7549
7608
7550
7609
7551
7610
7552
7611
7553
7612
7554
7613
7555
7614
7556
7615
7557
7616
7558
7617
7559
7618
7560
7619
7561
7620
7562
7621
7563
7622
7564
7623
7565
7624
7566
7625
7567
7626
7568
7627
7569
7628
7570
7629
7571
7630
7572
7631
7573
7632
7574
7633
7575
7634
7576
7635
7577
7636
7578
7637
7579
7638
7580
7639
7581
7640
7582
7641
7583
7642
7584
7643
7585
7644
7586
7645
7587
7646
7588
7647
7589
7648
7590
7649
7591
7650
7592
7651
7593
7652
7594
7653
7595
7654
7596
7655
7597
7656
7598
7657
7599
7658
7600
7659
7601
7660
7602
7661
7603
7662
7604
7663
7664
7606
7665
7607
7666
7608
7667
7609
7668
7610
7669
7611
7670
7612
7671
7613
7672
7614
7673
7615
7674
7616
7675
7617
7676
7618
7677
7619
7678
7620
7679
7621
7680
7622
7681
7623
7682
7624
7683
7625
7684
7626
7685
7627
7686
7628
7687
7629
7688
7630
7689
7631
7690
7632
7691
7633
7692
7634
7693
7635
7694
7636
7695
7637
7696
7638
7697
7639
7698
7640
7699
7641
7700
7642
7701
7643
7702
7644
7703
7645
7704
7646
7705
7647
7706
7648
7707
7649
7708
7650
7709
7651
7710
7652
7711
7653
7712
7654
7713
7655
7714
7656
7715
7657
7716
7658
7717
7659
7718
7660
7719
7661
7720
7662
7721
7663
7722
7664
7723
7724
7666
7725
7667
7726
7668
7727
7669
7728
7670
7729
7671
7730
7672
7731
7673
7732
7674
7733
7675
7734
7676
7735
7677
7736
7678
7737
7679
7738
7680
7739
7681
7740
7682
7741
7683
7742
7684
7743
7685
7744
7686
7745
7687
7746
7688
7747
7689
7748
7690
7749
7691
7750
7692
7751
7693
7752
7694
7753
7695
7754
7696
7755
7697
7756
7698
7757
7699
7758
7700
7759
7701
7760
7702
7761
7703
7762
7704
7763
7705
7764
7706
7765
7707
7766
7708
7767
7709
7768
7710
7769
7711
7770
7712
7771
7713
7772
7714
7773
7715
7774
7716
7775
7717
7776
7718
7777
7719
7778
7720
7779
7721
7780
7722
7781
7723
7782
7724
7783
7784
7726
7785
7727
7786
7728
7787
7729
7788
7730
7789
7731
7790
7732
7791
7733
7792
7734
7793
7735
7794
7736
7795
7737
7796
7738
7797
7739
7798
7740
7799
7741
7800
7742
7801
7743
7802
7744
7803
7745
7804
7746
7805
7747
7806
7748
7807
7749
7808
7750
7809
7751
7810
7752
7811
7753
7812
7754
7813
7755
7814
7756
7815
7757
7816
7758
7817
7759
7818
7760
7819
7761
7820
7762
7821
7763
7822
7764
7823
7765
7824
7766
7825
7767
7826
7768
7827
7769
7828
7770
7829
7771
7830
7772
7831
7773
7832
7774
7833
7775
7834
7776
7835
7777
7836
7778
7837
7779
7838
7780
7839
7781
7840
7782
7841
7783
7842
7784
7843
7844
7786
7845
7787
7846
7788
7847
7789
7848
7790
7849
7791
7850
7792
7851
7793
7852
7794
7853
7795
7854
7796
7855
7797
7856
7798
7857
7799
7858
7800
7859
7801
7860
7802
7861
7803
7862
7804
7863
7805
7864
7806
7865
7807
7866
7808
7867
7809
7868
7810
7869
7811
7870
7812
7871
7813
7872
7814
7873
7815
7874
7816
7875
7817
7876
7818
7877
7819
7878
7820
7879
7821
7880
7822
7881
7823
7882
7824
7883
7825
7884
7826
7885
7827
7886
7828
7887
7829
7888
7830
7889
7831
7890
7832
7891
7833
7892
7834
7893
7835
7894
7836
7895
7837
7896
7838
7897
7839
7898
7840
7899
7841
7900
7842
7901
7843
7902
7844
7903
7904
7846
7905
7847
7906
7848
7907
7849
7908
7850
7909
7851
7910
7852
7911
7853
7912
7854
7913
7855
7914
7856
7915
7857
7916
7858
7917
7859
7918
7860
7919
7861
7920
7862
7921
7863
7922
7864
7923
7865
7924
7866
7925
7867
7926
7868
7927
7869
7928
7870
7929
7871
7930
7872
7931
7873
7932
7874
7933
7875
7934
7876
7935
7877
7936
7878
7937
7879
7938
7880
7939
7881
7940
7882
7941
7883
7942
7884
7943
7885
7944
7886
7945
7887
7946
7888
7947
7889
7948
7890
7949
7891
7950
7892
7951
7893
7952
7894
7953
7895
7954
7896
7955
7897
7956
7898
7957
7899
7958
7900
7959
7901
7960
7902
7961
7903
7962
7904
7963
7964
7906
7965
7907
7966
7908
7967
7909
7968
7910
7969
7911
7970
7912
7971
7913
7972
7914
7973
7915
7974
7916
7975
7917
7976
7918
7977
7919
7978
7920
7979
7921
7980
7922
7981
7923
7982
7924
7983
7925
7984
7926
7985
7927
7986
7928
7987
7929
7988
7930
7989
7931
7990
7932
7991
7933
7992
7934
7993
7935
7994
7936
7995
7937
7996
7938
7997
7939
7998
7940
7999
7941
8000
7942
8001
7943
8002
7944
8003
7945
8004
7946
8005
7947
8006
7948
8007
7949
8008
7950
8009
7951
8010
7952
8011
7953
8012
7954
8013
7955
8014
7956
8015
7957
8016
7958
8017
7959
8018
7960
8019
7961
8020
7962
8021
7963
8022
7964
8023
8024
7966
8025
7967
8026
7968
8027
7969
8028
7970
8029
7971
8030
7972
8031
7973
8032
7974
8033
7975
8034
7976
8035
7977
8036
7978
8037
7979
8038
7980
8039
7981
8040
7982
8041
7983
8042
7984
8043
7985
8044
7986
8045
7987
8046
7988
8047
7989
8048
7990
8049
7991
8050
7992
8051
7993
8052
7994
8053
7995
8054
7996
8055
7997
8056
7998
8057
7999
8058
8000
8059
8001
8060
8002
8061
8003
8062
8004
8063
8005
8064
8006
8065
8007
8066
8008
8067
8009
8068
8010
8069
8011
8070
8012
8071
8013
8072
8014
8073
8015
8074
8016
8075
8017
8076
8018
8077
8019
8078
8020
8079
8021
8080
8022
8081
8023
8082
8024
8083
8084
8026
8085
8027
8086
8028
8087
8029
8088
8030
8089
8031
8090
8032
8091
8033
8092
8034
8093
8035
8094
8036
8095
8037
8096
8038
8097
8039
8098
8040
8099
8041
8100
8042
8101
8043
8102
8044
8103
8045
8104
8046
8105
8047
8106
8048
8107
8049
8108
8050
8109
8051
8110
8052
8111
8053
8112
8054
8113
8055
8114
8056
8115
8057
8116
8058
8117
8059
8118
8060
8119
8061
8120
8062
8121
8063
8122
8064
8123
8065
8124
8066
8125
8067
8126
8068
8127
8069
8128
8070
8129
8071
8130
8072
8131
8073
8132
8074
8133
8075
8134
8076
8135
8077
8136
8078
8137
8079
8138
8080
8139
8081
8140
8082
8141
8083
8142
8084
8143
8144
8086
8145
8087
8146
8088
8147
8089
8148
8090
8149
8091
8150
8092
8151
8093
8152
8094
8153
8095
8154
8096
8155
8097
8156
8098
8157
8099
8158
8100
8159
8101
8160
8102
8161
8103
8162
8104
8163
8105
8164
8106
8165
8107
8166
8108
8167
8109
8168
8110
8169
8111
8170
8112
8171
8113
8172
8114
8173
8115
8174
8116
8175
8117
8176
8118
8177
8119
8178
8120
8179
8121
8180
8122
8181
8123
8182
8124
8183
8125
8184
8126
8185
8127
8186
8128
8187
8129
8188
8130
8189
8131
9405
8132
9406
8133
9407
8134
9408
8135
9409
8136
9410
8137
9411
8138
9412
8139
9413
8140
9414
8141
9415
8142
9416
8143
9417
8144
9418
9419
8146
9420
8147
9421
8148
9422
8149
9423
8150
9424
8151
9425
8152
9426
8153
9427
8154
9428
8155
9429
8156
9430
8157
9431
8158
9432
8159
9433
8160
9434
8161
9435
8162
9436
8163
9437
8164
9438
8165
9439
8166
9440
8167
9441
8168
9442
8169
9443
8170
9444
8171
9445
8172
9446
8173
9447
8174
9448
8175
9449
8176
9450
8177
9451
8178
9452
8179
9453
8180
9454
8181
9455
8182
9456
8183
9457
8184
9458
8185
9459
8186
9460
8187
9461
8188
9462
8189
9463
9405
9464
8191
8250
8192
8251
8193
8252
8194
8253
8195
8254
8196
8255
8197
8256
8198
8257
8199
8258
8200
8259
8201
8260
8202
8261
8203
8262
8204
8263
8205
8264
8206
8265
8207
8266
8208
8267
8209
8268
8210
8269
8211
8270
8212
8271
8213
8272
8214
8273
8215
8274
8216
8275
8217
8276
8218
8277
8219
8278
8220
8279
8221
8280
8222
8281
8223
8282
8224
8283
8225
8284
8226
8285
8227
8286
8228
8287
8229
8288
8230
8289
8231
8290
8232
8291
8233
8292
8234
8293
8235
8294
8236
8295
8237
8296
8238
8297
8239
8298
8240
8299
8241
8300
8242
8301
8243
8302
8244
8303
8245
8304
8246
8305
8247
8306
8248
8307
8249
8308
8309
8251
8310
8252
8311
8253
8312
8254
8313
8255
8314
8256
8315
8257
8316
8258
8317
8259
8318
8260
8319
8261
8320
8262
8321
8263
8322
8264
8323
8265
8324
8266
8325
8267
8326
8268
8327
8269
8328
8270
8329
8271
8330
8272
8331
8273
8332
8274
8333
8275
8334
8276
8335
8277
8336
8278
8337
8279
8338
8280
8339
8281
8340
8282
8341
8283
8342
8284
8343
8285
8344
8286
8345
8287
8346
8288
8347
8289
8348
8290
8349
8291
8350
8292
8351
8293
8352
8294
8353
8295
8354
8296
8355
8297
8356
8298
8357
8299
8358
8300
8359
8301
8360
8302
8361
8303
8362
8304
8363
8305
8364
8306
8365
8307
8366
8308
8367
8309
8368
8369
8311
8370
8312
8371
8313
8372
8314
8373
8315
8374
8316
8375
8317
8376
8318
8377
8319
8378
8320
8379
8321
8380
8322
8381
8323
8382
8324
8383
8325
8384
8326
8385
8327
8386
8328
8387
8329
8388
8330
8389
8331
8390
8332
8391
8333
8392
8334
8393
8335
8394
8336
8395
8337
8396
8338
8397
8339
8398
8340
8399
8341
8400
8342
8401
8343
8402
8344
8403
8345
8404
8346
8405
8347
8406
8348
8407
8349
8408
8350
8409
8351
8410
8352
8411
8353
8412
8354
8413
8355
8414
8356
8415
8357
8416
8358
8417
8359
8418
8360
8419
8361
8420
8362
8421
8363
8422
8364
8423
8365
8424
8366
8425
8367
8426
8368
8427
8369
8428
8429
8371
8430
8372
8431
8373
8432
8374
8433
8375
8434
8376
8435
8377
8436
8378
8437
8379
8438
8380
8439
8381
8440
8382
8441
8383
8442
8384
8443
8385
8444
8386
8445
8387
8446
8388
8447
8389
8448
8390
8449
8391
8450
8392
8451
8393
8452
8394
8453
8395
8454
8396
8455
8397
8456
8398
8457
8399
8458
8400
8459
8401
8460
8402
8461
8403
8462
8404
8463
8405
8464
8406
8465
8407
8466
8408
8467
8409
8468
8410
8469
8411
8470
8412
8471
8413
8472
8414
8473
8415
8474
8416
8475
8417
8476
8418
8477
8419
8478
8420
8479
8421
8480
8422
8481
8423
8482
8424
8483
8425
8484
8426
8485
8427
8486
8428
8487
8429
8488
8489
8431
8490
8432
8491
8433
8492
8434
8493
8435
8494
8436
8495
8437
8496
8438
8497
8439
8498
8440
8499
8441
8500
8442
8501
8443
8502
8444
8503
8445
8504
8446
8505
8447
8506
8448
8507
8449
8508
8450
8509
8451
8510
8452
8511
8453
8512
8454
8513
8455
8514
8456
8515
8457
8516
8458
8517
8459
8518
8460
8519
8461
8520
8462
8521
8463
8522
8464
8523
8465
8524
8466
8525
8467
8526
8468
8527
8469
8528
8470
8529
8471
8530
8472
8531
8473
8532
8474
8533
8475
8534
8476
8535
8477
8536
8478
8537
8479
8538
8480
8539
8481
8540
8482
8541
8483
8542
8484
8543
8485
8544
8486
8545
8487
8546
8488
8547
8489
8548
8549
8491
8550
8492
8551
8493
8552
8494
8553
8495
8554
8496
8555
8497
8556
8498
8557
8499
8558
8500
8559
8501
8560
8502
8561
8503
8562
8504
8563
8505
8564
8506
8565
8507
8566
8508
8567
8509
8568
8510
8569
8511
8570
8512
8571
8513
8572
8514
8573
8515
8574
8516
8575
8517
8576
8518
8577
8519
8578
8520
8579
8521
8580
8522
8581
8523
8582
8524
8583
8525
8584
8526
8585
8527
8586
8528
8587
8529
8588
8530
8589
8531
8590
8532
8591
8533
8592
8534
8593
8535
8594
8536
8595
8537
8596
8538
8597
8539
8598
8540
8599
8541
8600
8542
8601
8543
8602
8544
8603
8545
8604
8546
8605
8547
8606
8548
8607
8549
8608
8609
8551
8610
8552
8611
8553
8612
8554
8613
8555
8614
8556
8615
8557
8616
8558
8617
8559
8618
8560
8619
8561
8620
8562
8621
8563
8622
8564
8623
8565
8624
8566
8625
8567
8626
8568
8627
8569
8628
8570
8629
8571
8630
8572
8631
8573
8632
8574
8633
8575
8634
8576
8635
8577
8636
8578
8637
8579
8638
8580
8639
8581
8640
8582
8641
8583
8642
8584
8643
8585
8644
8586
8645
8587
8646
8588
8647
8589
8648
8590
8649
8591
8650
8592
8651
8593
8652
8594
8653
8595
8654
8596
8655
8597
8656
8598
8657
8599
8658
8600
8659
8601
8660
8602
8661
8603
8662
8604
8663
8605
8664
8606
8665
8607
8666
8608
8667
8609
8668
8669
8611
8670
8612
8671
8613
8672
8614
8673
8615
8674
8616
8675
8617
8676
8618
8677
8619
8678
8620
8679
8621
8680
8622
8681
8623
8682
8624
8683
8625
8684
8626
8685
8627
8686
8628
8687
8629
8688
8630
8689
8631
8690
8632
8691
8633
8692
8634
8693
8635
8694
8636
8695
8637
8696
8638
8697
8639
8698
8640
8699
8641
8700
8642
8701
8643
8702
8644
8703
8645
8704
8646
8705
8647
8706
8648
8707
8649
8708
8650
8709
8651
8710
8652
8711
8653
8712
8654
8713
8655
8714
8656
8715
8657
8716
8658
8717
8659
8718
8660
8719
8661
8720
8662
8721
8663
8722
8664
8723
8665
8724
8666
8725
8667
8726
8668
8727
8669
8728
8729
8671
8730
8672
8731
8673
8732
8674
8733
8675
8734
8676
8735
8677
8736
8678
8737
8679
8738
8680
8739
8681
8740
8682
8741
8683
8742
8684
8743
8685
8744
8686
8745
8687
8746
8688
8747
8689
8748
8690
8749
8691
8750
8692
8751
8693
8752
8694
8753
8695
8754
8696
8755
8697
8756
8698
8757
8699
8758
8700
8759
8701
8760
8702
8761
8703
8762
8704
8763
8705
8764
8706
8765
8707
8766
8708
8767
8709
8768
8710
8769
8711
8770
8712
8771
8713
8772
8714
8773
8715
8774
8716
8775
8717
8776
8718
8777
8719
8778
8720
8779
8721
8780
8722
8781
8723
8782
8724
8783
8725
8784
8726
8785
8727
8786
8728
8787
8729
8788
8789
8731
8790
8732
8791
8733
8792
8734
8793
8735
8794
8736
8795
8737
8796
8738
8797
8739
8798
8740
8799
8741
8800
8742
8801
8743
8802
8744
8803
8745
8804
8746
8805
8747
8806
8748
8807
8749
8808
8750
8809
8751
8810
8752
8811
8753
8812
8754
8813
8755
8814
8756
8815
8757
8816
8758
8817
8759
8818
8760
8819
8761
8820
8762
8821
8763
8822
8764
8823
8765
8824
8766
8825
8767
8826
8768
8827
8769
8828
8770
8829
8771
8830
8772
8831
8773
8832
8774
8833
8775
8834
8776
8835
8777
8836
8778
8837
8779
8838
8780
8839
8781
8840
8782
8841
8783
8842
8784
8843
8785
8844
8786
8845
8787
8846
8788
8847
8789
8848
8849
8791
8850
8792
8851
8793
8852
8794
8853
8795
8854
8796
8855
8797
8856
8798
8857
8799
8858
8800
8859
8801
8860
8802
8861
8803
8862
8804
8863
8805
8864
8806
8865
8807
8866
8808
8867
8809
8868
8810
8869
8811
8870
8812
8871
8813
8872
8814
8873
8815
8874
8816
8875
8817
8876
8818
8877
8819
8878
8820
8879
8821
8880
8822
8881
8823
8882
8824
8883
8825
8884
8826
8885
8827
8886
8828
8887
8829
8888
8830
8889
8831
8890
8832
8891
8833
8892
8834
8893
8835
8894
8836
8895
8837
8896
8838
8897
8839
8898
8840
8899
8841
8900
8842
8901
8843
8902
8844
8903
8845
8904
8846
8905
8847
8906
8848
8907
8849
8908
8909
8851
8910
8852
8911
8853
8912
8854
8913
8855
8914
8856
8915
8857
8916
8858
8917
8859
8918
8860
8919
8861
8920
8862
8921
8863
8922
8864
8923
8865
8924
8866
8925
8867
8926
8868
8927
8869
8928
8870
8929
8871
8930
8872
8931
8873
8932
8874
8933
8875
8934
8876
8935
8877
8936
8878
8937
8879
8938
8880
8939
8881
8940
8882
8941
8883
8942
8884
8943
8885
8944
8886
8945
8887
8946
8888
8947
8889
8948
8890
8949
8891
8950
8892
8951
8893
8952
8894
8953
8895
8954
8896
8955
8897
8956
8898
8957
8899
8958
8900
8959
8901
8960
8902
8961
8903
8962
8904
8963
8905
8964
8906
8965
8907
8966
8908
8967
8909
8968
8969
8911
8970
8912
8971
8913
8972
8914
8973
8915
8974
8916
8975
8917
8976
8918
8977
8919
8978
8920
8979
8921
8980
8922
8981
8923
8982
8924
8983
8925
8984
8926
8985
8927
8986
8928
8987
8929
8988
8930
8989
8931
8990
8932
8991
8933
8992
8934
8993
8935
8994
8936
8995
8937
8996
8938
8997
8939
8998
8940
8999
8941
9000
8942
9001
8943
9002
8944
9003
8945
9004
8946
9005
8947
9006
8948
9007
8949
9008
8950
9009
8951
9010
8952
9011
8953
9012
8954
9013
8955
9014
8956
9015
8957
9016
8958
9017
8959
9018
8960
9019
8961
9020
8962
9021
8963
9022
8964
9023
8965
9024
8966
9025
8967
9026
8968
9027
8969
9028
9029
8971
9030
8972
9031
8973
9032
8974
9033
8975
9034
8976
9035
8977
9036
8978
9037
8979
9038
8980
9039
8981
9040
8982
9041
8983
9042
8984
9043
8985
9044
8986
9045
8987
9046
8988
9047
8989
9048
8990
9049
8991
9050
8992
9051
8993
9052
8994
9053
8995
9054
8996
9055
8997
9056
8998
9057
8999
9058
9000
9059
9001
9060
9002
9061
9003
9062
9004
9063
9005
9064
9006
9065
9007
9066
9008
9067
9009
9068
9010
9069
9011
9070
9012
9071
9013
9072
9014
9073
9015
9074
9016
9075
9017
9076
9018
9077
9019
9078
9020
9079
9021
9080
9022
9081
9023
9082
9024
9083
9025
9084
9026
9085
9027
9086
9028
9087
9029
9088
9089
9031
9090
9032
9091
9033
9092
9034
9093
9035
9094
9036
9095
9037
9096
9038
9097
9039
9098
9040
9099
9041
9100
9042
9101
9043
9102
9044
9103
9045
9104
9046
9105
9047
9106
9048
9107
9049
9108
9050
9109
9051
9110
9052
9111
9053
9112
9054
9113
9055
9114
9056
9115
9057
9116
9058
9117
9059
9118
9060
9119
9061
9120
9062
9121
9063
9122
9064
9123
9065
9124
9066
9125
9067
9126
9068
9127
9069
9128
9070
9129
9071
9130
9072
9131
9073
9132
9074
9133
9075
9134
9076
9135
9077
9136
9078
9137
9079
9138
9080
9139
9081
9140
9082
9141
9083
9142
9084
9143
9085
9144
9086
9145
9087
9146
9088
9147
9089
9148
9149
9091
9150
9092
9151
9093
9152
9094
9153
9095
9154
9096
9155
9097
9156
9098
9157
9099
9158
9100
9159
9101
9160
9102
9161
9103
9162
9104
9163
9105
9164
9106
9165
9107
9166
9108
9167
9109
9168
9110
9169
9111
9170
9112
9171
9113
9172
9114
9173
9115
9174
9116
9175
9117
9176
9118
9177
9119
9178
9120
9179
9121
9180
9122
9181
9123
9182
9124
9183
9125
9184
9126
9185
9127
9186
9128
9187
9129
9188
9130
9189
9131
9190
9132
9191
9133
9192
9134
9193
9135
9194
9136
9195
9137
9196
9138
9197
9139
9198
9140
9199
9141
9200
9142
9201
9143
9202
9144
9203
9145
9204
9146
9205
9147
9206
9148
9207
9149
9208
9209
9151
9210
9152
9211
9153
9212
9154
9213
9155
9214
9156
9215
9157
9216
9158
9217
9159
9218
9160
9219
9161
9220
9162
9221
9163
9222
9164
9223
9165
9224
9166
9225
9167
9226
9168
9227
9169
9228
9170
9229
9171
9230
9172
9231
9173
9232
9174
9233
9175
9234
9176
9235
9177
9236
9178
9237
9179
9238
9180
9239
9181
9240
9182
9241
9183
9242
9184
9243
9185
9244
9186
9245
9187
9246
9188
9247
9189
9248
9190
9249
9191
9250
9192
9251
9193
9252
9194
9253
9195
9254
9196
9255
9197
9256
9198
9257
9199
9258
9200
9259
9201
9260
9202
9261
9203
9262
9204
9263
9205
9264
9206
9265
9207
9266
9208
9267
9209
9268
9269
9211
9270
9212
9271
9213
9272
9214
9273
9215
9274
9216
9275
9217
9276
9218
9277
9219
9278
9220
9279
9221
9280
9222
9281
9223
9282
9224
9283
9225
9284
9226
9285
9227
9286
9228
9287
9229
9288
9230
9289
9231
9290
9232
9291
9233
9292
9234
9293
9235
9294
9236
9295
9237
9296
9238
9297
9239
9298
9240
9299
9241
9300
9242
9301
9243
9302
9244
9303
9245
9304
9246
9305
9247
9306
9248
9307
9249
9308
9250
9309
9251
9310
9252
9311
9253
9312
9254
9313
9255
9314
9256
9315
9257
9316
9258
9317
9259
9318
9260
9319
9261
9320
9262
9321
9263
9322
9264
9323
9265
9324
9266
9325
9267
9326
9268
9327
9269
9328
9329
9271
9330
9272
9331
9273
9332
9274
9333
9275
9334
9276
9335
9277
9336
9278
9337
9279
9338
9280
9339
9281
9340
9282
9341
9283
9342
9284
9343
9285
9344
9286
9345
9287
9346
9288
9347
9289
9348
9290
9349
9291
9350
9292
9351
9293
9352
9294
9353
9295
9354
9296
9355
9297
9356
9298
9357
9299
9358
9300
9359
9301
9360
9302
9361
9303
9362
9304
9363
9305
9364
9306
9365
9307
9366
9308
9367
9309
9368
9310
9369
9311
9370
9312
9371
9313
9372
9314
9373
9315
9374
9316
9375
9317
9376
9318
9377
9319
9378
9320
9379
9321
9380
9322
9381
9323
9382
9324
9383
9325
9384
9326
9385
9327
9386
9328
9387
9329
9388
9389
9331
9390
9332
9391
9333
9392
9334
9393
9335
9394
9336
9395
9337
9396
9338
9397
9339
9398
9340
9399
9341
9400
9342
9401
9343
9402
9344
9403
9345
9404
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9406
9465
9407
9466
9408
9467
9409
9468
9410
9469
9411
9470
9412
9471
9413
9472
9414
9473
9415
9474
9416
9475
9417
9476
9418
9477
9419
9478
9479
9421
9480
9422
9481
9423
9482
9424
9483
9425
9484
9426
9485
9427
9486
9428
9487
9429
9488
9430
9489
9431
9490
9432
9491
9433
9492
9434
9493
9435
9494
9436
9495
9437
9496
9438
9497
9439
9498
9440
9499
9441
9500
9442
9501
9443
9502
9444
9503
9445
9504
9446
9505
9447
9506
9448
9507
9449
9508
9450
9509
9451
9510
9452
9511
9453
9512
9454
9513
9455
9514
9456
9515
9457
9516
9458
9517
9459
9518
9460
9519
9461
9520
9462
9521
9463
9522
9464
9523
9465
9524
9466
9525
9467
9526
9468
9527
9469
9528
9470
9529
9471
9530
9472
9531
9473
9532
9474
9533
9475
9534
9476
9535
9477
9536
9478
9537
9479
9538
9539
9481
9540
9482
9541
9483
9542
9484
9543
9485
9544
9486
9545
9487
9546
9488
9547
9489
9548
9490
9549
9491
9550
9492
9551
9493
9552
9494
9553
9495
9554
9496
9555
9497
9556
9498
9557
9499
9558
9500
9559
9501
9560
9502
9561
9503
9562
9504
9563
9505
9564
9506
9565
9507
9566
9508
9567
9509
9568
9510
9569
9511
9570
9512
9571
9513
9572
9514
9573
9515
9574
9516
9575
9517
9576
9518
9577
9519
9578
9520
9579
9521
9580
9522
9581
9523
9582
9524
9583
9525
9584
9526
9585
9527
9586
9528
9587
9529
9588
9530
9589
9531
9590
9532
9591
9533
9592
9534
9593
9535
9594
9536
9595
9537
9596
9538
9597
9539
9598
9599
9541
9600
9542
9601
9543
9602
9544
9603
9545
9604
9546
9605
9547
9606
9548
9607
9549
9608
9550
9609
9551
9610
9552
9611
9553
9612
9554
9613
9555
9614
9556
9615
9557
9616
9558
9617
9559
9618
9560
9619
9561
9620
9562
9621
9563
9622
9564
9623
9565
9624
9566
9625
9567
9626
9568
9627
9569
9628
9570
9629
9571
9630
9572
9631
9573
9632
9574
9633
9575
9634
9576
9635
9577
9636
9578
9637
9579
9638
9580
9639
9581
9640
9582
9641
9583
9642
9584
9643
9585
9644
9586
9645
9587
9646
9588
9647
9589
9648
9590
9649
9591
9650
9592
9651
9593
9652
9594
9653
9595
9654
9596
9655
9597
9656
9598
9657
9599
9658
9659
9601
9660
9602
9661
9603
9662
9604
9663
9605
9664
9606
9665
9607
9666
9608
9667
9609
9668
9610
9669
9611
9670
9612
9671
9613
9672
9614
9673
9615
9674
9616
9675
9617
9676
9618
9677
9619
9678
9620
9679
9621
9680
9622
9681
9623
9682
9624
9683
9625
9684
9626
9685
9627
9686
9628
9687
9629
9688
9630
9689
9631
9690
9632
9691
9633
9692
9634
9693
9635
9694
9636
9695
9637
9696
9638
9697
9639
9698
9640
9699
9641
9700
9642
9701
9643
9702
9644
9703
9645
9704
9646
9705
9647
9706
9648
9707
9649
9708
9650
9709
9651
9710
9652
9711
9653
9712
9654
9713
9655
9714
9656
9715
9657
9716
9658
9717
9659
9718
9719
9661
9720
9662
9721
9663
9722
9664
9723
9665
9724
9666
9725
9667
9726
9668
9727
9669
9728
9670
9729
9671
9730
9672
9731
9673
9732
9674
9733
9675
9734
9676
9735
9677
9736
9678
9737
9679
9738
9680
9739
9681
9740
9682
9741
9683
9742
9684
9743
9685
9744
9686
9745
9687
9746
9688
9747
9689
9748
9690
9749
9691
9750
9692
9751
9693
9752
9694
9753
9695
9754
9696
9755
9697
9756
9698
9757
9699
9758
9700
9759
9701
9760
9702
9761
9703
9762
9704
9763
9705
9764
9706
9765
9707
9766
9708
9767
9709
9768
9710
9769
9711
9770
9712
9771
9713
9772
9714
9773
9715
9774
9716
9775
9717
9776
9718
9777
9719
9778
9779
9721
9780
9722
9781
9723
9782
9724
9783
9725
9784
9726
9785
9727
9786
9728
9787
9729
9788
9730
9789
9731
9790
9732
9791
9733
9792
9734
9793
9735
9794
9736
9795
9737
9796
9738
9797
9739
9798
9740
9799
9741
9800
9742
9801
9743
9802
9744
9803
9745
9804
9746
9805
9747
9806
9748
9807
9749
9808
9750
9809
9751
9810
9752
9811
9753
9812
9754
9813
9755
9814
9756
9815
9757
9816
9758
9817
9759
9818
9760
9819
9761
9820
9762
9821
9763
9822
9764
9823
9765
9824
9766
9825
9767
9826
9768
9827
9769
9828
9770
9829
9771
9830
9772
9831
9773
9832
9774
9833
9775
9834
9776
9835
9777
9836
9778
9837
9779
9838
9839
9781
9840
9782
9841
9783
9842
9784
9843
9785
9844
9786
9845
9787
9846
9788
9847
9789
9848
9790
9849
9791
9850
9792
9851
9793
9852
9794
9853
9795
9854
9796
9855
9797
9856
9798
9857
9799
9858
9800
9859
9801
9860
9802
9861
9803
9862
9804
9863
9805
9864
9806
9865
9807
9866
9808
9867
9809
9868
9810
9869
9811
9870
9812
9871
9813
9872
9814
9873
9815
9874
9816
9875
9817
9876
9818
9877
9819
9878
9820
9879
9821
9880
9822
9881
9823
9882
9824
9883
9825
9884
9826
9885
9827
9886
9828
9887
9829
9888
9830
9889
9831
9890
9832
9891
9833
9892
9834
9893
9835
9894
9836
9895
9837
9896
9838
9897
9839
9898
9899
9841
9900
9842
9901
9843
9902
9844
9903
9845
9904
9846
9905
9847
9906
9848
9907
9849
9908
9850
9909
9851
9910
9852
9911
9853
9912
9854
9913
9855
9914
9856
9915
9857
9916
9858
9917
9859
9918
9860
9919
9861
9920
9862
9921
9863
9922
9864
9923
9865
9924
9866
9925
9867
9926
9868
9927
9869
9928
9870
9929
9871
9930
9872
9931
9873
9932
9874
9933
9875
9934
9876
9935
9877
9936
9878
9937
9879
9938
9880
9939
9881
9940
9882
9941
9883
9942
9884
9943
9885
9944
9886
9945
9887
9946
9888
9947
9889
9948
9890
9949
9891
9950
9892
9951
9893
9952
9894
9953
9895
9954
9896
9955
9897
9956
9898
9957
9899
9958
9959
9901
9960
9902
9961
9903
9962
9904
9963
9905
9964
9906
9965
9907
9966
9908
9967
9909
9968
9910
9969
9911
9970
9912
9971
9913
9972
9914
9973
9915
9974
9916
9975
9917
9976
9918
9977
9919
9978
9920
9979
9921
9980
9922
9981
9923
9982
9924
9983
9925
9984
9926
9985
9927
9986
9928
9987
9929
9988
9930
9989
9931
9990
9932
9991
9933
9992
9934
9993
9935
9994
9936
9995
9937
9996
9938
9997
9939
9998
9940
9999
9941
10000
9942
10001
9943
10002
9944
10003
9945
10004
9946
10005
9947
10006
9948
10007
9949
10008
9950
10009
9951
10010
9952
10011
9953
10012
9954
10013
9955
10014
9956
10015
9957
10016
9958
10017
9959
10018
10019
9961
10020
9962
10021
9963
10022
9964
10023
9965
10024
9966
10025
9967
10026
9968
10027
9969
10028
9970
10029
9971
10030
9972
10031
9973
10032
9974
10033
9975
10034
9976
10035
9977
10036
9978
10037
9979
10038
9980
10039
9981
10040
9982
10041
9983
10042
9984
10043
9985
10044
9986
10045
9987
10046
9988
10047
9989
10048
9990
10049
9991
10050
9992
10051
9993
10052
9994
10053
9995
10054
9996
10055
9997
10056
9998
10057
9999
10058
10000
10059
10001
10060
10002
10061
10003
10062
10004
10063
10005
10064
10006
10065
10007
10066
10008
10067
10009
10068
10010
10069
10011
10070
10012
10071
10013
10072
10014
10073
10015
10074
10016
10075
10017
10076
10018
10077
10019
10078
10079
10021
10080
10022
10081
10023
10082
10024
10083
10025
10084
10026
10085
10027
10086
10028
10087
10029
10088
10030
10089
10031
10090
10032
10091
10033
10092
10034
10093
10035
10094
10036
10095
10037
10096
10038
10097
10039
10098
10040
10099
10041
10100
10042
10101
10043
10102
10044
10103
10045
10104
10046
10105
10047
10106
10048
10107
10049
10108
10050
10109
10051
10110
10052
10111
10053
10112
10054
10113
10055
10114
10056
10115
10057
10116
10058
10117
10059
10118
10060
10119
10061
10120
10062
10121
10063
10122
10064
10123
10065
10124
10066
10125
10067
10126
10068
10127
10069
10128
10070
10129
10071
10130
10072
10131
10073
10132
10074
10133
10075
10134
10076
10135
10077
10136
10078
10137
10079
10138
10139
10081
10140
10082
10141
10083
10142
10084
10143
10085
10144
10086
10145
10087
10146
10088
10147
10089
10148
10090
10149
10091
10150
10092
10151
10093
10152
10094
10153
10095
10154
10096
10155
10097
10156
10098
10157
10099
10158
10100
10159
10101
10160
10102
10161
10103
10162
10104
10163
10105
10164
10106
10165
10107
10166
10108
10167
10109
10168
10110
10169
10111
10170
10112
10171
10113
10172
10114
10173
10115
10174
10116
10175
10117
10176
10118
10177
10119
10178
10120
10179
10121
10180
10122
10181
10123
10182
10124
10183
10125
10184
10126
10185
10127
10186
10128
10187
10129
10188
10130
10189
10131
10190
10132
10191
10133
10192
10134
10193
10135
10194
10136
10195
10137
10196
10138
10197
10139
10198
10199
10141
10200
10142
10201
10143
10202
10144
10203
10145
10204
10146
10205
10147
10206
10148
10207
10149
10208
10150
10209
10151
10210
10152
10211
10153
10212
10154
10213
10155
10214
10156
10215
10157
10216
10158
10217
10159
10218
10160
10219
10161
10220
10162
10221
10163
10222
10164
10223
10165
10224
10166
10225
10167
10226
10168
10227
10169
10228
10170
10229
10171
10230
10172
10231
10173
10232
10174
10233
10175
10234
10176
10235
10177
10236
10178
10237
10179
10238
10180
10239
10181
10240
10182
10241
10183
10242
10184
10243
10185
10244
10186
10245
10187
10246
10188
10247
10189
10248
10190
10249
10191
10250
10192
10251
10193
10252
10194
10253
10195
10254
10196
10255
10197
10256
10198
10257
10199
10258
10259
10201
10260
10202
10261
10203
10262
10204
10263
10205
10264
10206
10265
10207
10266
10208
10267
10209
10268
10210
10269
10211
10270
10212
10271
10213
10272
10214
10273
10215
10274
10216
10275
10217
10276
10218
10277
10219
10278
10220
10279
10221
10280
10222
10281
10223
10282
10224
10283
10225
10284
10226
10285
10227
10286
10228
10287
10229
10288
10230
10289
10231
10290
10232
10291
10233
10292
10234
10293
10235
10294
10236
10295
10237
10296
10238
10297
10239
10298
10240
10299
10241
10300
10242
10301
10243
10302
10244
10303
10245
10304
10246
10305
10247
10306
10248
10307
10249
10308
10250
10309
10251
10310
10252
10311
10253
10312
10254
10313
10255
10314
10256
10315
10257
10316
10258
10317
10259
10318
10319
10261
10320
10262
10321
10263
10322
10264
10323
10265
10324
10266
10325
10267
10326
10268
10327
10269
10328
10270
10329
10271
10330
10272
10331
10273
10332
10274
10333
10275
10334
10276
10335
10277
10336
10278
10337
10279
10338
10280
10339
10281
10340
10282
10341
10283
10342
10284
10343
10285
10344
10286
10345
10287
10346
10288
10347
10289
10348
10290
10349
10291
10350
10292
10351
10293
10352
10294
10353
10295
10354
10296
10355
10297
10356
10298
10357
10299
10358
10300
10359
10301
10360
10302
10361
10303
10362
10304
10363
10305
10364
10306
10365
10307
10366
10308
10367
10309
10368
10310
10369
10311
10370
10312
10371
10313
10372
10314
10373
10315
10374
10316
10375
10317
10376
10318
10377
10319
10378
10379
10321
10380
10322
10381
10323
10382
10324
10383
10325
10384
10326
10385
10327
10386
10328
10387
10329
10388
10330
10389
10331
10390
10332
10391
10333
10392
10334
10393
10335
10394
10336
10395
10337
10396
10338
10397
10339
10398
10340
10399
10341
10400
10342
10401
10343
10402
10344
10403
10345
10404
10346
10405
10347
10406
10348
10407
10349
10408
10350
10409
10351
10410
10352
10411
10353
10412
10354
10413
10355
10414
10356
10415
10357
10416
10358
10417
10359
10418
10360
10419
10361
10420
10362
10421
10363
10422
10364
10423
10365
10424
10366
10425
10367
10426
10368
10427
10369
10428
10370
10429
10371
10430
10372
10431
10373
10432
10374
10433
10375
10434
10376
10435
10377
10436
10378
10437
10379
10438
10439
10381
10440
10382
10441
10383
10442
10384
10443
10385
10444
10386
10445
10387
10446
10388
10447
10389
10448
10390
10449
10391
10450
10392
10451
10393
10452
10394
10453
10395
10454
10396
10455
10397
10456
10398
10457
10399
10458
10400
10459
10401
10460
10402
10461
10403
10462
10404
10463
10405
10464
10406
10465
10407
10466
10408
10467
10409
10468
10410
10469
10411
10470
10412
10471
10413
10472
10414
10473
10415
10474
10416
10475
10417
10476
10418
10477
10419
10478
10420
10479
10421
10480
10422
10481
10423
10482
10424
10483
10425
10484
10426
10485
10427
10486
10428
10487
10429
10488
10430
10489
10431
10490
10432
10491
10433
10492
10434
10493
10435
10494
10436
10495
10437
10496
10438
10497
10439
10498
10499
10441
10500
10442
10501
10443
10502
10444
10503
10445
10504
10446
10505
10447
10506
10448
10507
10449
10508
10450
10509
10451
10510
10452
10511
10453
10512
10454
10513
10455
10514
10456
10515
10457
10516
10458
10517
10459
10518
10460
10519
10461
10520
10462
10521
10463
10522
10464
10523
10465
10524
10466
10525
10467
10526
10468
10527
10469
10528
10470
10529
10471
10530
10472
10531
10473
10532
10474
10533
10475
10534
10476
10535
10477
10536
10478
10537
10479
10538
10480
10539
10481
10540
10482
10541
10483
10542
10484
10543
10485
10544
10486
10545
10487
10546
10488
10547
10489
10548
10490
10549
10491
10550
10492
10551
10493
10552
10494
10553
10495
10554
10496
10555
10497
10556
10498
10557
10499
10558
10559
10501
10560
10502
10561
10503
10562
10504
10563
10505
10564
10506
10565
10507
10566
10508
10567
10509
10568
10510
10569
10511
10570
10512
10571
10513
10572
10514
10573
10515
10574
10516
10575
10517
10576
10518
10577
10519
10578
10520
10579
10521
10580
10522
10581
10523
10582
10524
10583
10525
10584
10526
10585
10527
10586
10528
10587
10529
10588
10530
10589
10531
10590
10532
10591
10533
10592
10534
10593
10535
10594
10536
10595
10537
10596
10538
10597
10539
10598
10540
10599
10541
10600
10542
10601
10543
10602
10544
10603
10545
10604
10546
10605
10547
10606
10548
10607
10549
10608
10550
10609
10551
10610
10552
10611
10553
10612
10554
10613
10555
10614
10556
10615
10557
10616
10558
10617
10559
10618
10619
10561
10620
10562
10621
10563
10622
10564
10623
10565
10624
10566
10625
10567
10626
10568
10627
10569
10628
10570
10629
10571
10630
10572
10631
10573
10632
10574
10633
10575
10634
10576
10635
10577
10636
10578
10637
10579
10638
10580
10639
10581
10640
10582
10641
10583
10642
10584
10643
10585
10644
10586
10645
10587
10646
10588
10647
10589
10648
10590
10649
10591
10650
10592
10651
10593
10652
10594
10653
10595
10654
10596
10655
10597
10656
10598
10657
10599
10658
10600
10659
10601
10660
10602
10661
10603
10662
10604
10663
10605
10664
10606
10665
10607
10666
10608
10667
10609
10668
10610
10669
10611
10670
10612
10671
10613
10672
10614
10673
10615
10674
10616
10675
10617
10676
10618
10677
10619
10678
10679
10621
10680
10622
10681
10623
10682
10624
10683
10625
10684
10626
10685
10627
10686
10628
10687
10629
10688
10630
10689
10631
10690
10632
10691
10633
10692
10634
10693
10635
10694
10636
10695
10637
10696
10638
10697
10639
10698
10640
10699
10641
10700
10642
10701
10643
10702
10644
10703
10645
10704
10646
10705
10647
10706
10648
10707
10649
10708
10650
10709
10651
10710
10652
10711
10653
10712
10654
10713
10655
10714
10656
10715
10657
10716
10658
10717
10659
10718
10660
10719
10661
10720
10662
10721
10663
10722
10664
10723
10665
10724
10666
10725
10667
10726
10668
10727
10669
10728
10670
10729
10671
10730
10672
10731
10673
10732
10674
10733
10675
10734
10676
10735
10677
10736
10678
10737
10679
10738
10739
10681
10740
10682
10741
10683
10742
10684
10743
10685
10744
10686
10745
10687
10746
10688
10747
10689
10748
10690
10749
10691
10750
10692
10751
10693
10752
10694
10753
10695
10754
10696
10755
10697
10756
10698
10757
10699
10758
10700
10759
10701
10760
10702
10761
10703
10762
10704
10763
10705
10764
10706
10765
10707
10766
10708
10767
10709
10768
10710
10769
10711
10770
10712
10771
10713
10772
10714
10773
10715
10774
10716
10775
10717
10776
10718
10777
10719
10778
10720
10779
10721
10780
10722
10781
10723
10782
10724
10783
10725
10784
10726
10785
10727
10786
10728
10787
10729
10788
10730
10789
10731
10790
10732
10791
10733
10792
10734
10793
10735
10794
10736
10795
10737
10796
10738
10797
10739
10798
10799
10741
10800
10742
10801
10743
10802
10744
10803
10745
10804
10746
10805
10747
10806
10748
10807
10749
10808
10750
10809
10751
10810
10752
10811
10753
10812
10754
10813
10755
10814
10756
10815
10757
10816
10758
10817
10759
10818
10760
10819
10761
10820
10762
10821
10763
10822
10764
10823
10765
10824
10766
10825
10767
10826
10768
10827
10769
10828
10770
10829
10771
10830
10772
10831
10773
10832
10774
10833
10775
10834
10776
10835
10777
10836
10778
10837
10779
10838
10780
10839
10781
10840
10782
10841
10783
10842
10784
10843
10785
10844
10786
10845
10787
10846
10788
10847
10789
10848
10790
10849
10791
10850
10792
10851
10793
10852
10794
10853
10795
10854
10796
10855
10797
10856
10798
10857
10799
10858
10859
10801
10860
10802
10861
10803
10862
10804
10863
10805
10864
10806
10865
10807
10866
10808
10867
10809
10868
10810
10869
10811
10870
10812
10871
10813
10872
10814
10873
10815
10874
10816
10875
10817
10876
10818
10877
10819
10878
10820
10879
10821
10880
10822
10881
10823
10882
10824
10883
10825
10884
10826
10885
10827
10886
10828
10887
10829
10888
10830
10889
10831
10890
10832
10891
10833
10892
10834
10893
10835
10894
10836
10895
10837
10896
10838
10897
10839
10898
10840
10899
10841
10900
10842
10901
10843
10902
10844
10903
10845
10904
10846
10905
10847
10906
10848
10907
10849
10908
10850
10909
10851
10910
10852
10911
10853
10912
10854
10913
10855
10914
10856
10915
10857
10916
10858
10917
10859
10918
10919
10861
10920
10862
10921
10863
10922
10864
10923
10865
10924
10866
10925
10867
10926
10868
10927
10869
10928
10870
10929
10871
10930
10872
10931
10873
10932
10874
10933
10875
10934
10876
10935
10877
10936
10878
10937
10879
10938
10880
10939
10881
10940
10882
10941
10883
10942
10884
10943
10885
10944
10886
10945
10887
10946
10888
10947
10889
10948
10890
10949
10891
10950
10892
10951
10893
10952
10894
10953
10895
10954
10896
10955
10897
10956
10898
10957
10899
10958
10900
10959
10901
10960
10902
10961
10903
10962
10904
10963
10905
10964
10906
10965
10907
10966
10908
10967
10909
10968
10910
10969
10911
10970
10912
10971
10913
10972
10914
10973
10915
10974
10916
10975
10917
10976
10918
10977
10919
10978
10979
10921
10980
10922
10981
10923
10982
10924
10983
10925
10984
10926
10985
10927
10986
10928
10987
10929
10988
10930
10989
10931
10990
10932
10991
10933
10992
10934
10993
10935
10994
10936
10995
10937
10996
10938
10997
10939
10998
10940
10999
10941
11000
10942
11001
10943
11002
10944
11003
10945
11004
10946
11005
10947
11006
10948
11007
10949
11008
10950
11009
10951
11010
10952
11011
10953
11012
10954
11013
10955
11014
10956
11015
10957
11016
10958
11017
10959
11018
10960
11019
10961
11020
10962
11021
10963
11022
10964
11023
10965
11024
10966
11025
10967
11026
10968
11027
10969
11028
10970
11029
10971
11030
10972
11031
10973
11032
10974
11033
10975
11034
10976
11035
10977
11036
10978
11037
10979
11038
11039
10981
11040
10982
11041
10983
11042
10984
11043
10985
11044
10986
11045
10987
11046
10988
11047
10989
11048
10990
11049
10991
11050
10992
11051
10993
11052
10994
11053
10995
11054
10996
11055
10997
11056
10998
11057
10999
11058
11000
11059
11001
11060
11002
11061
11003
11062
11004
11063
11005
11064
11006
11065
11007
11066
11008
11067
11009
11068
11010
11069
11011
11070
11012
11071
11013
11072
11014
11073
11015
11074
11016
11075
11017
11076
11018
11077
11019
11078
11020
11079
11021
11080
11022
11081
11023
11082
11024
11083
11025
11084
11026
11085
11027
11086
11028
11087
11029
11088
11030
11089
11031
11090
11032
11091
11033
11092
11034
11093
11035
11094
11036
11095
11037
11096
11038
11097
11039
11098
11099
11041
11100
11042
11101
11043
11102
11044
11103
11045
11104
11046
11105
11047
11106
11048
11107
11049
11108
11050
11109
11051
11110
11052
11111
11053
11112
11054
11113
11055
11114
11056
11115
11057
11116
11058
11117
11059
11118
11060
11119
11061
11120
11062
11121
11063
11122
11064
11123
11065
11124
11066
11125
11067
11126
11068
11127
11069
11128
11070
11129
11071
11130
11072
11131
11073
11132
11074
11133
11075
11134
11076
11135
11077
11136
11078
11137
11079
11138
11080
11139
11081
11140
11082
11141
11083
11142
11084
11143
11085
11144
11086
11145
11087
11146
11088
11147
11089
11148
11090
11149
11091
11150
11092
11151
11093
11152
11094
11153
11095
11154
11096
11155
11097
11156
11098
11157
11099
11158
11159
11101
11160
11102
11161
11103
11162
11104
11163
11105
11164
11106
11165
11107
11166
11108
11167
11109
11168
11110
11169
11111
11170
11112
11171
11113
11172
11114
11173
11115
11174
11116
11175
11117
11176
11118
11177
11119
11178
11120
11179
11121
11180
11122
11181
11123
11182
11124
11183
11125
11184
11126
11185
11127
11186
11128
11187
11129
11188
11130
11189
11131
11190
11132
11191
11133
11192
11134
11193
11135
11194
11136
11195
11137
11196
11138
11197
11139
11198
11140
11199
11141
11200
11142
11201
11143
11202
11144
11203
11145
11204
11146
11205
11147
11206
11148
11207
11149
11208
11150
11209
11151
11210
11152
11211
11153
11212
11154
11213
11155
11214
11156
11215
11157
11216
11158
11217
11159
11218
11219
11161
11220
11162
11221
11163
11222
11164
11223
11165
11224
11166
11225
11167
11226
11168
11227
11169
11228
11170
11229
11171
11230
11172
11231
11173
11232
11174
11233
11175
11234
11176
11235
11177
11236
11178
11237
11179
11238
11180
11239
11181
11240
11182
11241
11183
11242
11184
11243
11185
11244
11186
11245
11187
11246
11188
11247
11189
11248
11190
11249
11191
11250
11192
11251
11193
11252
11194
11253
11195
11254
11196
11255
11197
11256
11198
11257
11199
11258
11200
11259
11201
11260
11202
11261
11203
11262
11204
11263
11205
11264
11206
11265
11207
11266
11208
11267
11209
11268
11210
11269
11211
11270
11212
11271
11213
11272
11214
11273
11215
11274
11216
11275
11217
11276
11218
11277
11219
11278
11279
11221
11280
11222
11281
11223
11282
11224
11283
11225
11284
11226
11285
11227
11286
11228
11287
11229
11288
11230
11289
11231
11290
11232
11291
11233
11292
11234
11293
11235
11294
11236
11295
11237
11296
11238
11297
11239
11298
11240
11299
11241
11300
11242
11301
11243
11302
11244
11303
11245
11304
11246
11305
11247
11306
11248
11307
11249
11308
11250
11309
11251
11310
11252
11311
11253
11312
11254
11313
11255
11314
11256
11315
11257
11316
11258
11317
11259
11318
11260
11319
11261
11320
11262
11321
11263
11322
11264
11323
11265
11324
11266
11325
11267
11326
11268
11327
11269
11328
11270
11329
11271
11330
11272
11331
11273
11332
11274
11333
11275
11334
11276
11335
11277
11336
11278
11337
11279
11338
11339
11281
11340
11282
11341
11283
11342
11284
11343
11285
11344
11286
11345
11287
11346
11288
11347
11289
11348
11290
11349
11291
11350
11292
11351
11293
11352
11294
11353
11295
11354
11296
11355
11297
11356
11298
11357
11299
11358
11300
11359
11301
11360
11302
11361
11303
11362
11304
11363
11305
11364
11306
11365
11307
11366
11308
11367
11309
11368
11310
11369
11311
11370
11312
11371
11313
11372
11314
11373
11315
11374
11316
11375
11317
11376
11318
11377
11319
11378
11320
11379
11321
11380
11322
11381
11323
11382
11324
11383
11325
11384
11326
11385
11327
11386
11328
11387
11329
11388
11330
11389
11331
11390
11332
11391
11333
11392
11334
11393
11335
11394
11336
11395
11337
11396
11338
11397
11339
11398
11399
11341
11400
11342
11401
11343
11402
11344
11403
11345
11404
11346
11405
11347
11406
11348
11407
11349
11408
11350
11409
11351
11410
11352
11411
11353
11412
11354
11413
11355
11414
11356
11415
11357
11416
11358
11417
11359
11418
11360
11419
11361
11420
11362
11421
11363
11422
11364
11423
11365
11424
11366
11425
11367
11426
11368
11427
11369
11428
11370
11429
11371
11430
11372
11431
11373
11432
11374
11433
11375
11434
11376
11435
11377
11436
11378
11437
11379
11438
11380
11439
11381
11440
11382
11441
11383
11442
11384
11443
11385
11444
11386
11445
11387
11446
11388
11447
11389
11448
11390
11449
11391
11450
11392
11451
11393
11452
11394
11453
11395
11454
11396
11455
11397
11456
11398
11457
11399
11458
11459
11401
11460
11402
11461
11403
11462
11404
11463
11405
11464
11406
11465
11407
11466
11408
11467
11409
11468
11410
11469
11411
11470
11412
11471
11413
11472
11414
11473
11415
11474
11416
11475
11417
11476
11418
11477
11419
11478
11420
11479
11421
11480
11422
11481
11423
11482
11424
11483
11425
11484
11426
11485
11427
11486
11428
11487
11429
11488
11430
11489
11431
11490
11432
11491
11433
11492
11434
11493
11435
11494
11436
11495
11437
11496
11438
11497
11439
11498
11440
11499
11441
11500
11442
11501
11443
11502
11444
11503
11445
11504
11446
11505
11447
11506
11448
11507
11449
11508
11450
11509
11451
11510
11452
11511
11453
11512
11454
11513
11455
11514
11456
11515
11457
11516
11458
11517
11459
11518
11519
11461
11520
11462
11521
11463
11522
11464
11523
11465
11524
11466
11525
11467
11526
11468
11527
11469
11528
11470
11529
11471
11530
11472
11531
11473
11532
11474
11533
11475
11534
11476
11535
11477
11536
11478
11537
11479
11538
11480
11539
11481
11540
11482
11541
11483
11542
11484
11543
11485
11544
11486
11545
11487
11546
11488
11547
11489
11548
11490
11549
11491
11550
11492
11551
11493
11552
11494
11553
11495
11554
11496
11555
11497
11556
11498
11557
11499
11558
11500
11559
11501
11560
11502
11561
11503
11562
11504
11563
11505
11564
11506
11565
11507
11566
11508
11567
11509
11568
11510
11569
11511
11570
11512
11571
11513
11572
11514
11573
11515
11574
11516
11575
11517
11576
11518
11577
11519
11578
11579
11521
11580
11522
11581
11523
11582
11524
11583
11525
11584
11526
11585
11527
11586
11528
11587
11529
11588
11530
11589
11531
11590
11532
11591
11533
11592
11534
11593
11535
11594
11536
11595
11537
11596
11538
11597
11539
11598
11540
11599
11541
11600
11542
11601
11543
11602
11544
11603
11545
11604
11546
11605
11547
11606
11548
11607
11549
11608
11550
11609
11551
11610
11552
11611
11553
11612
11554
11613
11555
11614
11556
11615
11557
11616
11558
11617
11559
11618
11560
11619
11561
11620
11562
11621
11563
11622
11564
11623
11565
11624
11566
11625
11567
11626
11568
11627
11569
11628
11570
11629
11571
11630
11572
11631
11573
11632
11574
11633
11575
11634
11576
11635
11577
11636
11578
11637
11579
11638
11639
11581
11640
11582
11641
11583
11642
11584
11643
11585
11644
11586
11645
11587
11646
11588
11647
11589
11648
11590
11649
11591
11650
11592
11651
11593
11652
11594
11653
11595
11654
11596
11655
11597
11656
11598
11657
11599
11658
11600
11659
11601
11660
11602
11661
11603
11662
11604
11663
11605
11664
11606
11665
11607
11666
11608
11667
11609
11668
11610
11669
11611
11670
11612
11671
11613
11672
11614
11673
11615
11674
11616
11675
11617
11676
11618
11677
11619
11678
11620
11679
11621
11680
11622
11681
11623
11682
11624
11683
11625
11684
11626
11685
11627
11686
11628
11687
11629
11688
11630
11689
11631
11690
11632
11691
11633
11692
11634
11693
11635
11694
11636
11695
11637
11696
11638
11697
11639
11698
11699
11641
11700
11642
11701
11643
11702
11644
11703
11645
11704
11646
11705
11647
11706
11648
11707
11649
11708
11650
11709
11651
11710
11652
11711
11653
11712
11654
11713
11655
11714
11656
11715
11657
11716
11658
11717
11659
11718
11660
11719
11661
11720
11662
11721
11663
11722
11664
11723
11665
11724
11666
11725
11667
11726
11668
11727
11669
11728
11670
11729
11671
11730
11672
11731
11673
11732
11674
11733
11675
11734
11676
11735
11677
11736
11678
11737
11679
11738
11680
11739
11681
11740
11682
11741
11683
11742
11684
11743
11685
11744
11686
11745
11687
11746
11688
11747
11689
11748
11690
11749
11691
11750
11692
11751
11693
11752
11694
11753
11695
11754
11696
11755
11697
11756
11698
11757
11699
11758
11759
11701
11760
11702
11761
11703
11762
11704
11763
11705
11764
11706
11765
11707
11766
11708
11767
11709
11768
11710
11769
11711
11770
11712
11771
11713
11772
11714
11773
11715
11774
11716
11775
11717
11776
11718
11777
11719
11778
11720
11779
11721
11780
11722
11781
11723
11782
11724
11783
11725
11784
11726
11785
11727
11786
11728
11787
11729
11788
11730
11789
11731
11790
11732
11791
11733
11792
11734
11793
11735
11794
11736
11795
11737
11796
11738
11797
11739
11798
11740
11799
11741
11800
11742
11801
11743
11802
11744
11803
11745
11804
11746
11805
11747
11806
11748
11807
11749
11808
11750
11809
11751
11810
11752
11811
11753
11812
11754
11813
11755
11814
11756
11815
11757
11816
11758
11817
11759
11818
11819
11761
11820
11762
11821
11763
11822
11764
11823
11765
11824
11766
11825
11767
11826
11768
11827
11769
11828
11770
11829
11771
11830
11772
11831
11773
11832
11774
11833
11775
11834
11776
11835
11777
11836
11778
11837
11779
11838
11780
11839
11781
11840
11782
11841
11783
11842
11784
11843
11785
11844
11786
11845
11787
11846
11788
11847
11789
11848
11790
11849
11791
11850
11792
11851
11793
11852
11794
11853
11795
11854
11796
11855
11797
11856
11798
11857
11799
11858
11800
11859
11801
11860
11802
11861
11803
11862
11804
11863
11805
11864
11806
11865
11807
11866
11808
11867
11809
11868
11810
11869
11811
11870
11812
11871
11813
11872
11814
11873
11815
11874
11816
11875
11817
11876
11818
11877
11819
11878
11879
11821
11880
11822
11881
11823
11882
11824
11883
11825
11884
11826
11885
11827
11886
11828
11887
11829
11888
11830
11889
11831
11890
11832
11891
11833
11892
11834
11893
11835
11894
11836
11895
11837
11896
11838
11897
11839
11898
11840
11899
11841
11900
11842
11901
11843
11902
11844
11903
11845
11904
11846
11905
11847
11906
11848
11907
11849
11908
11850
11909
11851
11910
11852
11911
11853
11912
11854
11913
11855
11914
11856
11915
11857
11916
11858
11917
11859
11918
11860
11919
11861
11920
11862
11921
11863
11922
11864
11923
11865
11924
11866
11925
11867
11926
11868
11927
11869
11928
11870
11929
11871
11930
11872
11931
11873
11932
11874
11933
11875
11934
11876
11935
11877
11936
11878
11937
11879
11938
11939
11881
11940
11882
11941
11883
11942
11884
11943
11885
11944
11886
11945
11887
11946
11888
11947
11889
11948
11890
11949
11891
11950
11892
11951
11893
11952
11894
11953
11895
11954
11896
11955
11897
11956
11898
11957
11899
11958
11900
11959
11901
11960
11902
11961
11903
11962
11904
11963
11905
11964
11906
11965
11907
11966
11908
11967
11909
11968
11910
11969
11911
11970
11912
11971
11913
11972
11914
11973
11915
11974
11916
11975
11917
11976
11918
11977
11919
11978
11920
11979
11921
11980
11922
11981
11923
11982
11924
11983
11925
11984
11926
11985
11927
11986
11928
11987
11929
11988
11930
11989
11931
11990
11932
11991
11933
11992
11934
11993
11935
11994
11936
11995
11937
11996
11938
11997
11939
11998
11999
11941
12000
11942
12001
11943
12002
11944
12003
11945
12004
11946
12005
11947
12006
11948
12007
11949
12008
11950
12009
11951
12010
11952
12011
11953
12012
11954
12013
11955
12014
11956
12015
11957
12016
11958
12017
11959
12018
11960
12019
11961
12020
11962
12021
11963
12022
11964
12023
11965
12024
11966
12025
11967
12026
11968
12027
11969
12028
11970
12029
11971
12030
11972
12031
11973
12032
11974
12033
11975
12034
11976
12035
11977
12036
11978
12037
11979
12038
11980
12039
11981
12040
11982
12041
11983
12042
11984
12043
11985
12044
11986
12045
11987
12046
11988
12047
11989
12048
11990
12049
11991
12050
11992
12051
11993
12052
11994
12053
11995
12054
11996
12055
11997
12056
11998
12057
11999
12058
12059
12001
12060
12002
12061
12003
12062
12004
12063
12005
12064
12006
12065
12007
12066
12008
12067
12009
12068
12010
12069
12011
12070
12012
12071
12013
12072
12014
12073
12015
12074
12016
12075
12017
12076
12018
12077
12019
12078
12020
12079
12021
12080
12022
12081
12023
12082
12024
12083
12025
12084
12026
12085
12027
12086
12028
12087
12029
12088
12030
12089
12031
12090
12032
12091
12033
12092
12034
12093
12035
12094
12036
12095
12037
12096
12038
12097
12039
12098
12040
12099
12041
12100
12042
12101
12043
12102
12044
12103
12045
12104
12046
12105
12047
12106
12048
12107
12049
12108
12050
12109
12051
12110
12052
12111
12053
12112
12054
12113
12055
12114
12056
12115
12057
12116
12058
12117
12059
12118
12119
12061
12120
12062
12121
12063
12122
12064
12123
12065
12124
12066
12125
12067
12126
12068
12127
12069
12128
12070
12129
12071
12130
12072
12131
12073
12132
12074
12133
12075
12134
12076
12135
12077
12136
12078
12137
12079
12138
12080
12139
12081
12140
12082
12141
12083
12142
12084
12143
12085
12144
12086
12145
12087
12146
12088
12147
12089
12148
12090
12149
12091
12150
12092
12151
12093
12152
12094
12153
12095
12154
12096
12155
12097
12156
12098
12157
12099
12158
12100
12159
12101
12160
12102
12161
12103
12162
12104
12163
12105
12164
12106
12165
12107
12166
12108
12167
12109
12168
12110
12169
12111
12170
12112
12171
12113
12172
12114
12173
12115
12174
12116
12175
12117
12176
12118
12177
12119
12178
12179
12121
12180
12122
12181
12123
12182
12124
12183
12125
12184
12126
12185
12127
12186
12128
12187
12129
12188
12130
12189
12131
12190
12132
12191
12133
12192
12134
12193
12135
12194
12136
12195
12137
12196
12138
12197
12139
12198
12140
12199
12141
12200
12142
12201
12143
12202
12144
12203
12145
12204
12146
12205
12147
12206
12148
12207
12149
12208
12150
12209
12151
12210
12152
12211
12153
12212
12154
12213
12155
12214
12156
12215
12157
12216
12158
12217
12159
12218
12160
12219
12161
12220
12162
12221
12163
12222
12164
12223
12165
12224
12166
12225
12167
12226
12168
12227
12169
12228
12170
12229
12171
12230
12172
12231
12173
12232
12174
12233
12175
12234
12176
12235
12177
12236
12178
12237
12179
12238
12239
12181
12240
12182
12241
12183
12242
12184
12243
12185
12244
12186
12245
12187
12246
12188
12247
12189
12248
12190
12249
12191
12250
12192
12251
12193
12252
12194
12253
12195
12254
12196
12255
12197
12256
12198
12257
12199
12258
12200
12259
12201
12260
12202
12261
12203
12262
12204
12263
12205
12264
12206
12265
12207
12266
12208
12267
12209
12268
12210
12269
12211
12270
12212
12271
12213
12272
12214
12273
12215
12274
12216
12275
12217
12276
12218
12277
12219
12278
12220
12279
12221
12280
12222
12281
12223
12282
12224
12283
12225
12284
12226
12285
12227
12286
12228
12287
12229
12288
12230
12289
12231
12290
12232
12291
12233
12292
12234
12293
12235
12294
12236
12295
12237
12296
12238
12297
12239
12298
12299
12241
12300
12242
12301
12243
12302
12244
12303
12245
12304
12246
12305
12247
12306
12248
12307
12249
12308
12250
12309
12251
12310
12252
12311
12253
12312
12254
12313
12255
12314
12256
12315
12257
12316
12258
12317
12259
12318
12260
12319
12261
12320
12262
12321
12263
12322
12264
12323
12265
12324
12266
12325
12267
12326
12268
12327
12269
12328
12270
12329
12271
12330
12272
12331
12273
12332
12274
12333
12275
12334
12276
12335
12277
12336
12278
12337
12279
12338
12280
12339
12281
12340
12282
12341
12283
12342
12284
12343
12285
12344
12286
12345
12287
12346
12288
12347
12289
12348
12290
12349
12291
12350
12292
12351
12293
12352
12294
12353
12295
12354
12296
12355
12297
12356
12298
12357
12299
12358
12359
12301
12360
12302
12361
12303
12362
12304
12363
12305
12364
12306
12365
12307
12366
12308
12367
12309
12368
12310
12369
12311
12370
12312
12371
12313
12372
12314
12373
12315
12374
12316
12375
12317
12376
12318
12377
12319
12378
12320
12379
12321
12380
12322
12381
12323
12382
12324
12383
12325
12384
12326
12385
12327
12386
12328
12387
12329
12388
12330
12389
12331
12390
12332
12391
12333
12392
12334
12393
12335
12394
12336
12395
12337
12396
12338
12397
12339
12398
12340
12399
12341
12400
12342
12401
12343
12402
12344
12403
12345
12404
12346
12405
12347
12406
12348
12407
12349
12408
12350
12409
12351
12410
12352
12411
12353
12412
12354
12413
12355
12414
12356
12415
12357
12416
12358
12417
12359
12418
12419
12361
12420
12362
12421
12363
12422
12364
12423
12365
12424
12366
12425
12367
12426
12368
12427
12369
12428
12370
12429
12371
12430
12372
12431
12373
12432
12374
12433
12375
12434
12376
12435
12377
12436
12378
12437
12379
12438
12380
12439
12381
12440
12382
12441
12383
12442
12384
12443
12385
12444
12386
12445
12387
12446
12388
12447
12389
12448
12390
12449
12391
12450
12392
12451
12393
12452
12394
12453
12395
12454
12396
12455
12397
12456
12398
12457
12399
12458
12400
12459
12401
12460
12402
12461
12403
12462
12404
12463
12405
12464
12406
12465
12407
12466
12408
12467
12409
12468
12410
12469
12411
12470
12412
12471
12413
12472
12414
12473
12415
12474
12416
12475
12417
12476
12418
12477
12419
12478
12479
12421
12480
12422
12481
12423
12482
12424
12483
12425
12484
12426
12485
12427
12486
12428
12487
12429
12488
12430
12489
12431
12490
12432
12491
12433
12492
12434
12493
12435
12494
12436
12495
12437
12496
12438
12497
12439
12498
12440
12499
12441
12500
12442
12501
12443
12502
12444
12503
12445
12504
12446
12505
12447
12506
12448
12507
12449
12508
12450
12509
12451
12510
12452
12511
12453
12512
12454
12513
12455
12514
12456
12515
12457
12516
12458
12517
12459
12518
12460
12519
12461
12520
12462
12521
12463
12522
12464
12523
12465
12524
12466
12525
12467
12526
12468
12527
12469
12528
12470
12529
12471
12530
12472
12531
12473
12532
12474
12533
12475
12534
12476
12535
12477
12536
12478
12537
12479
12538
12539
12481
12540
12482
12541
12483
12542
12484
12543
12485
12544
12486
12545
12487
12546
12488
12547
12489
12548
12490
12549
12491
12550
12492
12551
12493
12552
12494
12553
12495
12554
12496
12555
12497
12556
12498
12557
12499
12558
12500
12559
12501
12560
12502
12561
12503
12562
12504
12563
12505
12564
12506
12565
12507
12566
12508
12567
12509
12568
12510
12569
12511
12570
12512
12571
12513
12572
12514
12573
12515
12574
12516
12575
12517
12576
12518
12577
12519
12578
12520
12579
12521
12580
12522
12581
12523
12582
12524
12583
12525
12584
12526
12585
12527
12586
12528
12587
12529
12588
12530
12589
12531
12590
12532
12591
12533
12592
12534
12593
12535
12594
12536
12595
12537
12596
12538
12597
12539
12598
12599
12541
12600
12542
12601
12543
12602
12544
12603
12545
12604
12546
12605
12547
12606
12548
12607
12549
12608
12550
12609
12551
12610
12552
12611
12553
12612
12554
12613
12555
12614
12556
12615
12557
12616
12558
12617
12559
12618
12560
12619
12561
12620
12562
12621
12563
12622
12564
12623
12565
12624
12566
12625
12567
12626
12568
12627
12569
12628
12570
12629
12571
12630
12572
12631
12573
12632
12574
12633
12575
12634
12576
12635
12577
12636
12578
12637
12579
12638
12580
12639
12581
12640
12582
12641
12583
12642
12584
12643
12585
12644
12586
12645
12587
12646
12588
12647
12589
12648
12590
12649
12591
12650
12592
12651
12593
12652
12594
12653
12595
12654
12596
12655
12597
12656
12598
12657
12599
12658
12659
12601
12660
12602
12661
12603
12662
12604
12663
12605
12664
12606
12665
12607
12666
12608
12667
12609
12668
12610
12669
12611
12670
12612
12671
12613
12672
12614
12673
12615
12674
12616
12675
12617
12676
12618
12677
12619
12678
12620
12679
12621
12680
12622
12681
12623
12682
12624
12683
12625
12684
12626
12685
12627
12686
12628
12687
12629
12688
12630
12689
12631
12690
12632
12691
12633
12692
12634
12693
12635
12694
12636
12695
12637
12696
12638
12697
12639
12698
12640
12699
12641
12700
12642
12701
12643
12702
12644
12703
12645
12704
12646
12705
12647
12706
12648
12707
12649
12708
12650
12709
12651
12710
12652
12711
12653
12712
12654
12713
12655
12714
12656
12715
12657
12716
12658
12717
12659
12718
12719
12661
12720
12662
12721
12663
12722
12664
12723
12665
12724
12666
12725
12667
12726
12668
12727
12669
12728
12670
12729
12671
12730
12672
12731
12673
12732
12674
12733
12675
12734
12676
12735
12677
12736
12678
12737
12679
12738
12680
12739
12681
12740
12682
12741
12683
12742
12684
12743
12685
12744
12686
12745
12687
12746
12688
12747
12689
12748
12690
12749
12691
12750
12692
12751
12693
12752
12694
12753
12695
12754
12696
12755
12697
12756
12698
12757
12699
12758
12700
12759
12701
12760
12702
12761
12703
12762
12704
12763
12705
12764
12706
12765
12707
12766
12708
12767
12709
12768
12710
12769
12711
12770
12712
12771
12713
12772
12714
12773
12715
12774
12716
12775
12717
12776
12718
12777
12719
12778
12779
12721
12780
12722
12781
12723
12782
12724
12783
12725
12784
12726
12785
12727
12786
12728
12787
12729
12788
12730
12789
12731
12790
12732
12791
12733
12792
12734
12793
12735
12794
12736
12795
12737
12796
12738
12797
12739
12798
12740
12799
12741
12800
12742
12801
12743
12802
12744
12803
12745
12804
12746
12805
12747
12806
12748
12807
12749
12808
12750
12809
12751
12810
12752
12811
12753
12812
12754
12813
12755
12814
12756
12815
12757
12816
12758
12817
12759
12818
12760
12819
12761
12820
12762
12821
12763
12822
12764
12823
12765
12824
12766
12825
12767
12826
12768
12827
12769
12828
12770
12829
12771
12830
12772
12831
12773
12832
12774
12833
12775
12834
12776
12835
12777
12836
12778
12837
12779
12838
12839
12781
12840
12782
12841
12783
12842
12784
12843
12785
12844
12786
12845
12787
12846
12788
12847
12789
12848
12790
12849
12791
12850
12792
12851
12793
12852
12794
12853
12795
12854
12796
12855
12797
12856
12798
12857
12799
12858
12800
12859
12801
12860
12802
12861
12803
12862
12804
12863
12805
12864
12806
12865
12807
12866
12808
12867
12809
12868
12810
12869
12811
12870
12812
12871
12813
12872
12814
12873
12815
12874
12816
12875
12817
12876
12818
12877
12819
12878
12820
12879
12821
12880
12822
12881
12823
12882
12824
12883
12825
12884
12826
12885
12827
12886
12828
12887
12829
12888
12830
12889
12831
12890
12832
12891
12833
12892
12834
12893
12835
12894
12836
12895
12837
12896
12838
12897
12839
12898
12899
12841
12900
12842
12901
12843
12902
12844
12903
12845
12904
12846
12905
12847
12906
12848
12907
12849
12908
12850
12909
12851
12910
12852
12911
12853
12912
12854
12913
12855
12914
12856
12915
12857
12916
12858
12917
12859
12918
12860
12919
12861
12920
12862
12921
12863
12922
12864
12923
12865
12924
12866
12925
12867
12926
12868
12927
12869
12928
12870
12929
12871
12930
12872
12931
12873
12932
12874
12933
12875
12934
12876
12935
12877
12936
12878
12937
12879
12938
12880
12939
12881
12940
12882
12941
12883
12942
12884
12943
12885
12944
12886
12945
12887
12946
12888
12947
12889
12948
12890
12949
12891
12950
12892
12951
12893
12952
12894
12953
12895
12954
12896
12955
12897
12956
12898
12957
12899
12958
12959
12901
12960
12902
12961
12903
12962
12904
12963
12905
12964
12906
12965
12907
12966
12908
12967
12909
12968
12910
12969
12911
12970
12912
12971
12913
12972
12914
12973
12915
12974
12916
12975
12917
12976
12918
12977
12919
12978
12920
12979
12921
12980
12922
12981
12923
12982
12924
12983
12925
12984
12926
12985
12927
12986
12928
12987
12929
12988
12930
12989
12931
12990
12932
12991
12933
12992
12934
12993
12935
12994
12936
12995
12937
12996
12938
12997
12939
12998
12940
12999
12941
13000
12942
13001
12943
13002
12944
13003
12945
13004
12946
13005
12947
13006
12948
13007
12949
13008
12950
13009
12951
13010
12952
13011
12953
13012
12954
13013
12955
13014
12956
13015
12957
13016
12958
13017
12959
13018
13019
12961
13020
12962
13021
12963
13022
12964
13023
12965
13024
12966
13025
12967
13026
12968
13027
12969
13028
12970
13029
12971
13030
12972
13031
12973
13032
12974
13033
12975
13034
12976
13035
12977
13036
12978
13037
12979
13038
12980
13039
12981
13040
12982
13041
12983
13042
12984
13043
12985
13044
12986
13045
12987
13046
12988
13047
12989
13048
12990
13049
12991
13050
12992
13051
12993
13052
12994
13053
12995
13054
12996
13055
12997
13056
12998
13057
12999
13058
13000
13059
13001
13060
13002
13061
13003
13062
13004
13063
13005
13064
13006
13065
13007
13066
13008
13067
13009
13068
13010
13069
13011
13070
13012
13071
13013
13072
13014
13073
13015
13074
13016
13075
13017
13076
13018
13077
13019
13078
13079
13021
13080
13022
13081
13023
13082
13024
13083
13025
13084
13026
13085
13027
13086
13028
13087
13029
13088
13030
13089
13031
13090
13032
13091
13033
13092
13034
13093
13035
13094
13036
13095
13037
13096
13038
13097
13039
13098
13040
13099
13041
13100
13042
13101
13043
13102
13044
13103
13045
13104
13046
13105
13047
13106
13048
13107
13049
13108
13050
13109
13051
13110
13052
13111
13053
13112
13054
13113
13055
13114
13056
13115
13057
13116
13058
13117
13059
13118
13060
13119
13061
13120
13062
13121
13063
13122
13064
13123
13065
13124
13066
13125
13067
13126
13068
13127
13069
13128
13070
13129
13071
13130
13072
13131
13073
13132
13074
13133
13075
13134
13076
13135
13077
13136
13078
13137
13079
13138
13139
13081
13140
13082
13141
13083
13142
13084
13143
13085
13144
13086
13145
13087
13146
13088
13147
13089
13148
13090
13149
13091
13150
13092
13151
13093
13152
13094
13153
13095
13154
13096
13155
13097
13156
13098
13157
13099
13158
13100
13159
13101
13160
13102
13161
13103
13162
13104
13163
13105
13164
13106
13165
13107
13166
13108
13167
13109
13168
13110
13169
13111
13170
13112
13171
13113
13172
13114
13173
13115
13174
13116
13175
13117
13176
13118
13177
13119
13178
13120
13179
13121
13180
13122
13181
13123
13182
13124
13183
13125
13184
13126
13185
13127
13186
13128
13187
13129
13188
13130
13189
13131
13190
13132
13191
13133
13192
13134
13193
13135
13194
13136
13195
13137
13196
13138
13197
13139
13198
13199
13141
13200
13142
13201
13143
13202
13144
13203
13145
13204
13146
13205
13147
13206
13148
13207
13149
13208
13150
13209
13151
13210
13152
13211
13153
13212
13154
13213
13155
13214
13156
13215
13157
13216
13158
13217
13159
13218
13160
13219
13161
13220
13162
13221
13163
13222
13164
13223
13165
13224
13166
13225
13167
13226
13168
13227
13169
13228
13170
13229
13171
13230
13172
13231
13173
13232
13174
13233
13175
13234
13176
13235
13177
13236
13178
13237
13179
13238
13180
13239
13181
13240
13182
13241
13183
13242
13184
13243
13185
13244
13186
13245
13187
13246
13188
13247
13189
13248
13190
13249
13191
13250
13192
13251
13193
13252
13194
13253
13195
13254
13196
13255
13197
13256
13198
13257
13199
13258
13259
13201
13260
13202
13261
13203
13262
13204
13263
13205
13264
13206
13265
13207
13266
13208
13267
13209
13268
13210
13269
13211
13270
13212
13271
13213
13272
13214
13273
13215
13274
13216
13275
13217
13276
13218
13277
13219
13278
13220
13279
13221
13280
13222
13281
13223
13282
13224
13283
13225
13284
13226
13285
13227
13286
13228
13287
13229
13288
13230
13289
13231
13290
13232
13291
13233
13292
13234
13293
13235
13294
13236
13295
13237
13296
13238
13297
13239
13298
13240
13299
13241
13300
13242
13301
13243
13302
13244
13303
13245
13304
13246
13305
13247
13306
13248
13307
13249
13308
13250
13309
13251
13310
13252
13311
13253
13312
13254
13313
13255
13314
13256
13315
13257
13316
13258
13317
13259
13318
13319
13261
13320
13262
13321
13263
13322
13264
13323
13265
13324
13266
13325
13267
13326
13268
13327
13269
13328
13270
13329
13271
13330
13272
13331
13273
13332
13274
13333
13275
13334
13276
13335
13277
13336
13278
13337
13279
13338
13280
13339
13281
13340
13282
13341
13283
13342
13284
13343
13285
13344
13286
13345
13287
13346
13288
13347
13289
13348
13290
13349
13291
13350
13292
13351
13293
13352
13294
13353
13295
13354
13296
13355
13297
13356
13298
13357
13299
13358
13300
13359
13301
13360
13302
13361
13303
13362
13304
13363
13305
13364
13306
13365
13307
13366
13308
13367
13309
13368
13310
13369
13311
13370
13312
13371
13313
13372
13314
13373
13315
13374
13316
13375
13317
13376
13318
13377
13319
13378
13379
13321
13380
13322
13381
13323
13382
13324
13383
13325
13384
13326
13385
13327
13386
13328
13387
13329
13388
13330
13389
13331
13390
13332
13391
13333
13392
13334
13393
13335
13394
13336
13395
13337
13396
13338
13397
13339
13398
13340
13399
13341
13400
13342
13401
13343
13402
13344
13403
13345
13404
13346
13405
13347
13406
13348
13407
13349
13408
13350
13409
13351
13410
13352
13411
13353
13412
13354
13413
13355
13414
13356
13415
13357
13416
13358
13417
13359
13418
13360
13419
13361
13420
13362
13421
13363
13422
13364
13423
13365
13424
13366
13425
13367
13426
13368
13427
13369
13428
13370
13429
13371
13430
13372
13431
13373
13432
13374
13433
13375
13434
13376
13435
13377
13436
13378
13437
13379
13438
13439
13381
13440
13382
13441
13383
13442
13384
13443
13385
13444
13386
13445
13387
13446
13388
13447
13389
13448
13390
13449
13391
13450
13392
13451
13393
13452
13394
13453
13395
13454
13396
13455
13397
13456
13398
13457
13399
13458
13400
13459
13401
13460
13402
13461
13403
13462
13404
13463
13405
13464
13406
13465
13407
13466
13408
13467
13409
13468
13410
13469
13411
13470
13412
13471
13413
13472
13414
13473
13415
13474
13416
13475
13417
13476
13418
13477
13419
13478
13420
13479
13421
13480
13422
13481
13423
13482
13424
13483
13425
13484
13426
13485
13427
13486
13428
13487
13429
13488
13430
13489
13431
13490
13432
13491
13433
13492
13434
13493
13435
13494
13436
13495
13437
13496
13438
13497
13439
13498
13499
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
)
// ************************************************************************* //