0 1 2 2 3 0 4 5 6 6 7 4 8 9 10 10 11 8 12 13 14 14 15 12 16 17 18 18 19 16 20 21 22 22 23 20 24 25 26 24 26 27 24 27 28 29 30 31 29 31 32 29 32 33 34 35 36 36 37 34 38 39 40 38 40 41 38 41 42 43 44 45 45 46 43 47 48 49 47 49 50 47 50 51 52 53 54 54 55 52 56 57 58 58 59 56 60 61 62 62 63 60 64 65 66 66 67 64 68 69 70 70 71 68 72 73 74 74 75 72 76 77 78 78 79 76 80 81 82 82 83 80 84 85 86 86 87 84 88 89 90 90 91 88 92 93 94 94 95 92 96 97 98 98 99 96 100 101 102 102 103 100 104 105 106 106 107 104 108 109 110 110 111 108 112 113 114 114 115 112 116 117 118 118 119 116 120 121 122 122 123 120 124 125 126 126 127 124 128 129 130 130 131 128 132 133 134 134 135 132 136 137 138 138 139 136 140 141 142 142 143 140 144 145 146 146 147 144 148 149 150 150 151 148 152 153 154 154 155 152 156 157 158 158 159 156 160 161 162 162 163 160 164 165 166 166 167 164 168 169 170 170 171 168 172 173 174 174 175 172 176 177 178 178 179 176 180 181 182 182 183 180 184 185 186 186 187 184 188 189 190 190 191 188 192 193 194 194 195 192 196 197 198 196 198 199 196 199 200 201 202 203 203 204 201 205 206 207 205 207 208 205 208 209 210 211 212 210 212 213 210 213 214 215 216 217 217 218 215 219 220 221 219 221 222 219 222 223 224 225 226 226 227 224 228 229 230 230 231 228 232 233 234 234 235 232 236 237 238 238 239 236 240 241 242 242 243 240 244 245 246 246 247 244 248 249 250 250 251 248 252 253 254 254 255 252 256 257 258 258 259 256 260 261 262 262 263 260 264 265 266 266 267 264 268 269 270 270 271 268 272 273 274 274 275 272 276 277 278 278 279 276 280 281 282 282 283 280 284 285 286 286 287 284 288 289 290 290 291 288 292 293 294 294 295 292 296 297 298 298 299 296 300 301 302 302 303 300 304 305 306 306 307 304 308 309 310 310 311 308 312 313 314 314 315 312 316 317 318 318 319 316 320 321 322 322 323 320 324 325 326 326 327 324 328 329 330 330 331 328 332 333 334 334 335 332 336 337 338 338 339 336 340 341 342 342 343 340 344 345 346 346 347 344 348 349 350 350 351 348 352 353 354 354 355 352 356 357 358 358 359 356 360 361 362 362 363 360 364 365 366 366 367 364 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 454 455 452 456 457 458 458 459 456 460 461 462 462 463 460 464 465 466 466 467 464 465 464 468 468 469 465 470 471 453 453 452 470 472 473 455 455 454 472 474 475 476 476 477 474 459 458 477 477 476 459 478 479 480 480 481 478 482 483 484 484 485 482 486 487 488 488 489 486 489 488 490 490 491 489 479 478 492 492 493 479 494 495 481 481 480 494 496 497 498 498 499 496 485 484 499 499 498 485 500 501 502 502 503 500 504 501 500 500 505 504 506 507 508 508 509 506 510 511 512 512 513 510 514 515 516 516 517 514 518 519 520 520 521 518 522 523 524 524 525 522 526 527 528 528 529 526 530 531 532 530 532 533 530 533 534 535 536 537 535 537 538 535 538 539 540 541 542 542 543 540 544 545 546 544 546 547 544 547 548 549 550 551 551 552 549 553 554 555 553 555 556 553 556 557 558 559 560 560 561 558 562 563 564 564 565 562 566 567 568 568 569 566 570 571 572 572 573 570 574 575 576 576 577 574 578 579 580 580 581 578 582 583 584 584 585 582 586 587 588 588 589 586 590 591 592 592 593 590 594 595 596 596 597 594 598 599 600 600 601 598 602 603 604 604 605 602 606 607 608 608 609 606 610 611 612 612 613 610 614 615 616 616 617 614 618 619 620 620 621 618 622 623 624 624 625 622 626 627 628 628 629 626 630 631 632 632 633 630 634 635 636 636 637 634 638 639 640 640 641 638 642 643 644 644 645 642 646 647 648 648 649 646 650 651 652 652 653 650 654 655 656 656 657 654 658 659 660 660 661 658 662 663 664 664 665 662 666 667 668 668 669 666 670 671 672 672 673 670 674 675 676 676 677 674 678 679 680 680 681 678 682 683 684 684 685 682 686 687 688 688 689 686 690 691 692 692 693 690 694 695 696 696 697 694 698 699 700 700 701 698 702 703 704 702 704 705 702 705 706 707 708 709 709 710 707 711 712 713 711 713 714 711 714 715 716 717 718 716 718 719 716 719 720 721 722 723 723 724 721 725 726 727 725 727 728 725 728 729 730 731 732 732 733 730 734 735 736 736 737 734 738 739 740 740 741 738 742 743 744 744 745 742 746 747 748 748 749 746 750 751 752 752 753 750 754 755 756 756 757 754 758 759 760 760 761 758 762 763 764 764 765 762 766 767 768 768 769 766 770 771 772 772 773 770 774 775 776 776 777 774 778 779 780 780 781 778 782 783 784 784 785 782 786 787 788 788 789 786 790 791 792 792 793 790 794 795 796 796 797 794 798 799 800 800 801 798 802 803 804 804 805 802 806 807 808 808 809 806 810 811 812 812 813 810 814 815 816 816 817 814 818 819 820 820 821 818 822 823 824 824 825 822 826 827 828 828 829 826 830 831 832 832 833 830 834 835 836 836 837 834 838 839 840 840 841 838 842 843 844 844 845 842 846 847 848 848 849 846 850 851 852 852 853 850 854 855 856 856 857 854 858 859 860 860 861 858 862 863 864 864 865 862 866 867 868 868 869 866 870 871 872 872 873 870 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 960 961 958 962 963 964 964 965 962 966 967 968 967 966 969 970 971 972 972 973 970 973 974 975 975 970 973 976 958 961 961 977 976 978 960 959 959 979 978 980 981 982 982 983 980 963 982 981 981 964 963 984 985 986 986 987 984 988 989 990 990 991 988 992 993 994 994 995 992 993 996 997 997 994 993 987 998 999 999 984 987 1000 986 985 985 1001 1000 1002 1003 1004 1004 1005 1002 989 1004 1003 1003 990 989 1006 1007 1008 1008 1009 1006 1010 1011 1006 1006 1009 1010 1012 1013 1014 1014 1015 1012 1016 1017 1018 1018 1019 1016 1020 1021 1022 1022 1023 1020 1024 1025 1026 1026 1027 1024 1028 1029 1030 1030 1031 1028 1032 1033 1034 1034 1035 1032 1036 1037 1038 1038 1039 1036 1040 1041 1042 1042 1043 1040 1044 1045 1046 1046 1047 1044 1048 1049 1050 1050 1051 1048 1052 1053 1054 1054 1055 1052 1056 1057 1058 1058 1059 1056 1060 1061 1062 1062 1063 1060 1064 1065 1066 1066 1067 1064 1068 1069 1070 1070 1071 1068 1072 1073 1074 1074 1075 1072 1076 1077 1078 1078 1079 1076 1080 1081 1082 1082 1083 1080 1084 1085 1086 1086 1087 1084 1088 1089 1090 1090 1091 1088 1092 1093 1094 1094 1095 1092 1096 1097 1098 1098 1099 1096 1100 1101 1102 1102 1103 1100 1104 1105 1106 1106 1107 1104 1108 1109 1110 1110 1111 1108 1112 1113 1114 1114 1115 1112 1116 1117 1118 1118 1119 1116 1120 1121 1122 1122 1123 1120 1124 1125 1126 1126 1127 1124 1128 1129 1130 1130 1131 1128 1132 1133 1134 1134 1135 1132 1136 1137 1138 1138 1139 1136 1140 1141 1142 1142 1143 1140 1144 1145 1146 1146 1147 1144 1148 1149 1150 1150 1151 1148 1152 1153 1154 1154 1155 1152 1156 1157 1158 1158 1159 1156 1160 1161 1162 1162 1163 1160 1164 1165 1166 1166 1167 1164 1168 1169 1170 1170 1171 1168 1172 1173 1174 1174 1175 1172 1176 1177 1178 1178 1179 1176 1180 1181 1182 1182 1183 1180 1184 1185 1186 1186 1187 1184 1188 1189 1190 1190 1191 1188 1192 1193 1194 1194 1195 1192 1196 1197 1198 1198 1199 1196 1200 1201 1202 1202 1203 1200 1204 1205 1202 1202 1201 1204 1206 1207 1208 1208 1209 1206 1210 1211 1212 1212 1213 1210 1214 1215 1216 1216 1217 1214 1218 1219 1216 1216 1215 1218 1220 1221 1205 1205 1204 1220 1222 1223 1219 1219 1218 1222 1224 1225 1226 1226 1227 1224 1228 1229 1230 1230 1231 1228 1232 1233 1234 1234 1235 1232 1236 1237 1238 1238 1239 1236 1240 1241 1242 1242 1243 1240 1244 1245 1246 1246 1247 1244 1248 1244 1247 1247 1249 1248 1250 1251 1252 1252 1253 1250 1254 1250 1253 1253 1255 1254 1237 1256 1257 1257 1238 1237 1258 1259 1260 1260 1261 1258 1262 1263 1264 1264 1265 1262 1266 1267 1268 1268 1269 1266 1270 1271 1272 1272 1273 1270 1274 1275 1276 1276 1277 1274 1278 1274 1277 1277 1279 1278 1280 1281 1282 1282 1283 1280 1284 1280 1283 1283 1285 1284 1267 1286 1287 1287 1268 1267 1288 1289 1290 1290 1291 1288 1292 1293 1294 1294 1295 1292 1296 1297 1298 1298 1299 1296 1300 1301 1302 1302 1303 1300 1304 1305 1306 1306 1307 1304 1308 1309 1310 1310 1311 1308 1312 1308 1311 1311 1313 1312 1314 1315 1316 1316 1317 1314 1318 1314 1317 1317 1319 1318 1301 1320 1321 1321 1302 1301 1322 1323 1324 1324 1325 1322 1326 1327 1328 1328 1329 1326 1330 1331 1332 1332 1333 1330 1334 1335 1336 1336 1337 1334 1338 1339 1340 1340 1341 1338 1342 1338 1341 1341 1343 1342 1344 1345 1346 1346 1347 1344 1348 1344 1347 1347 1349 1348 1331 1350 1351 1351 1332 1331 1352 1353 1354 1354 1355 1352 1356 1357 1358 1358 1359 1356 1360 1361 1362 1362 1363 1360 1364 1365 1366 1366 1367 1364 1368 1369 1370 1370 1371 1368 1372 1373 1374 1374 1375 1372 1376 1377 1378 1378 1379 1376 1380 1376 1379 1379 1381 1380 1382 1383 1384 1384 1385 1382 1386 1382 1385 1385 1387 1386 1369 1388 1389 1389 1370 1369 1390 1391 1392 1392 1393 1390 1394 1395 1396 1396 1397 1394 1398 1399 1400 1400 1401 1398 1402 1403 1404 1404 1405 1402 1406 1407 1408 1408 1409 1406 1410 1411 1412 1412 1413 1410 1414 1415 1416 1416 1417 1414 1418 1414 1417 1417 1419 1418 1420 1421 1422 1422 1423 1420 1424 1420 1423 1423 1425 1424 1407 1426 1427 1427 1408 1407 1428 1429 1430 1430 1431 1428 1432 1433 1434 1434 1435 1432 1436 1437 1438 1438 1439 1436 1440 1441 1442 1442 1443 1440 1444 1445 1446 1446 1447 1444 1448 1449 1450 1450 1451 1448 1452 1448 1451 1451 1453 1452 1454 1455 1456 1456 1457 1454 1458 1454 1457 1457 1459 1458 1441 1460 1461 1461 1442 1441 1462 1463 1464 1464 1465 1462 1466 1467 1468 1468 1469 1466 1470 1471 1472 1472 1473 1470 1474 1475 1476 1476 1477 1474 1478 1479 1480 1480 1481 1478 1482 1478 1481 1481 1483 1482 1484 1485 1486 1486 1487 1484 1488 1484 1487 1487 1489 1488 1471 1490 1491 1491 1472 1471 1492 1493 1494 1494 1495 1492 1496 1497 1498 1498 1499 1496 1500 1501 1502 1502 1503 1500 1504 1505 1506 1506 1507 1504 1508 1509 1510 1510 1511 1508 1512 1508 1511 1511 1513 1512 1514 1515 1516 1516 1517 1514 1518 1514 1517 1517 1519 1518 1501 1520 1521 1521 1502 1501 1522 1523 1524 1524 1525 1522 1526 1527 1528 1528 1529 1526 1530 1531 1532 1532 1533 1530 1534 1535 1536 1536 1537 1534 1538 1539 1540 1540 1541 1538 1542 1543 1544 1544 1545 1542 1546 1547 1548 1548 1549 1546 1550 1546 1549 1549 1551 1550 1552 1553 1554 1554 1555 1552 1556 1552 1555 1555 1557 1556 1539 1558 1559 1559 1540 1539 1560 1561 1562 1562 1563 1560 1564 1565 1566 1566 1567 1564 1568 1569 1570 1570 1571 1568 1572 1573 1574 1574 1575 1572 1576 1577 1578 1578 1579 1576 1580 1581 1582 1582 1583 1580 1584 1585 1586 1586 1587 1584 1588 1584 1587 1587 1589 1588 1590 1591 1592 1592 1593 1590 1594 1590 1593 1593 1595 1594 1577 1596 1597 1597 1578 1577 1598 1599 1600 1600 1601 1598 1602 1603 1604 1605 1606 1607 1607 1608 1605 1609 1610 1611 1611 1612 1609 1613 1614 1615 1616 1617 1618 1618 1619 1616 1620 1621 1622 1622 1623 1620 1624 1625 1626 1626 1627 1624 1628 1629 1630 1630 1631 1628 1632 1633 1634 1632 1634 1635 1635 1636 1637 1632 1635 1637 1638 1639 1640 1640 1641 1638 1631 1630 1642 1642 1643 1631 1644 1645 1639 1639 1638 1644 1646 1647 1648 1648 1649 1646 1650 1651 1652 1652 1653 1650 1654 1655 1656 1656 1657 1654 1658 1659 1660 1660 1661 1658 1662 1663 1664 1664 1665 1662 1666 1667 1668 1668 1669 1666 1670 1671 1672 1672 1673 1670 1674 1675 1676 1676 1677 1674 1678 1679 1680 1680 1681 1678 1682 1683 1684 1685 1686 1687 1684 1685 1687 1682 1684 1687 1688 1689 1690 1690 1691 1688 1692 1693 1694 1694 1695 1692 1696 1697 1698 1699 1700 1701 1701 1702 1699 1703 1704 1705 1705 1706 1703 1707 1708 1709 1710 1711 1712 1712 1713 1710 1714 1715 1716 1716 1717 1714 1718 1719 1720 1720 1721 1718 1722 1723 1724 1724 1725 1722 1726 1727 1728 1726 1728 1729 1729 1730 1731 1726 1729 1731 1732 1733 1734 1734 1735 1732 1725 1724 1736 1736 1737 1725 1738 1739 1733 1733 1732 1738 1740 1741 1742 1742 1743 1740 1744 1745 1746 1746 1747 1744 1748 1749 1750 1750 1751 1748 1752 1753 1754 1754 1755 1752 1756 1757 1758 1758 1759 1756 1760 1761 1762 1762 1763 1760 1764 1765 1766 1766 1767 1764 1768 1769 1770 1770 1771 1768 1772 1773 1774 1774 1775 1772 1776 1777 1778 1779 1780 1781 1778 1779 1781 1776 1778 1781 1782 1783 1784 1784 1785 1782 1786 1787 1788 1788 1789 1786 1790 1791 1792 1792 1793 1790 1794 1795 1796 1796 1797 1794 1798 1799 1800 1800 1801 1798 1802 1803 1804 1804 1805 1802 1806 1802 1805 1805 1807 1806 1808 1809 1810 1810 1811 1808 1812 1808 1811 1811 1813 1812 1814 1812 1813 1813 1815 1814 1803 1814 1815 1815 1804 1803 1816 1817 1803 1803 1802 1816 1818 1816 1802 1802 1806 1818 1819 1820 1809 1809 1808 1819 1821 1819 1808 1808 1812 1821 1822 1821 1812 1812 1814 1822 1817 1822 1814 1814 1803 1817 1823 1824 1817 1817 1816 1823 1825 1823 1816 1816 1818 1825 1826 1827 1820 1820 1819 1826 1828 1826 1819 1819 1821 1828 1829 1828 1821 1821 1822 1829 1824 1829 1822 1822 1817 1824 1830 1831 1832 1831 1833 1832 1834 1835 1832 1832 1836 1830 1833 1834 1832 1832 1835 1836 1837 1838 1839 1839 1840 1837 1841 1837 1840 1840 1842 1841 1843 1844 1845 1845 1846 1843 1847 1843 1846 1846 1848 1847 1849 1847 1848 1848 1850 1849 1838 1849 1850 1850 1839 1838 1851 1852 1838 1838 1837 1851 1853 1851 1837 1837 1841 1853 1854 1855 1844 1844 1843 1854 1856 1854 1843 1843 1847 1856 1857 1856 1847 1847 1849 1857 1852 1857 1849 1849 1838 1852 1858 1859 1860 1860 1861 1858 1862 1858 1861 1861 1863 1862 1864 1862 1863 1863 1865 1864 1866 1864 1865 1865 1867 1866 1868 1866 1867 1867 1869 1868 1859 1868 1869 1869 1860 1859 1870 1871 1872 1871 1873 1872 1874 1875 1872 1872 1876 1870 1873 1874 1872 1872 1875 1876 1877 1878 1879 1879 1880 1877 1881 1882 1883 1883 1884 1881 1885 1886 1887 1887 1888 1885 1889 1885 1888 1888 1890 1889 1891 1889 1890 1890 1892 1891 1878 1891 1892 1892 1879 1878 1893 1894 1878 1878 1877 1893 1895 1893 1877 1877 1896 1895 1897 1898 1886 1886 1885 1897 1899 1897 1885 1885 1889 1899 1900 1899 1889 1889 1891 1900 1894 1900 1891 1891 1878 1894 1901 1902 1894 1894 1893 1901 1903 1901 1893 1893 1895 1903 1904 1905 1898 1898 1897 1904 1906 1904 1897 1897 1899 1906 1907 1906 1899 1899 1900 1907 1902 1907 1900 1900 1894 1902 1908 1909 1910 1909 1911 1910 1912 1913 1910 1910 1914 1908 1911 1912 1910 1910 1913 1914 1915 1916 1917 1917 1918 1915 1919 1915 1918 1918 1920 1919 1921 1922 1923 1923 1924 1921 1925 1921 1924 1924 1926 1925 1927 1925 1926 1926 1928 1927 1916 1927 1928 1928 1917 1916 1929 1930 1916 1916 1915 1929 1931 1929 1915 1915 1919 1931 1932 1933 1922 1922 1921 1932 1934 1932 1921 1921 1925 1934 1935 1934 1925 1925 1927 1935 1930 1935 1927 1927 1916 1930 1936 1937 1930 1930 1929 1936 1938 1936 1929 1929 1931 1938 1939 1940 1933 1933 1932 1939 1941 1939 1932 1932 1934 1941 1942 1941 1934 1934 1935 1942 1937 1942 1935 1935 1930 1937 1943 1944 1945 1944 1946 1945 1947 1948 1945 1945 1949 1943 1946 1947 1945 1945 1948 1949