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/validationAndVerificationSuite/validation/overset/NACA4412-airfoil/oversetMeshes/backgroundMesh/constant/polyMesh/neighbour
2018-06-01 18:11:37 +02:00

10617 lines
51 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class labelList;
note "nPoints:11074 nCells:5376 nFaces:21664 nInternalFaces:10592";
location "constant/polyMesh";
object neighbour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
10592
(
1
48
2
49
3
50
4
51
5
52
6
53
7
54
8
55
9
56
10
57
11
58
12
59
13
60
14
61
15
62
16
63
17
64
18
65
19
66
20
67
21
68
22
69
23
70
24
71
25
72
26
73
27
74
28
75
29
76
30
77
31
78
32
79
33
80
34
81
35
82
36
83
37
84
38
85
39
86
40
87
41
88
42
89
43
90
44
91
45
92
46
93
47
94
95
49
96
50
97
51
98
52
99
53
100
54
101
55
102
56
103
57
104
58
105
59
106
60
107
61
108
62
109
63
110
64
111
65
112
66
113
67
114
68
115
69
116
70
117
71
118
72
119
73
120
74
121
75
122
76
123
77
124
78
125
79
126
80
127
81
128
82
129
83
130
84
131
85
132
86
133
87
134
88
135
89
136
90
137
91
138
92
139
93
140
94
141
95
142
143
97
144
98
145
99
146
100
147
101
148
102
149
103
150
104
151
105
152
106
153
107
154
108
155
109
156
110
157
111
158
112
159
113
160
114
161
115
162
116
163
117
164
118
165
119
166
120
167
121
168
122
169
123
170
124
171
125
172
126
173
127
174
128
175
129
176
130
177
131
178
132
179
133
180
134
181
135
182
136
183
137
184
138
185
139
186
140
187
141
188
142
189
143
190
191
145
192
146
193
147
194
148
195
149
196
150
197
151
198
152
199
153
200
154
201
155
202
156
203
157
204
158
205
159
206
160
207
161
208
162
209
163
210
164
211
165
212
166
213
167
214
168
215
169
216
170
217
171
218
172
219
173
220
174
221
175
222
176
223
177
224
178
225
179
226
180
227
181
228
182
229
183
230
184
231
185
232
186
233
187
234
188
235
189
236
190
237
191
238
239
193
240
194
241
195
242
196
243
197
244
198
245
199
246
200
247
201
248
202
249
203
250
204
251
205
252
206
253
207
254
208
255
209
256
210
257
211
258
212
259
213
260
214
261
215
262
216
263
217
264
218
265
219
266
220
267
221
268
222
269
223
270
224
271
225
272
226
273
227
274
228
275
229
276
230
277
231
278
232
279
233
280
234
281
235
282
236
283
237
284
238
285
239
286
287
241
288
242
289
243
290
244
291
245
292
246
293
247
294
248
295
249
296
250
297
251
298
252
299
253
300
254
301
255
302
256
303
257
304
258
305
259
306
260
307
261
308
262
309
263
310
264
311
265
312
266
313
267
314
268
315
269
316
270
317
271
318
272
319
273
320
274
321
275
322
276
323
277
324
278
325
279
326
280
327
281
328
282
329
283
330
284
331
285
332
286
333
287
334
335
289
336
290
337
291
338
292
339
293
340
294
341
295
342
296
343
297
344
298
345
299
346
300
347
301
348
302
349
303
350
304
351
305
352
306
353
307
354
308
355
309
356
310
357
311
358
312
359
313
360
314
361
315
362
316
363
317
364
318
365
319
366
320
367
321
368
322
369
323
370
324
371
325
372
326
373
327
374
328
375
329
376
330
377
331
378
332
379
333
380
334
381
335
382
383
337
384
338
385
339
386
340
387
341
388
342
389
343
390
344
391
345
392
346
393
347
394
348
395
349
396
350
397
351
398
352
399
353
400
354
401
355
402
356
403
357
404
358
405
359
406
360
407
361
408
362
409
363
410
364
411
365
412
366
413
367
414
368
415
369
416
370
417
371
418
372
419
373
420
374
421
375
422
376
423
377
424
378
425
379
426
380
427
381
428
382
429
383
430
431
385
432
386
433
387
434
388
435
389
436
390
437
391
438
392
439
393
440
394
441
395
442
396
443
397
444
398
445
399
446
400
447
401
448
402
449
403
450
404
451
405
452
406
453
407
454
408
455
409
456
410
457
411
458
412
459
413
460
414
461
415
462
416
463
417
464
418
465
419
466
420
467
421
468
422
469
423
470
424
471
425
472
426
473
427
474
428
475
429
476
430
477
431
478
479
433
480
434
481
435
482
436
483
437
484
438
485
439
486
440
487
441
488
442
489
443
490
444
491
445
492
446
493
447
494
448
495
449
496
450
497
451
498
452
499
453
500
454
501
455
502
456
503
457
504
458
505
459
506
460
507
461
508
462
509
463
510
464
511
465
512
466
513
467
514
468
515
469
516
470
517
471
518
472
519
473
520
474
521
475
522
476
523
477
524
478
525
479
526
527
481
528
482
529
483
530
484
531
485
532
486
533
487
534
488
535
489
536
490
537
491
538
492
539
493
540
494
541
495
542
496
543
497
544
498
545
499
546
500
547
501
548
502
549
503
550
504
551
505
552
506
553
507
554
508
555
509
556
510
557
511
558
512
559
513
560
514
561
515
562
516
563
517
564
518
565
519
566
520
567
521
568
522
569
523
570
524
571
525
572
526
573
527
574
575
529
576
530
577
531
578
532
579
533
580
534
581
535
582
536
583
537
584
538
585
539
586
540
587
541
588
542
589
543
590
544
591
545
592
546
593
547
594
548
595
549
596
550
597
551
598
552
599
553
600
554
601
555
602
556
603
557
604
558
605
559
606
560
607
561
608
562
609
563
610
564
611
565
612
566
613
567
614
568
615
569
616
570
617
571
618
572
619
573
620
574
621
575
622
623
577
624
578
625
579
626
580
627
581
628
582
629
583
630
584
631
585
632
586
633
587
634
588
635
589
636
590
637
591
638
592
639
593
640
594
641
595
642
596
643
597
644
598
645
599
646
600
647
601
648
602
649
603
650
604
651
605
652
606
653
607
654
608
655
609
656
610
657
611
658
612
659
613
660
614
661
615
662
616
663
617
664
618
665
619
666
620
667
621
668
622
669
623
670
671
625
672
626
673
627
674
628
675
629
676
630
677
631
678
632
679
633
680
634
681
635
682
636
683
637
684
638
685
639
686
640
687
641
688
642
689
643
690
644
691
645
692
646
693
647
694
648
695
649
696
650
697
651
698
652
699
653
700
654
701
655
702
656
703
657
704
658
705
659
706
660
707
661
708
662
709
663
710
664
711
665
712
666
713
667
714
668
715
669
716
670
717
671
718
719
673
720
674
721
675
722
676
723
677
724
678
725
679
726
680
727
681
728
682
729
683
730
684
731
685
732
686
733
687
734
688
735
689
736
690
737
691
738
692
739
693
740
694
741
695
742
696
743
697
744
698
745
699
746
700
747
701
748
702
749
703
750
704
751
705
752
706
753
707
754
708
755
709
756
710
757
711
758
712
759
713
760
714
761
715
762
716
763
717
764
718
765
719
766
767
721
768
722
769
723
770
724
771
725
772
726
773
727
774
728
775
729
776
730
777
731
778
732
779
733
780
734
781
735
782
736
783
737
784
738
785
739
786
740
787
741
788
742
789
743
790
744
791
745
792
746
793
747
794
748
795
749
796
750
797
751
798
752
799
753
800
754
801
755
802
756
803
757
804
758
805
759
806
760
807
761
808
762
809
763
810
764
811
765
812
766
813
767
814
815
769
816
770
817
771
818
772
819
773
820
774
821
775
822
776
823
777
824
778
825
779
826
780
827
781
828
782
829
783
830
784
831
785
832
786
833
787
834
788
835
789
836
790
837
791
838
792
839
793
840
794
841
795
842
796
843
797
844
798
845
799
846
800
847
801
848
802
849
803
850
804
851
805
852
806
853
807
854
808
855
809
856
810
857
811
858
812
859
813
860
814
861
815
862
863
817
864
818
865
819
866
820
867
821
868
822
869
823
870
824
871
825
872
826
873
827
874
828
875
829
876
830
877
831
878
832
879
833
880
834
881
835
882
836
883
837
884
838
885
839
886
840
887
841
888
842
889
843
890
844
891
845
892
846
893
847
894
848
895
849
896
850
897
851
898
852
899
853
900
854
901
855
902
856
903
857
904
858
905
859
906
860
907
861
908
862
909
863
910
911
865
912
866
913
867
914
868
915
869
916
870
917
871
918
872
919
873
920
874
921
875
922
876
923
877
924
878
925
879
926
880
927
881
928
882
929
883
930
884
931
885
932
886
933
887
934
888
935
889
936
890
937
891
938
892
939
893
940
894
941
895
942
896
943
897
944
898
945
899
946
900
947
901
948
902
949
903
950
904
951
905
952
906
953
907
954
908
955
909
956
910
957
911
958
959
913
960
914
961
915
962
916
963
917
964
918
965
919
966
920
967
921
968
922
969
923
970
924
971
925
972
926
973
927
974
928
975
929
976
930
977
931
978
932
979
933
980
934
981
935
982
936
983
937
984
938
985
939
986
940
987
941
988
942
989
943
990
944
991
945
992
946
993
947
994
948
995
949
996
950
997
951
998
952
999
953
1000
954
1001
955
1002
956
1003
957
1004
958
1005
959
1006
1007
961
1008
962
1009
963
1010
964
1011
965
1012
966
1013
967
1014
968
1015
969
1016
970
1017
971
1018
972
1019
973
1020
974
1021
975
1022
976
1023
977
1024
978
1025
979
1026
980
1027
981
1028
982
1029
983
1030
984
1031
985
1032
986
1033
987
1034
988
1035
989
1036
990
1037
991
1038
992
1039
993
1040
994
1041
995
1042
996
1043
997
1044
998
1045
999
1046
1000
1047
1001
1048
1002
1049
1003
1050
1004
1051
1005
1052
1006
1053
1007
1054
1055
1009
1056
1010
1057
1011
1058
1012
1059
1013
1060
1014
1061
1015
1062
1016
1063
1017
1064
1018
1065
1019
1066
1020
1067
1021
1068
1022
1069
1023
1070
1024
1071
1025
1072
1026
1073
1027
1074
1028
1075
1029
1076
1030
1077
1031
1078
1032
1079
1033
1080
1034
1081
1035
1082
1036
1083
1037
1084
1038
1085
1039
1086
1040
1087
1041
1088
1042
1089
1043
1090
1044
1091
1045
1092
1046
1093
1047
1094
1048
1095
1049
1096
1050
1097
1051
1098
1052
1099
1053
1100
1054
1101
1055
1102
1103
1057
1104
1058
1105
1059
1106
1060
1107
1061
1108
1062
1109
1063
1110
1064
1111
1065
1112
1066
1113
1067
1114
1068
1115
1069
1116
1070
1117
1071
1118
1072
1119
1073
1120
1074
1121
1075
1122
1076
1123
1077
1124
1078
1125
1079
1126
1080
1127
1081
1128
1082
1129
1083
1130
1084
1131
1085
1132
1086
1133
1087
1134
1088
1135
1089
1136
1090
1137
1091
1138
1092
1139
1093
1140
1094
1141
1095
1142
1096
1143
1097
1144
1098
1145
1099
1146
1100
1147
1101
1148
1102
1149
1103
1150
1151
1105
1152
1106
1153
1107
1154
1108
1155
1109
1156
1110
1157
1111
1158
1112
1159
1113
1160
1114
1161
1115
1162
1116
1163
1117
1164
1118
1165
1119
1166
1120
1167
1121
1168
1122
1169
1123
1170
1124
1171
1125
1172
1126
1173
1127
1174
1128
1175
1129
1176
1130
1177
1131
1178
1132
1179
1133
1180
1134
1181
1135
1182
1136
1183
1137
1184
1138
1185
1139
1186
1140
1187
1141
1188
1142
1189
1143
1190
1144
1191
1145
1192
1146
1193
1147
1194
1148
1195
1149
1196
1150
1197
1151
1198
1199
1153
1200
1154
1201
1155
1202
1156
1203
1157
1204
1158
1205
1159
1206
1160
1207
1161
1208
1162
1209
1163
1210
1164
1211
1165
1212
1166
1213
1167
1214
1168
1215
1169
1216
1170
1217
1171
1218
1172
1219
1173
1220
1174
1221
1175
1222
1176
1223
1177
1224
1178
1225
1179
1226
1180
1227
1181
1228
1182
1229
1183
1230
1184
1231
1185
1232
1186
1233
1187
1234
1188
1235
1189
1236
1190
1237
1191
1238
1192
1239
1193
1240
1194
1241
1195
1242
1196
1243
1197
1244
1198
1245
1199
1246
1247
1201
1248
1202
1249
1203
1250
1204
1251
1205
1252
1206
1253
1207
1254
1208
1255
1209
1256
1210
1257
1211
1258
1212
1259
1213
1260
1214
1261
1215
1262
1216
1263
1217
1264
1218
1265
1219
1266
1220
1267
1221
1268
1222
1269
1223
1270
1224
1271
1225
1272
1226
1273
1227
1274
1228
1275
1229
1276
1230
1277
1231
1278
1232
1279
1233
1280
1234
1281
1235
1282
1236
1283
1237
1284
1238
1285
1239
1286
1240
1287
1241
1288
1242
1289
1243
1290
1244
1291
1245
1292
1246
1293
1247
1294
1295
1249
1296
1250
1297
1251
1298
1252
1299
1253
1300
1254
1301
1255
1302
1256
1303
1257
1304
1258
1305
1259
1306
1260
1307
1261
1308
1262
1309
1263
1310
1264
1311
1265
1312
1266
1313
1267
1314
1268
1315
1269
1316
1270
1317
1271
1318
1272
1319
1273
1320
1274
1321
1275
1322
1276
1323
1277
1324
1278
1325
1279
1326
1280
1327
1281
1328
1282
1329
1283
1330
1284
1331
1285
1332
1286
1333
1287
1334
1288
1335
1289
1336
1290
1337
1291
1338
1292
1339
1293
1340
1294
1341
1295
1342
1343
1297
1344
1298
1345
1299
1346
1300
1347
1301
1348
1302
1349
1303
1350
1304
1351
1305
1352
1306
1353
1307
1354
1308
1355
1309
1356
1310
1357
1311
1358
1312
1359
1313
1360
1314
1361
1315
1362
1316
1363
1317
1364
1318
1365
1319
1366
1320
1367
1321
1368
1322
1369
1323
1370
1324
1371
1325
1372
1326
1373
1327
1374
1328
1375
1329
1376
1330
1377
1331
1378
1332
1379
1333
1380
1334
1381
1335
1382
1336
1383
1337
1384
1338
1385
1339
1386
1340
1387
1341
1388
1342
1389
1343
1390
1391
1345
1392
1346
1393
1347
1394
1348
1395
1349
1396
1350
1397
1351
1398
1352
1399
1353
1400
1354
1401
1355
1402
1356
1403
1357
1404
1358
1405
1359
1406
1360
1407
1361
1408
1362
1409
1363
1410
1364
1411
1365
1412
1366
1413
1367
1414
1368
1415
1369
1416
1370
1417
1371
1418
1372
1419
1373
1420
1374
1421
1375
1422
1376
1423
1377
1424
1378
1425
1379
1426
1380
1427
1381
1428
1382
1429
1383
1430
1384
1431
1385
1432
1386
1433
1387
1434
1388
1435
1389
1436
1390
1437
1391
1438
1439
1393
1440
1394
1441
1395
1442
1396
1443
1397
1444
1398
1445
1399
1446
1400
1447
1401
1448
1402
1449
1403
1450
1404
1451
1405
1452
1406
1453
1407
1454
1408
1455
1409
1456
1410
1457
1411
1458
1412
1459
1413
1460
1414
1461
1415
1462
1416
1463
1417
1464
1418
1465
1419
1466
1420
1467
1421
1468
1422
1469
1423
1470
1424
1471
1425
1472
1426
1473
1427
1474
1428
1475
1429
1476
1430
1477
1431
1478
1432
1479
1433
1480
1434
1481
1435
1482
1436
1483
1437
1484
1438
1485
1439
1486
1487
1441
1488
1442
1489
1443
1490
1444
1491
1445
1492
1446
1493
1447
1494
1448
1495
1449
1496
1450
1497
1451
1498
1452
1499
1453
1500
1454
1501
1455
1502
1456
1503
1457
1504
1458
1505
1459
1506
1460
1507
1461
1508
1462
1509
1463
1510
1464
1511
1465
1512
1466
1513
1467
1514
1468
1515
1469
1516
1470
1517
1471
1518
1472
1519
1473
1520
1474
1521
1475
1522
1476
1523
1477
1524
1478
1525
1479
1526
1480
1527
1481
1528
1482
1529
1483
1530
1484
1531
1485
1532
1486
1533
1487
1534
1535
1489
1536
1490
1537
1491
1538
1492
1539
1493
1540
1494
1541
1495
1542
1496
1543
1497
1544
1498
1545
1499
1546
1500
1547
1501
1548
1502
1549
1503
1550
1504
1551
1505
1552
1506
1553
1507
1554
1508
1555
1509
1556
1510
1557
1511
1558
1512
1559
1513
1560
1514
1561
1515
1562
1516
1563
1517
1564
1518
1565
1519
1566
1520
1567
1521
1568
1522
1569
1523
1570
1524
1571
1525
1572
1526
1573
1527
1574
1528
1575
1529
1576
1530
1577
1531
1578
1532
1579
1533
1580
1534
1581
1535
1582
1583
1537
1584
1538
1585
1539
1586
1540
1587
1541
1588
1542
1589
1543
1590
1544
1591
1545
1592
1546
1593
1547
1594
1548
1595
1549
1596
1550
1597
1551
1598
1552
1599
1553
1600
1554
1601
1555
1602
1556
1603
1557
1604
1558
1605
1559
1606
1560
1607
1561
1608
1562
1609
1563
1610
1564
1611
1565
1612
1566
1613
1567
1614
1568
1615
1569
1616
1570
1617
1571
1618
1572
1619
1573
1620
1574
1621
1575
1622
1576
1623
1577
1624
1578
1625
1579
1626
1580
1627
1581
1628
1582
1629
1583
1630
1631
1585
1632
1586
1633
1587
1634
1588
1635
1589
1636
1590
1637
1591
1638
1592
1639
1593
1640
1594
1641
1595
1642
1596
1643
1597
1644
1598
1645
1599
1646
1600
1647
1601
1648
1602
1649
1603
1650
1604
1651
1605
1652
1606
1653
1607
1654
1608
1655
1609
1656
1610
1657
1611
1658
1612
1659
1613
1660
1614
1661
1615
1662
1616
1663
1617
1664
1618
1665
1619
1666
1620
1667
1621
1668
1622
1669
1623
1670
1624
1671
1625
1672
1626
1673
1627
1674
1628
1675
1629
1676
1630
1677
1631
1678
1679
1633
1680
1634
1681
1635
1682
1636
1683
1637
1684
1638
1685
1639
1686
1640
1687
1641
1688
1642
1689
1643
1690
1644
1691
1645
1692
1646
1693
1647
1694
1648
1695
1649
1696
1650
1697
1651
1698
1652
1699
1653
1700
1654
1701
1655
1702
1656
1703
1657
1704
1658
1705
1659
1706
1660
1707
1661
1708
1662
1709
1663
1710
1664
1711
1665
1712
1666
1713
1667
1714
1668
1715
1669
1716
1670
1717
1671
1718
1672
1719
1673
1720
1674
1721
1675
1722
1676
1723
1677
1724
1678
1725
1679
1726
1727
1681
1728
1682
1729
1683
1730
1684
1731
1685
1732
1686
1733
1687
1734
1688
1735
1689
1736
1690
1737
1691
1738
1692
1739
1693
1740
1694
1741
1695
1742
1696
1743
1697
1744
1698
1745
1699
1746
1700
1747
1701
1748
1702
1749
1703
1750
1704
1751
1705
1752
1706
1753
1707
1754
1708
1755
1709
1756
1710
1757
1711
1758
1712
1759
1713
1760
1714
1761
1715
1762
1716
1763
1717
1764
1718
1765
1719
1766
1720
1767
1721
1768
1722
1769
1723
1770
1724
1771
1725
1772
1726
1773
1727
1774
1775
1729
1776
1730
1777
1731
1778
1732
1779
1733
1780
1734
1781
1735
1782
1736
1783
1737
1784
1738
1785
1739
1786
1740
1787
1741
1788
1742
1789
1743
1790
1744
1791
1745
1792
1746
1793
1747
1794
1748
1795
1749
1796
1750
1797
1751
1798
1752
1799
1753
1800
1754
1801
1755
1802
1756
1803
1757
1804
1758
1805
1759
1806
1760
1807
1761
1808
1762
1809
1763
1810
1764
1811
1765
1812
1766
1813
1767
1814
1768
1815
1769
1816
1770
1817
1771
1818
1772
1819
1773
1820
1774
1821
1775
1822
1823
1777
1824
1778
1825
1779
1826
1780
1827
1781
1828
1782
1829
1783
1830
1784
1831
1785
1832
1786
1833
1787
1834
1788
1835
1789
1836
1790
1837
1791
1838
1792
1839
1793
1840
1794
1841
1795
1842
1796
1843
1797
1844
1798
1845
1799
1846
1800
1847
1801
1848
1802
1849
1803
1850
1804
1851
1805
1852
1806
1853
1807
1854
1808
1855
1809
1856
1810
1857
1811
1858
1812
1859
1813
1860
1814
1861
1815
1862
1816
1863
1817
1864
1818
1865
1819
1866
1820
1867
1821
1868
1822
1869
1823
1870
1871
1825
1872
1826
1873
1827
1874
1828
1875
1829
1876
1830
1877
1831
1878
1832
1879
1833
1880
1834
1881
1835
1882
1836
1883
1837
1884
1838
1885
1839
1886
1840
1887
1841
1888
1842
1889
1843
1890
1844
1891
1845
1892
1846
1893
1847
1894
1848
1895
1849
1896
1850
1897
1851
1898
1852
1899
1853
1900
1854
1901
1855
1902
1856
1903
1857
1904
1858
1905
1859
1906
1860
1907
1861
1908
1862
1909
1863
1910
1864
1911
1865
1912
1866
1913
1867
1914
1868
1915
1869
1916
1870
1917
1871
1918
1919
1873
1920
1874
1921
1875
1922
1876
1923
1877
1924
1878
1925
1879
1926
1880
1927
1881
1928
1882
1929
1883
1930
1884
1931
1885
1932
1886
1933
1887
1934
1888
1935
1889
1936
1890
1937
1891
1938
1892
1939
1893
1940
1894
1941
1895
1942
1896
1943
1897
1944
1898
1945
1899
1946
1900
1947
1901
1948
1902
1949
1903
1950
1904
1951
1905
1952
1906
1953
1907
1954
1908
1955
1909
1956
1910
1957
1911
1958
1912
1959
1913
1960
1914
1961
1915
1962
1916
1963
1917
1964
1918
1965
1919
1966
1967
1921
1968
1922
1969
1923
1970
1924
1971
1925
1972
1926
1973
1927
1974
1928
1975
1929
1976
1930
1977
1931
1978
1932
1979
1933
1980
1934
1981
1935
1982
1936
1983
1937
1984
1938
1985
1939
1986
1940
1987
1941
1988
1942
1989
1943
1990
1944
1991
1945
1992
1946
1993
1947
1994
1948
1995
1949
1996
1950
1997
1951
1998
1952
1999
1953
2000
1954
2001
1955
2002
1956
2003
1957
2004
1958
2005
1959
2006
1960
2007
1961
2008
1962
2009
1963
2010
1964
2011
1965
2012
1966
2013
1967
2014
2015
1969
2016
1970
2017
1971
2018
1972
2019
1973
2020
1974
2021
1975
2022
1976
2023
1977
2024
1978
2025
1979
2026
1980
2027
1981
2028
1982
2029
1983
2030
1984
2031
1985
2032
1986
2033
1987
2034
1988
2035
1989
2036
1990
2037
1991
2038
1992
2039
1993
2040
1994
2041
1995
2042
1996
2043
1997
2044
1998
2045
1999
2046
2000
2047
2001
2048
2002
2049
2003
2050
2004
2051
2005
2052
2006
2053
2007
2054
2008
2055
2009
2056
2010
2057
2011
2058
2012
2059
2013
2060
2014
2061
2015
2062
2063
2017
2064
2018
2065
2019
2066
2020
2067
2021
2068
2022
2069
2023
2070
2024
2071
2025
2072
2026
2073
2027
2074
2028
2075
2029
2076
2030
2077
2031
2078
2032
2079
2033
2080
2034
2081
2035
2082
2036
2083
2037
2084
2038
2085
2039
2086
2040
2087
2041
2088
2042
2089
2043
2090
2044
2091
2045
2092
2046
2093
2047
2094
2048
2095
2049
2096
2050
2097
2051
2098
2052
2099
2053
2100
2054
2101
2055
2102
2056
2103
2057
2104
2058
2105
2059
2106
2060
2107
2061
2108
2062
2109
2063
2110
2111
2065
2112
2066
2113
2067
2114
2068
2115
2069
2116
2070
2117
2071
2118
2072
2119
2073
2120
2074
2121
2075
2122
2076
2123
2077
2124
2078
2125
2079
2126
2080
2127
2081
2128
2082
2129
2083
2130
2084
2131
2085
2132
2086
2133
2087
2134
2088
2135
2089
2136
2090
2137
2091
2138
2092
2139
2093
2140
2094
2141
2095
2142
2096
2143
2097
2144
2098
2145
2099
2146
2100
2147
2101
2148
2102
2149
2103
2150
2104
2151
2105
2152
2106
2153
2107
2154
2108
2155
2109
2156
2110
2157
2111
2158
2159
2113
2160
2114
2161
2115
2162
2116
2163
2117
2164
2118
2165
2119
2166
2120
2167
2121
2168
2122
2169
2123
2170
2124
2171
2125
2172
2126
2173
2127
2174
2128
2175
2129
2176
2130
2177
2131
2178
2132
2179
2133
2180
2134
2181
2135
2182
2136
2183
2137
2184
2138
2185
2139
2186
2140
2187
2141
2188
2142
2189
2143
2190
2144
2191
2145
2192
2146
2193
2147
2194
2148
2195
2149
2196
2150
2197
2151
2198
2152
2199
2153
2200
2154
2201
2155
2202
2156
2203
2157
2204
2158
2205
2159
2206
2207
2161
2208
2162
2209
2163
2210
2164
2211
2165
2212
2166
2213
2167
2214
2168
2215
2169
2216
2170
2217
2171
2218
2172
2219
2173
2220
2174
2221
2175
2222
2176
2223
2177
2224
2178
2225
2179
2226
2180
2227
2181
2228
2182
2229
2183
2230
2184
2231
2185
2232
2186
2233
2187
2234
2188
2235
2189
2236
2190
2237
2191
2238
2192
2239
2193
2240
2194
2241
2195
2242
2196
2243
2197
2244
2198
2245
2199
2246
2200
2247
2201
2248
2202
2249
2203
2250
2204
2251
2205
2252
2206
2253
2207
2254
2255
2209
2256
2210
2257
2211
2258
2212
2259
2213
2260
2214
2261
2215
2262
2216
2263
2217
2264
2218
2265
2219
2266
2220
2267
2221
2268
2222
2269
2223
2270
2224
2271
2225
2272
2226
2273
2227
2274
2228
2275
2229
2276
2230
2277
2231
2278
2232
2279
2233
2280
2234
2281
2235
2282
2236
2283
2237
2284
2238
2285
2239
2286
2240
2287
2241
2288
2242
2289
2243
2290
2244
2291
2245
2292
2246
2293
2247
2294
2248
2295
2249
2296
2250
2297
2251
2298
2252
2299
2253
2300
2254
2301
2255
2302
2303
2257
2304
2258
2305
2259
2306
2260
2307
2261
2308
2262
2309
2263
2310
2264
2311
2265
2312
2266
2313
2267
2314
2268
2315
2269
2316
2270
2317
2271
2318
2272
2319
2273
2320
2274
2321
2275
2322
2276
2323
2277
2324
2278
2325
2279
2326
2280
2327
2281
2328
2282
2329
2283
2330
2284
2331
2285
2332
2286
2333
2287
2334
2288
2335
2289
2336
2290
2337
2291
2338
2292
2339
2293
2340
2294
2341
2295
2342
2296
2343
2297
2344
2298
2345
2299
2346
2300
2347
2301
2348
2302
2349
2303
2350
2351
2305
2352
2306
2353
2307
2354
2308
2355
2309
2356
2310
2357
2311
2358
2312
2359
2313
2360
2314
2361
2315
2362
2316
2363
2317
2364
2318
2365
2319
2366
2320
2367
2321
2368
2322
2369
2323
2370
2324
2371
2325
2372
2326
2373
2327
2374
2328
2375
2329
2376
2330
2377
2331
2378
2332
2379
2333
2380
2334
2381
2335
2382
2336
2383
2337
2384
2338
2385
2339
2386
2340
2387
2341
2388
2342
2389
2343
2390
2344
2391
2345
2392
2346
2393
2347
2394
2348
2395
2349
2396
2350
2397
2351
2398
2399
2353
2400
2354
2401
2355
2402
2356
2403
2357
2404
2358
2405
2359
2406
2360
2407
2361
2408
2362
2409
2363
2410
2364
2411
2365
2412
2366
2413
2367
2414
2368
2415
2369
2416
2370
2417
2371
2418
2372
2419
2373
2420
2374
2421
2375
2422
2376
2423
2377
2424
2378
2425
2379
2426
2380
2427
2381
2428
2382
2429
2383
2430
2384
2431
2385
2432
2386
2433
2387
2434
2388
2435
2389
2436
2390
2437
2391
2438
2392
2439
2393
2440
2394
2441
2395
2442
2396
2443
2397
2444
2398
2445
2399
2446
2447
2401
2448
2402
2449
2403
2450
2404
2451
2405
2452
2406
2453
2407
2454
2408
2455
2409
2456
2410
2457
2411
2458
2412
2459
2413
2460
2414
2461
2415
2462
2416
2463
2417
2464
2418
2465
2419
2466
2420
2467
2421
2468
2422
2469
2423
2470
2424
2471
2425
2472
2426
2473
2427
2474
2428
2475
2429
2476
2430
2477
2431
2478
2432
2479
2433
2480
2434
2481
2435
2482
2436
2483
2437
2484
2438
2485
2439
2486
2440
2487
2441
2488
2442
2489
2443
2490
2444
2491
2445
2492
2446
2493
2447
2494
2495
2449
2496
2450
2497
2451
2498
2452
2499
2453
2500
2454
2501
2455
2502
2456
2503
2457
2504
2458
2505
2459
2506
2460
2507
2461
2508
2462
2509
2463
2510
2464
2511
2465
2512
2466
2513
2467
2514
2468
2515
2469
2516
2470
2517
2471
2518
2472
2519
2473
2520
2474
2521
2475
2522
2476
2523
2477
2524
2478
2525
2479
2526
2480
2527
2481
2528
2482
2529
2483
2530
2484
2531
2485
2532
2486
2533
2487
2534
2488
2535
2489
2536
2490
2537
2491
2538
2492
2539
2493
2540
2494
2541
2495
2542
2543
2497
2544
2498
2545
2499
2546
2500
2547
2501
2548
2502
2549
2503
2550
2504
2551
2505
2552
2506
2553
2507
2554
2508
2555
2509
2556
2510
2557
2511
2558
2512
2559
2513
2560
2514
2561
2515
2562
2516
2563
2517
2564
2518
2565
2519
2566
2520
2567
2521
2568
2522
2569
2523
2570
2524
2571
2525
2572
2526
2573
2527
2574
2528
2575
2529
2576
2530
2577
2531
2578
2532
2579
2533
2580
2534
2581
2535
2582
2536
2583
2537
2584
2538
2585
2539
2586
2540
2587
2541
2588
2542
2589
2543
2590
2591
2545
2592
2546
2593
2547
2594
2548
2595
2549
2596
2550
2597
2551
2598
2552
2599
2553
2600
2554
2601
2555
2602
2556
2603
2557
2604
2558
2605
2559
2606
2560
2607
2561
2608
2562
2609
2563
2610
2564
2611
2565
2612
2566
2613
2567
2614
2568
2615
2569
2616
2570
2617
2571
2618
2572
2619
2573
2620
2574
2621
2575
2622
2576
2623
2577
2624
2578
2625
2579
2626
2580
2627
2581
2628
2582
2629
2583
2630
2584
2631
2585
2632
2586
2633
2587
2634
2588
2635
2589
2636
2590
2637
2591
2638
2639
2593
2640
2594
2641
2595
2642
2596
2643
2597
2644
2598
2645
2599
2646
2600
2647
2601
2648
2602
2649
2603
2650
2604
2651
2605
2652
2606
2653
2607
2654
2608
2655
2609
2656
2610
2657
2611
2658
2612
2659
2613
2660
2614
2661
2615
2662
2616
2663
2617
2664
2618
2665
2619
2666
2620
2667
2621
2668
2622
2669
2623
2670
2624
2671
2625
2672
2626
2673
2627
2674
2628
2675
2629
2676
2630
2677
2631
2678
2632
2679
2633
2680
2634
2681
2635
2682
2636
2683
2637
2684
2638
2685
2639
2686
2687
2641
2688
2642
2689
2643
2690
2644
2691
2645
2692
2646
2693
2647
2694
2648
2695
2649
2696
2650
2697
2651
2698
2652
2699
2653
2700
2654
2701
2655
2702
2656
2703
2657
2704
2658
2705
2659
2706
2660
2707
2661
2708
2662
2709
2663
2710
2664
2711
2665
2712
2666
2713
2667
2714
2668
2715
2669
2716
2670
2717
2671
2718
2672
2719
2673
2720
2674
2721
2675
2722
2676
2723
2677
2724
2678
2725
2679
2726
2680
2727
2681
2728
2682
2729
2683
2730
2684
2731
2685
2732
2686
2733
2687
2734
2735
2689
2736
2690
2737
2691
2738
2692
2739
2693
2740
2694
2741
2695
2742
2696
2743
2697
2744
2698
2745
2699
2746
2700
2747
2701
2748
2702
2749
2703
2750
2704
2751
2705
2752
2706
2753
2707
2754
2708
2755
2709
2756
2710
2757
2711
2758
2712
2759
2713
2760
2714
2761
2715
2762
2716
2763
2717
2764
2718
2765
2719
2766
2720
2767
2721
2768
2722
2769
2723
2770
2724
2771
2725
2772
2726
2773
2727
2774
2728
2775
2729
2776
2730
2777
2731
2778
2732
2779
2733
2780
2734
2781
2735
2782
2783
2737
2784
2738
2785
2739
2786
2740
2787
2741
2788
2742
2789
2743
2790
2744
2791
2745
2792
2746
2793
2747
2794
2748
2795
2749
2796
2750
2797
2751
2798
2752
2799
2753
2800
2754
2801
2755
2802
2756
2803
2757
2804
2758
2805
2759
2806
2760
2807
2761
2808
2762
2809
2763
2810
2764
2811
2765
2812
2766
2813
2767
2814
2768
2815
2769
2816
2770
2817
2771
2818
2772
2819
2773
2820
2774
2821
2775
2822
2776
2823
2777
2824
2778
2825
2779
2826
2780
2827
2781
2828
2782
2829
2783
2830
2831
2785
2832
2786
2833
2787
2834
2788
2835
2789
2836
2790
2837
2791
2838
2792
2839
2793
2840
2794
2841
2795
2842
2796
2843
2797
2844
2798
2845
2799
2846
2800
2847
2801
2848
2802
2849
2803
2850
2804
2851
2805
2852
2806
2853
2807
2854
2808
2855
2809
2856
2810
2857
2811
2858
2812
2859
2813
2860
2814
2861
2815
2862
2816
2863
2817
2864
2818
2865
2819
2866
2820
2867
2821
2868
2822
2869
2823
2870
2824
2871
2825
2872
2826
2873
2827
2874
2828
2875
2829
2876
2830
2877
2831
2878
2879
2833
2880
2834
2881
2835
2882
2836
2883
2837
2884
2838
2885
2839
2886
2840
2887
2841
2888
2842
2889
2843
2890
2844
2891
2845
2892
2846
2893
2847
2894
2848
2895
2849
2896
2850
2897
2851
2898
2852
2899
2853
2900
2854
2901
2855
2902
2856
2903
2857
2904
2858
2905
2859
2906
2860
2907
2861
2908
2862
2909
2863
2910
2864
2911
2865
2912
2866
2913
2867
2914
2868
2915
2869
2916
2870
2917
2871
2918
2872
2919
2873
2920
2874
2921
2875
2922
2876
2923
2877
2924
2878
2925
2879
2926
2927
2881
2928
2882
2929
2883
2930
2884
2931
2885
2932
2886
2933
2887
2934
2888
2935
2889
2936
2890
2937
2891
2938
2892
2939
2893
2940
2894
2941
2895
2942
2896
2943
2897
2944
2898
2945
2899
2946
2900
2947
2901
2948
2902
2949
2903
2950
2904
2951
2905
2952
2906
2953
2907
2954
2908
2955
2909
2956
2910
2957
2911
2958
2912
2959
2913
2960
2914
2961
2915
2962
2916
2963
2917
2964
2918
2965
2919
2966
2920
2967
2921
2968
2922
2969
2923
2970
2924
2971
2925
2972
2926
2973
2927
2974
2975
2929
2976
2930
2977
2931
2978
2932
2979
2933
2980
2934
2981
2935
2982
2936
2983
2937
2984
2938
2985
2939
2986
2940
2987
2941
2988
2942
2989
2943
2990
2944
2991
2945
2992
2946
2993
2947
2994
2948
2995
2949
2996
2950
2997
2951
2998
2952
2999
2953
3000
2954
3001
2955
3002
2956
3003
2957
3004
2958
3005
2959
3006
2960
3007
2961
3008
2962
3009
2963
3010
2964
3011
2965
3012
2966
3013
2967
3014
2968
3015
2969
3016
2970
3017
2971
3018
2972
3019
2973
3020
2974
3021
2975
3022
3023
2977
3024
2978
3025
2979
3026
2980
3027
2981
3028
2982
3029
2983
3030
2984
3031
2985
3032
2986
3033
2987
3034
2988
3035
2989
3036
2990
3037
2991
3038
2992
3039
2993
3040
2994
3041
2995
3042
2996
3043
2997
3044
2998
3045
2999
3046
3000
3047
3001
3048
3002
3049
3003
3050
3004
3051
3005
3052
3006
3053
3007
3054
3008
3055
3009
3056
3010
3057
3011
3058
3012
3059
3013
3060
3014
3061
3015
3062
3016
3063
3017
3064
3018
3065
3019
3066
3020
3067
3021
3068
3022
3069
3023
3070
3071
3025
3072
3026
3073
3027
3074
3028
3075
3029
3076
3030
3077
3031
3078
3032
3079
3033
3080
3034
3081
3035
3082
3036
3083
3037
3084
3038
3085
3039
3086
3040
3087
3041
3088
3042
3089
3043
3090
3044
3091
3045
3092
3046
3093
3047
3094
3048
3095
3049
3096
3050
3097
3051
3098
3052
3099
3053
3100
3054
3101
3055
3102
3056
3103
3057
3104
3058
3105
3059
3106
3060
3107
3061
3108
3062
3109
3063
3110
3064
3111
3065
3112
3066
3113
3067
3114
3068
3115
3069
3116
3070
3117
3071
3118
3119
3073
3120
3074
3121
3075
3122
3076
3123
3077
3124
3078
3125
3079
3126
3080
3127
3081
3128
3082
3129
3083
3130
3084
3131
3085
3132
3086
3133
3087
3134
3088
3135
3089
3136
3090
3137
3091
3138
3092
3139
3093
3140
3094
3141
3095
3142
3096
3143
3097
3144
3098
3145
3099
3146
3100
3147
3101
3148
3102
3149
3103
3150
3104
3151
3105
3152
3106
3153
3107
3154
3108
3155
3109
3156
3110
3157
3111
3158
3112
3159
3113
3160
3114
3161
3115
3162
3116
3163
3117
3164
3118
3165
3119
3166
3167
3121
3168
3122
3169
3123
3170
3124
3171
3125
3172
3126
3173
3127
3174
3128
3175
3129
3176
3130
3177
3131
3178
3132
3179
3133
3180
3134
3181
3135
3182
3136
3183
3137
3184
3138
3185
3139
3186
3140
3187
3141
3188
3142
3189
3143
3190
3144
3191
3145
3192
3146
3193
3147
3194
3148
3195
3149
3196
3150
3197
3151
3198
3152
3199
3153
3200
3154
3201
3155
3202
3156
3203
3157
3204
3158
3205
3159
3206
3160
3207
3161
3208
3162
3209
3163
3210
3164
3211
3165
3212
3166
3213
3167
3214
3215
3169
3216
3170
3217
3171
3218
3172
3219
3173
3220
3174
3221
3175
3222
3176
3223
3177
3224
3178
3225
3179
3226
3180
3227
3181
3228
3182
3229
3183
3230
3184
3231
3185
3232
3186
3233
3187
3234
3188
3235
3189
3236
3190
3237
3191
3238
3192
3239
3193
3240
3194
3241
3195
3242
3196
3243
3197
3244
3198
3245
3199
3246
3200
3247
3201
3248
3202
3249
3203
3250
3204
3251
3205
3252
3206
3253
3207
3254
3208
3255
3209
3256
3210
3257
3211
3258
3212
3259
3213
3260
3214
3261
3215
3262
3263
3217
3264
3218
3265
3219
3266
3220
3267
3221
3268
3222
3269
3223
3270
3224
3271
3225
3272
3226
3273
3227
3274
3228
3275
3229
3276
3230
3277
3231
3278
3232
3279
3233
3280
3234
3281
3235
3282
3236
3283
3237
3284
3238
3285
3239
3286
3240
3287
3241
3288
3242
3289
3243
3290
3244
3291
3245
3292
3246
3293
3247
3294
3248
3295
3249
3296
3250
3297
3251
3298
3252
3299
3253
3300
3254
3301
3255
3302
3256
3303
3257
3304
3258
3305
3259
3306
3260
3307
3261
3308
3262
3309
3263
3310
3311
3265
3312
3266
3313
3267
3314
3268
3315
3269
3316
3270
3317
3271
3318
3272
3319
3273
3320
3274
3321
3275
3322
3276
3323
3277
3324
3278
3325
3279
3326
3280
3327
3281
3328
3282
3329
3283
3330
3284
3331
3285
3332
3286
3333
3287
3334
3288
3335
3289
3336
3290
3337
3291
3338
3292
3339
3293
3340
3294
3341
3295
3342
3296
3343
3297
3344
3298
3345
3299
3346
3300
3347
3301
3348
3302
3349
3303
3350
3304
3351
3305
3352
3306
3353
3307
3354
3308
3355
3309
3356
3310
3357
3311
3358
3359
3313
3360
3314
3361
3315
3362
3316
3363
3317
3364
3318
3365
3319
3366
3320
3367
3321
3368
3322
3369
3323
3370
3324
3371
3325
3372
3326
3373
3327
3374
3328
3375
3329
3376
3330
3377
3331
3378
3332
3379
3333
3380
3334
3381
3335
3382
3336
3383
3337
3384
3338
3385
3339
3386
3340
3387
3341
3388
3342
3389
3343
3390
3344
3391
3345
3392
3346
3393
3347
3394
3348
3395
3349
3396
3350
3397
3351
3398
3352
3399
3353
3400
3354
3401
3355
3402
3356
3403
3357
3404
3358
3405
3359
3406
3407
3361
3408
3362
3409
3363
3410
3364
3411
3365
3412
3366
3413
3367
3414
3368
3415
3369
3416
3370
3417
3371
3418
3372
3419
3373
3420
3374
3421
3375
3422
3376
3423
3377
3424
3378
3425
3379
3426
3380
3427
3381
3428
3382
3429
3383
3430
3384
3431
3385
3432
3386
3433
3387
3434
3388
3435
3389
3436
3390
3437
3391
3438
3392
3439
3393
3440
3394
3441
3395
3442
3396
3443
3397
3444
3398
3445
3399
3446
3400
3447
3401
3448
3402
3449
3403
3450
3404
3451
3405
3452
3406
3453
3407
3454
3455
3409
3456
3410
3457
3411
3458
3412
3459
3413
3460
3414
3461
3415
3462
3416
3463
3417
3464
3418
3465
3419
3466
3420
3467
3421
3468
3422
3469
3423
3470
3424
3471
3425
3472
3426
3473
3427
3474
3428
3475
3429
3476
3430
3477
3431
3478
3432
3479
3433
3480
3434
3481
3435
3482
3436
3483
3437
3484
3438
3485
3439
3486
3440
3487
3441
3488
3442
3489
3443
3490
3444
3491
3445
3492
3446
3493
3447
3494
3448
3495
3449
3496
3450
3497
3451
3498
3452
3499
3453
3500
3454
3501
3455
3502
3503
3457
3504
3458
3505
3459
3506
3460
3507
3461
3508
3462
3509
3463
3510
3464
3511
3465
3512
3466
3513
3467
3514
3468
3515
3469
3516
3470
3517
3471
3518
3472
3519
3473
3520
3474
3521
3475
3522
3476
3523
3477
3524
3478
3525
3479
3526
3480
3527
3481
3528
3482
3529
3483
3530
3484
3531
3485
3532
3486
3533
3487
3534
3488
3535
3489
3536
3490
3537
3491
3538
3492
3539
3493
3540
3494
3541
3495
3542
3496
3543
3497
3544
3498
3545
3499
3546
3500
3547
3501
3548
3502
3549
3503
3550
3551
3505
3552
3506
3553
3507
3554
3508
3555
3509
3556
3510
3557
3511
3558
3512
3559
3513
3560
3514
3561
3515
3562
3516
3563
3517
3564
3518
3565
3519
3566
3520
3567
3521
3568
3522
3569
3523
3570
3524
3571
3525
3572
3526
3573
3527
3574
3528
3575
3529
3576
3530
3577
3531
3578
3532
3579
3533
3580
3534
3581
3535
3582
3536
3583
3537
3584
3538
3585
3539
3586
3540
3587
3541
3588
3542
3589
3543
3590
3544
3591
3545
3592
3546
3593
3547
3594
3548
3595
3549
3596
3550
3597
3551
3598
3599
3553
3600
3554
3601
3555
3602
3556
3603
3557
3604
3558
3605
3559
3606
3560
3607
3561
3608
3562
3609
3563
3610
3564
3611
3565
3612
3566
3613
3567
3614
3568
3615
3569
3616
3570
3617
3571
3618
3572
3619
3573
3620
3574
3621
3575
3622
3576
3623
3577
3624
3578
3625
3579
3626
3580
3627
3581
3628
3582
3629
3583
3630
3584
3631
3585
3632
3586
3633
3587
3634
3588
3635
3589
3636
3590
3637
3591
3638
3592
3639
3593
3640
3594
3641
3595
3642
3596
3643
3597
3644
3598
3645
3599
3646
3647
3601
3648
3602
3649
3603
3650
3604
3651
3605
3652
3606
3653
3607
3654
3608
3655
3609
3656
3610
3657
3611
3658
3612
3659
3613
3660
3614
3661
3615
3662
3616
3663
3617
3664
3618
3665
3619
3666
3620
3667
3621
3668
3622
3669
3623
3670
3624
3671
3625
3672
3626
3673
3627
3674
3628
3675
3629
3676
3630
3677
3631
3678
3632
3679
3633
3680
3634
3681
3635
3682
3636
3683
3637
3684
3638
3685
3639
3686
3640
3687
3641
3688
3642
3689
3643
3690
3644
3691
3645
3692
3646
3693
3647
3694
3695
3649
3696
3650
3697
3651
3698
3652
3699
3653
3700
3654
3701
3655
3702
3656
3703
3657
3704
3658
3705
3659
3706
3660
3707
3661
3708
3662
3709
3663
3710
3664
3711
3665
3712
3666
3713
3667
3714
3668
3715
3669
3716
3670
3717
3671
3718
3672
3719
3673
3720
3674
3721
3675
3722
3676
3723
3677
3724
3678
3725
3679
3726
3680
3727
3681
3728
3682
3729
3683
3730
3684
3731
3685
3732
3686
3733
3687
3734
3688
3735
3689
3736
3690
3737
3691
3738
3692
3739
3693
3740
3694
3741
3695
3742
3743
3697
3744
3698
3745
3699
3746
3700
3747
3701
3748
3702
3749
3703
3750
3704
3751
3705
3752
3706
3753
3707
3754
3708
3755
3709
3756
3710
3757
3711
3758
3712
3759
3713
3760
3714
3761
3715
3762
3716
3763
3717
3764
3718
3765
3719
3766
3720
3767
3721
3768
3722
3769
3723
3770
3724
3771
3725
3772
3726
3773
3727
3774
3728
3775
3729
3776
3730
3777
3731
3778
3732
3779
3733
3780
3734
3781
3735
3782
3736
3783
3737
3784
3738
3785
3739
3786
3740
3787
3741
3788
3742
3789
3743
3790
3791
3745
3792
3746
3793
3747
3794
3748
3795
3749
3796
3750
3797
3751
3798
3752
3799
3753
3800
3754
3801
3755
3802
3756
3803
3757
3804
3758
3805
3759
3806
3760
3807
3761
3808
3762
3809
3763
3810
3764
3811
3765
3812
3766
3813
3767
3814
3768
3815
3769
3816
3770
3817
3771
3818
3772
3819
3773
3820
3774
3821
3775
3822
3776
3823
3777
3824
3778
3825
3779
3826
3780
3827
3781
3828
3782
3829
3783
3830
3784
3831
3785
3832
3786
3833
3787
3834
3788
3835
3789
3836
3790
3837
3791
3838
3839
3793
3840
3794
3841
3795
3842
3796
3843
3797
3844
3798
3845
3799
3846
3800
3847
3801
3848
3802
3849
3803
3850
3804
3851
3805
3852
3806
3853
3807
3854
3808
3855
3809
3856
3810
3857
3811
3858
3812
3859
3813
3860
3814
3861
3815
3862
3816
3863
3817
3864
3818
3865
3819
3866
3820
3867
3821
3868
3822
3869
3823
3870
3824
3871
3825
3872
3826
3873
3827
3874
3828
3875
3829
3876
3830
3877
3831
3878
3832
3879
3833
3880
3834
3881
3835
3882
3836
3883
3837
3884
3838
3885
3839
3886
3887
3841
3888
3842
3889
3843
3890
3844
3891
3845
3892
3846
3893
3847
3894
3848
3895
3849
3896
3850
3897
3851
3898
3852
3899
3853
3900
3854
3901
3855
3902
3856
3903
3857
3904
3858
3905
3859
3906
3860
3907
3861
3908
3862
3909
3863
3910
3864
3911
3865
3912
3866
3913
3867
3914
3868
3915
3869
3916
3870
3917
3871
3918
3872
3919
3873
3920
3874
3921
3875
3922
3876
3923
3877
3924
3878
3925
3879
3926
3880
3927
3881
3928
3882
3929
3883
3930
3884
3931
3885
3932
3886
3933
3887
3934
3935
3889
3936
3890
3937
3891
3938
3892
3939
3893
3940
3894
3941
3895
3942
3896
3943
3897
3944
3898
3945
3899
3946
3900
3947
3901
3948
3902
3949
3903
3950
3904
3951
3905
3952
3906
3953
3907
3954
3908
3955
3909
3956
3910
3957
3911
3958
3912
3959
3913
3960
3914
3961
3915
3962
3916
3963
3917
3964
3918
3965
3919
3966
3920
3967
3921
3968
3922
3969
3923
3970
3924
3971
3925
3972
3926
3973
3927
3974
3928
3975
3929
3976
3930
3977
3931
3978
3932
3979
3933
3980
3934
3981
3935
3982
3983
3937
3984
3938
3985
3939
3986
3940
3987
3941
3988
3942
3989
3943
3990
3944
3991
3945
3992
3946
3993
3947
3994
3948
3995
3949
3996
3950
3997
3951
3998
3952
3999
3953
4000
3954
4001
3955
4002
3956
4003
3957
4004
3958
4005
3959
4006
3960
4007
3961
4008
3962
4009
3963
4010
3964
4011
3965
4012
3966
4013
3967
4014
3968
4015
3969
4016
3970
4017
3971
4018
3972
4019
3973
4020
3974
4021
3975
4022
3976
4023
3977
4024
3978
4025
3979
4026
3980
4027
3981
4028
3982
4029
3983
4030
4031
3985
4032
3986
4033
3987
4034
3988
4035
3989
4036
3990
4037
3991
4038
3992
4039
3993
4040
3994
4041
3995
4042
3996
4043
3997
4044
3998
4045
3999
4046
4000
4047
4001
4048
4002
4049
4003
4050
4004
4051
4005
4052
4006
4053
4007
4054
4008
4055
4009
4056
4010
4057
4011
4058
4012
4059
4013
4060
4014
4061
4015
4062
4016
4063
4017
4064
4018
4065
4019
4066
4020
4067
4021
4068
4022
4069
4023
4070
4024
4071
4025
4072
4026
4073
4027
4074
4028
4075
4029
4076
4030
4077
4031
4078
4079
4033
4080
4034
4081
4035
4082
4036
4083
4037
4084
4038
4085
4039
4086
4040
4087
4041
4088
4042
4089
4043
4090
4044
4091
4045
4092
4046
4093
4047
4094
4048
4095
4049
4096
4050
4097
4051
4098
4052
4099
4053
4100
4054
4101
4055
4102
4056
4103
4057
4104
4058
4105
4059
4106
4060
4107
4061
4108
4062
4109
4063
4110
4064
4111
4065
4112
4066
4113
4067
4114
4068
4115
4069
4116
4070
4117
4071
4118
4072
4119
4073
4120
4074
4121
4075
4122
4076
4123
4077
4124
4078
4125
4079
4126
4127
4081
4128
4082
4129
4083
4130
4084
4131
4085
4132
4086
4133
4087
4134
4088
4135
4089
4136
4090
4137
4091
4138
4092
4139
4093
4140
4094
4141
4095
4142
4096
4143
4097
4144
4098
4145
4099
4146
4100
4147
4101
4148
4102
4149
4103
4150
4104
4151
4105
4152
4106
4153
4107
4154
4108
4155
4109
4156
4110
4157
4111
4158
4112
4159
4113
4160
4114
4161
4115
4162
4116
4163
4117
4164
4118
4165
4119
4166
4120
4167
4121
4168
4122
4169
4123
4170
4124
4171
4125
4172
4126
4173
4127
4174
4175
4129
4176
4130
4177
4131
4178
4132
4179
4133
4180
4134
4181
4135
4182
4136
4183
4137
4184
4138
4185
4139
4186
4140
4187
4141
4188
4142
4189
4143
4190
4144
4191
4145
4192
4146
4193
4147
4194
4148
4195
4149
4196
4150
4197
4151
4198
4152
4199
4153
4200
4154
4201
4155
4202
4156
4203
4157
4204
4158
4205
4159
4206
4160
4207
4161
4208
4162
4209
4163
4210
4164
4211
4165
4212
4166
4213
4167
4214
4168
4215
4169
4216
4170
4217
4171
4218
4172
4219
4173
4220
4174
4221
4175
4222
4223
4177
4224
4178
4225
4179
4226
4180
4227
4181
4228
4182
4229
4183
4230
4184
4231
4185
4232
4186
4233
4187
4234
4188
4235
4189
4236
4190
4237
4191
4238
4192
4239
4193
4240
4194
4241
4195
4242
4196
4243
4197
4244
4198
4245
4199
4246
4200
4247
4201
4248
4202
4249
4203
4250
4204
4251
4205
4252
4206
4253
4207
4254
4208
4255
4209
4256
4210
4257
4211
4258
4212
4259
4213
4260
4214
4261
4215
4262
4216
4263
4217
4264
4218
4265
4219
4266
4220
4267
4221
4268
4222
4269
4223
4270
4271
4225
4272
4226
4273
4227
4274
4228
4275
4229
4276
4230
4277
4231
4278
4232
4279
4233
4280
4234
4281
4235
4282
4236
4283
4237
4284
4238
4285
4239
4286
4240
4287
4241
4288
4242
4289
4243
4290
4244
4291
4245
4292
4246
4293
4247
4294
4248
4295
4249
4296
4250
4297
4251
4298
4252
4299
4253
4300
4254
4301
4255
4302
4256
4303
4257
4304
4258
4305
4259
4306
4260
4307
4261
4308
4262
4309
4263
4310
4264
4311
4265
4312
4266
4313
4267
4314
4268
4315
4269
4316
4270
4317
4271
4318
4319
4273
4320
4274
4321
4275
4322
4276
4323
4277
4324
4278
4325
4279
4326
4280
4327
4281
4328
4282
4329
4283
4330
4284
4331
4285
4332
4286
4333
4287
4334
4288
4335
4289
4336
4290
4337
4291
4338
4292
4339
4293
4340
4294
4341
4295
4342
4296
4343
4297
4344
4298
4345
4299
4346
4300
4347
4301
4348
4302
4349
4303
4350
4304
4351
4305
4352
4306
4353
4307
4354
4308
4355
4309
4356
4310
4357
4311
4358
4312
4359
4313
4360
4314
4361
4315
4362
4316
4363
4317
4364
4318
4365
4319
4366
4367
4321
4368
4322
4369
4323
4370
4324
4371
4325
4372
4326
4373
4327
4374
4328
4375
4329
4376
4330
4377
4331
4378
4332
4379
4333
4380
4334
4381
4335
4382
4336
4383
4337
4384
4338
4385
4339
4386
4340
4387
4341
4388
4342
4389
4343
4390
4344
4391
4345
4392
4346
4393
4347
4394
4348
4395
4349
4396
4350
4397
4351
4398
4352
4399
4353
4400
4354
4401
4355
4402
4356
4403
4357
4404
4358
4405
4359
4406
4360
4407
4361
4408
4362
4409
4363
4410
4364
4411
4365
4412
4366
4413
4367
4414
4415
4369
4416
4370
4417
4371
4418
4372
4419
4373
4420
4374
4421
4375
4422
4376
4423
4377
4424
4378
4425
4379
4426
4380
4427
4381
4428
4382
4429
4383
4430
4384
4431
4385
4432
4386
4433
4387
4434
4388
4435
4389
4436
4390
4437
4391
4438
4392
4439
4393
4440
4394
4441
4395
4442
4396
4443
4397
4444
4398
4445
4399
4446
4400
4447
4401
4448
4402
4449
4403
4450
4404
4451
4405
4452
4406
4453
4407
4454
4408
4455
4409
4456
4410
4457
4411
4458
4412
4459
4413
4460
4414
4461
4415
4462
4463
4417
4464
4418
4465
4419
4466
4420
4467
4421
4468
4422
4469
4423
4470
4424
4471
4425
4472
4426
4473
4427
4474
4428
4475
4429
4476
4430
4477
4431
4478
4432
4479
4433
4480
4434
4481
4435
4482
4436
4483
4437
4484
4438
4485
4439
4486
4440
4487
4441
4488
4442
4489
4443
4490
4444
4491
4445
4492
4446
4493
4447
4494
4448
4495
4449
4496
4450
4497
4451
4498
4452
4499
4453
4500
4454
4501
4455
4502
4456
4503
4457
4504
4458
4505
4459
4506
4460
4507
4461
4508
4462
4509
4463
4510
4511
4465
4512
4466
4513
4467
4514
4468
4515
4469
4516
4470
4517
4471
4518
4472
4519
4473
4520
4474
4521
4475
4522
4476
4523
4477
4524
4478
4525
4479
4526
4480
4527
4481
4528
4482
4529
4483
4530
4484
4531
4485
4532
4486
4533
4487
4534
4488
4535
4489
4536
4490
4537
4491
4538
4492
4539
4493
4540
4494
4541
4495
4542
4496
4543
4497
4544
4498
4545
4499
4546
4500
4547
4501
4548
4502
4549
4503
4550
4504
4551
4505
4552
4506
4553
4507
4554
4508
4555
4509
4556
4510
4557
4511
4558
4559
4513
4560
4514
4561
4515
4562
4516
4563
4517
4564
4518
4565
4519
4566
4520
4567
4521
4568
4522
4569
4523
4570
4524
4571
4525
4572
4526
4573
4527
4574
4528
4575
4529
4576
4530
4577
4531
4578
4532
4579
4533
4580
4534
4581
4535
4582
4536
4583
4537
4584
4538
4585
4539
4586
4540
4587
4541
4588
4542
4589
4543
4590
4544
4591
4545
4592
4546
4593
4547
4594
4548
4595
4549
4596
4550
4597
4551
4598
4552
4599
4553
4600
4554
4601
4555
4602
4556
4603
4557
4604
4558
4605
4559
4606
4607
4561
4608
4562
4609
4563
4610
4564
4611
4565
4612
4566
4613
4567
4614
4568
4615
4569
4616
4570
4617
4571
4618
4572
4619
4573
4620
4574
4621
4575
4622
4576
4623
4577
4624
4578
4625
4579
4626
4580
4627
4581
4628
4582
4629
4583
4630
4584
4631
4585
4632
4586
4633
4587
4634
4588
4635
4589
4636
4590
4637
4591
4638
4592
4639
4593
4640
4594
4641
4595
4642
4596
4643
4597
4644
4598
4645
4599
4646
4600
4647
4601
4648
4602
4649
4603
4650
4604
4651
4605
4652
4606
4653
4607
4654
4655
4609
4656
4610
4657
4611
4658
4612
4659
4613
4660
4614
4661
4615
4662
4616
4663
4617
4664
4618
4665
4619
4666
4620
4667
4621
4668
4622
4669
4623
4670
4624
4671
4625
4672
4626
4673
4627
4674
4628
4675
4629
4676
4630
4677
4631
4678
4632
4679
4633
4680
4634
4681
4635
4682
4636
4683
4637
4684
4638
4685
4639
4686
4640
4687
4641
4688
4642
4689
4643
4690
4644
4691
4645
4692
4646
4693
4647
4694
4648
4695
4649
4696
4650
4697
4651
4698
4652
4699
4653
4700
4654
4701
4655
4702
4703
4657
4704
4658
4705
4659
4706
4660
4707
4661
4708
4662
4709
4663
4710
4664
4711
4665
4712
4666
4713
4667
4714
4668
4715
4669
4716
4670
4717
4671
4718
4672
4719
4673
4720
4674
4721
4675
4722
4676
4723
4677
4724
4678
4725
4679
4726
4680
4727
4681
4728
4682
4729
4683
4730
4684
4731
4685
4732
4686
4733
4687
4734
4688
4735
4689
4736
4690
4737
4691
4738
4692
4739
4693
4740
4694
4741
4695
4742
4696
4743
4697
4744
4698
4745
4699
4746
4700
4747
4701
4748
4702
4749
4703
4750
4751
4705
4752
4706
4753
4707
4754
4708
4755
4709
4756
4710
4757
4711
4758
4712
4759
4713
4760
4714
4761
4715
4762
4716
4763
4717
4764
4718
4765
4719
4766
4720
4767
4721
4768
4722
4769
4723
4770
4724
4771
4725
4772
4726
4773
4727
4774
4728
4775
4729
4776
4730
4777
4731
4778
4732
4779
4733
4780
4734
4781
4735
4782
4736
4783
4737
4784
4738
4785
4739
4786
4740
4787
4741
4788
4742
4789
4743
4790
4744
4791
4745
4792
4746
4793
4747
4794
4748
4795
4749
4796
4750
4797
4751
4798
4799
4753
4800
4754
4801
4755
4802
4756
4803
4757
4804
4758
4805
4759
4806
4760
4807
4761
4808
4762
4809
4763
4810
4764
4811
4765
4812
4766
4813
4767
4814
4768
4815
4769
4816
4770
4817
4771
4818
4772
4819
4773
4820
4774
4821
4775
4822
4776
4823
4777
4824
4778
4825
4779
4826
4780
4827
4781
4828
4782
4829
4783
4830
4784
4831
4785
4832
4786
4833
4787
4834
4788
4835
4789
4836
4790
4837
4791
4838
4792
4839
4793
4840
4794
4841
4795
4842
4796
4843
4797
4844
4798
4845
4799
4846
4847
4801
4848
4802
4849
4803
4850
4804
4851
4805
4852
4806
4853
4807
4854
4808
4855
4809
4856
4810
4857
4811
4858
4812
4859
4813
4860
4814
4861
4815
4862
4816
4863
4817
4864
4818
4865
4819
4866
4820
4867
4821
4868
4822
4869
4823
4870
4824
4871
4825
4872
4826
4873
4827
4874
4828
4875
4829
4876
4830
4877
4831
4878
4832
4879
4833
4880
4834
4881
4835
4882
4836
4883
4837
4884
4838
4885
4839
4886
4840
4887
4841
4888
4842
4889
4843
4890
4844
4891
4845
4892
4846
4893
4847
4894
4895
4849
4896
4850
4897
4851
4898
4852
4899
4853
4900
4854
4901
4855
4902
4856
4903
4857
4904
4858
4905
4859
4906
4860
4907
4861
4908
4862
4909
4863
4910
4864
4911
4865
4912
4866
4913
4867
4914
4868
4915
4869
4916
4870
4917
4871
4918
4872
4919
4873
4920
4874
4921
4875
4922
4876
4923
4877
4924
4878
4925
4879
4926
4880
4927
4881
4928
4882
4929
4883
4930
4884
4931
4885
4932
4886
4933
4887
4934
4888
4935
4889
4936
4890
4937
4891
4938
4892
4939
4893
4940
4894
4941
4895
4942
4943
4897
4944
4898
4945
4899
4946
4900
4947
4901
4948
4902
4949
4903
4950
4904
4951
4905
4952
4906
4953
4907
4954
4908
4955
4909
4956
4910
4957
4911
4958
4912
4959
4913
4960
4914
4961
4915
4962
4916
4963
4917
4964
4918
4965
4919
4966
4920
4967
4921
4968
4922
4969
4923
4970
4924
4971
4925
4972
4926
4973
4927
4974
4928
4975
4929
4976
4930
4977
4931
4978
4932
4979
4933
4980
4934
4981
4935
4982
4936
4983
4937
4984
4938
4985
4939
4986
4940
4987
4941
4988
4942
4989
4943
4990
4991
4945
4992
4946
4993
4947
4994
4948
4995
4949
4996
4950
4997
4951
4998
4952
4999
4953
5000
4954
5001
4955
5002
4956
5003
4957
5004
4958
5005
4959
5006
4960
5007
4961
5008
4962
5009
4963
5010
4964
5011
4965
5012
4966
5013
4967
5014
4968
5015
4969
5016
4970
5017
4971
5018
4972
5019
4973
5020
4974
5021
4975
5022
4976
5023
4977
5024
4978
5025
4979
5026
4980
5027
4981
5028
4982
5029
4983
5030
4984
5031
4985
5032
4986
5033
4987
5034
4988
5035
4989
5036
4990
5037
4991
5038
5039
4993
5040
4994
5041
4995
5042
4996
5043
4997
5044
4998
5045
4999
5046
5000
5047
5001
5048
5002
5049
5003
5050
5004
5051
5005
5052
5006
5053
5007
5054
5008
5055
5009
5056
5010
5057
5011
5058
5012
5059
5013
5060
5014
5061
5015
5062
5016
5063
5017
5064
5018
5065
5019
5066
5020
5067
5021
5068
5022
5069
5023
5070
5024
5071
5025
5072
5026
5073
5027
5074
5028
5075
5029
5076
5030
5077
5031
5078
5032
5079
5033
5080
5034
5081
5035
5082
5036
5083
5037
5084
5038
5085
5039
5086
5087
5041
5088
5042
5089
5043
5090
5044
5091
5045
5092
5046
5093
5047
5094
5048
5095
5049
5096
5050
5097
5051
5098
5052
5099
5053
5100
5054
5101
5055
5102
5056
5103
5057
5104
5058
5105
5059
5106
5060
5107
5061
5108
5062
5109
5063
5110
5064
5111
5065
5112
5066
5113
5067
5114
5068
5115
5069
5116
5070
5117
5071
5118
5072
5119
5073
5120
5074
5121
5075
5122
5076
5123
5077
5124
5078
5125
5079
5126
5080
5127
5081
5128
5082
5129
5083
5130
5084
5131
5085
5132
5086
5133
5087
5134
5135
5089
5136
5090
5137
5091
5138
5092
5139
5093
5140
5094
5141
5095
5142
5096
5143
5097
5144
5098
5145
5099
5146
5100
5147
5101
5148
5102
5149
5103
5150
5104
5151
5105
5152
5106
5153
5107
5154
5108
5155
5109
5156
5110
5157
5111
5158
5112
5159
5113
5160
5114
5161
5115
5162
5116
5163
5117
5164
5118
5165
5119
5166
5120
5167
5121
5168
5122
5169
5123
5170
5124
5171
5125
5172
5126
5173
5127
5174
5128
5175
5129
5176
5130
5177
5131
5178
5132
5179
5133
5180
5134
5181
5135
5182
5183
5137
5184
5138
5185
5139
5186
5140
5187
5141
5188
5142
5189
5143
5190
5144
5191
5145
5192
5146
5193
5147
5194
5148
5195
5149
5196
5150
5197
5151
5198
5152
5199
5153
5200
5154
5201
5155
5202
5156
5203
5157
5204
5158
5205
5159
5206
5160
5207
5161
5208
5162
5209
5163
5210
5164
5211
5165
5212
5166
5213
5167
5214
5168
5215
5169
5216
5170
5217
5171
5218
5172
5219
5173
5220
5174
5221
5175
5222
5176
5223
5177
5224
5178
5225
5179
5226
5180
5227
5181
5228
5182
5229
5183
5230
5231
5185
5232
5186
5233
5187
5234
5188
5235
5189
5236
5190
5237
5191
5238
5192
5239
5193
5240
5194
5241
5195
5242
5196
5243
5197
5244
5198
5245
5199
5246
5200
5247
5201
5248
5202
5249
5203
5250
5204
5251
5205
5252
5206
5253
5207
5254
5208
5255
5209
5256
5210
5257
5211
5258
5212
5259
5213
5260
5214
5261
5215
5262
5216
5263
5217
5264
5218
5265
5219
5266
5220
5267
5221
5268
5222
5269
5223
5270
5224
5271
5225
5272
5226
5273
5227
5274
5228
5275
5229
5276
5230
5277
5231
5278
5279
5233
5280
5234
5281
5235
5282
5236
5283
5237
5284
5238
5285
5239
5286
5240
5287
5241
5288
5242
5289
5243
5290
5244
5291
5245
5292
5246
5293
5247
5294
5248
5295
5249
5296
5250
5297
5251
5298
5252
5299
5253
5300
5254
5301
5255
5302
5256
5303
5257
5304
5258
5305
5259
5306
5260
5307
5261
5308
5262
5309
5263
5310
5264
5311
5265
5312
5266
5313
5267
5314
5268
5315
5269
5316
5270
5317
5271
5318
5272
5319
5273
5320
5274
5321
5275
5322
5276
5323
5277
5324
5278
5325
5279
5326
5327
5281
5328
5282
5329
5283
5330
5284
5331
5285
5332
5286
5333
5287
5334
5288
5335
5289
5336
5290
5337
5291
5338
5292
5339
5293
5340
5294
5341
5295
5342
5296
5343
5297
5344
5298
5345
5299
5346
5300
5347
5301
5348
5302
5349
5303
5350
5304
5351
5305
5352
5306
5353
5307
5354
5308
5355
5309
5356
5310
5357
5311
5358
5312
5359
5313
5360
5314
5361
5315
5362
5316
5363
5317
5364
5318
5365
5319
5366
5320
5367
5321
5368
5322
5369
5323
5370
5324
5371
5325
5372
5326
5373
5327
5374
5375
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
)
// ************************************************************************* //