unique

JavaScript performance comparison

Revision 11 of this test case created by Andrea Giammarchi

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  const a = [472,2396,2009,611,1594,604,1257,1935,497,437,1434,2241,1898,24,19,1809,1072,2407,221,2204,1259,587,254,2457,2383,1114,1335,599,1259,1677,2144,448,2165,1674,2249,1258,1571,1110,1367,2174,2438,229,2174,2278,1635,596,1206,844,1969,1878,1160,2200,1696,622,1416,228,1286,324,2063,638,1752,1797,1251,58,984,2492,1943,1011,140,1817,1249,778,1082,1113,489,769,852,1821,2250,201,1877,709,294,1791,1653,2394,1608,2418,1535,1046,1243,2112,1826,1145,375,1645,194,387,1201,1970,563,504,682,1785,2125,122,1013,254,2086,944,2281,969,1344,470,2288,662,518,2268,1108,965,438,2308,2183,802,183,1097,2221,135,865,555,1142,572,1516,2349,480,434,1550,155,726,1578,82,453,1240,1027,183,1882,1713,1303,1249,2113,54,615,1561,1349,85,608,2256,1364,2174,192,1886,1382,1663,569,611,420,882,1730,1082,2120,675,1900,853,1572,62,871,2061,1088,640,1302,1074,297,1386,843,300,1176,949,419,791,604,2320,2245,1838,1002,1473,1635,2301,2348,251,1124,2122,202,2428,2004,260,769,612,1136,1252,122,1483,2146,1743,2130,1740,2300,930,2023,1704,2123,2082,2085,2111,806,1310,764,1676,647,911,1518,16,1339,817,2458,508,310,573,27,1492,1119,1803,328,1864,670,2178,85,1741,991,730,696,713,1235,2110,143,1219,2310,1185,2484,999,511,908,1822,989,545,378,1769,2260,247,517,1371,876,2078,1967,750,2253,2282,2013,2161,2350,409,673,1249,475,2490,2298,948,1137,702,612,1447,765,2024,1132,424,1812,840,2247,337,1321,941,780,2224,347,2226,852,2434,1331,1212,100,2290,522,1072,263,1629,1141,1971,822,1868,573,2233,1194,2254,1245,1778,1756,1634,2140,146,1680,1213,1472,1623,288,1693,195,2139,723,881,306,328,1630,1632,1584,44,410,302,84,1588,216,2169,1939,54,1992,31,101,108,345,1962,1665,102,675,1188,1610,1132,191,1152,530,856,522,1887,541,724,1990,2057,2186,1113,876,2222,1265,967,1596,481,1494,1294,1452,1216,1944,143,495,1813,2046,1611,478,183,2308,1233,2284,1173,2194,1115,1417,2251,1099,1005,460,1607,2091,184,296,783,990,226,1555,2069,858,548,144,596,1061,1446,1905,987,2485,190,1223,1163,611,2460,873,1771,2198,599,496,2477,154,2029,1180,1029,2156,216,832,963,1218,218,1427,1678,854,152,1470,1145,1141,2425,1862,1131,493,1327,1731,338,599,1786,1498,2128,1446,2457,85,1885,188,1904,1802,2110,884,1457,1227,155,219,1096,2053,1254,65,1431,109,1826,1519,409,719,1377,989,1351,321,982,1237,2019,620,1193,722,288,1808,1535,2059,780,163,637,2464,482,807,144,1490,2234,898,278,2315,2201,1782,449,205,2412,388,1752,1085,2027,621,64,1188,2127,243,1516,388,1015,598,1131,428,662,684,673,1628,1535,1556,835,329,1780,1797,905,1695,666,956,2474,764,1003,1796,1023,2086,797,1019,1081,989,1286,1472,1344,1720,732,1223,2438,1124,218,708,30,661,31,254,662,48,1932,2389,2377,568,1788,747,1041,45,2219,1912,1791,657,2140,8,1683,1495,2499,419,1919,118,2005,196,586,1824,871,1029,1084,1007,1094,1842,277,1892,575,1835,260,1968,1437,633,1075,401,2318,1117,1059,1505,1657,815,2294,1838,1252,1514,1099,738,814,342,354,1510,1988,1071,477,1492,945,1470,1406,1829,1720,299,1676,1666,2305,709,1823,1170,2349,316,1331,191,1922,1608,2222,1766,2215,1216,2091,1773,408,1053,1030,1494,235,724,769,1733,56,723,869,2254,501,992,178,1838,1572,1479,205,2056,1096,1337,510,344,2004,1260,251,2319,530,2156,450,2031,1842,2363,667,727,1255,1217,191,1615,291,1672,1706,2013,529,2235,2237,1886,1490,2319,1950,2305,446,1517,895,344,1228,2192,1161,1062,121,452,732,2230,124,1205,25,1055,1951,229,506,54,498,1761,2029,628,1048,2222,1115,1776,2489,1231,901,1632,853,2052,1732,1323,1096,56,689,889,1135,1771,2039,1755,1082,2176,2325,988,982,255,2442,283,1958,1902,1970,112,230,767,39,463,1460,59,2027,845,1638,136,673,2206,914,1545,1394,1474,159,1781,223,1942,2441,2499,1839,163,1874,1032,2174,1800,183,1081,1147,450,1325,1130,1156,1280,2043,875,1509,2059,666,1067,1937,1318,237,56,1393,867,1542,1126,1232,1201,156,1359,855,1334,2,1968,389,2379,2039,897,1675,1279,1361,2146,966,2397,2183,2400,2456,146,2196,619,909,2370,993,402,916,1844,590,858,1673,286,2415,724,1980,453,2060,981,1766,1133,2127,1429,2281,2403,120,820,559,339,422,244,2274,1063,2446,2236,2045,2142,1329,2106,940,1056,582,586,1456,1120,2071,1339,658,1722,2221,2061,1094,402,2121,718,2259,1267,1135,2153,1198,212,1686,2211,402,1722,2170,1665,1087,236,1254,2322,1407,2472,351,1837,1084,1077,388,2204,1990,1629,744,1768,742,1899,1649,326,1774,479,85,2355,304,59,1739,1933,2194,1320,327,1035,436,930,669,364,1873,1049,868,538,1416,2199,1155,366,803,980,1489,1159,2408,693,1790,1489,1571,852,526,263,793,1146,1768,1571,2419,376,1345,2442,1235,70,66,609,1148,460,1467,1334,986,1514,2195,642,800,424,1073,604,1539,1643,2362,2424,1094,2364,1693,111,236,1026,2287,2420,1706,760,845,945,1225,2119,816,869,119,335,1551,731,190,1511,1599,16,1739,208,867,2480,2461,286,550,655,2449,1616,1364,1951,28,1292,953,475,1452,1114,364,415,2245,1597,1109,810,855,617,2209,1096,572,1664,2087,1904,933,1851,923,1983,551,1179,769,689,1052,560,1686,2357,167,506,197,1306,2176,842,2418,1173,1582,52,473,1721,638,428,1208,2401,986,1200,188,191,1972,1086,328,199,2137,1516,890,260,476,1126,1814,1717,569,1324,670,1175,624,705,285,2168,227,1391,1644,136,1026,1015,2433,1592,1954,2469,1786,325,1893,1739,2019,813,396,1286,2392,1455,2345,2478,428,1134,1055,2169,726,2044,2193,1325,1190,1658,1660,702,1820,443,769,635,1854,1987,1945,1438,640,49,1293,2073,2301,1868,954,1835,2441,1049,1968,1090,1502,335,488,1634,256,405,903,997,1129,420,2297,1486,1465,544,1340,1940,1849,1017,59,544,342,1005,756,2341,768,365,1107,2195,2127,820,1754,381,331,298,862,2260,1663,1642,2305,2397,968,2041,1999,1733,306,1412,995,903,112,1218,1908,1623,1890,1359,415,1032,1441,2121,88,1805,1083,635,636,1633,66,1159,1369,942,1935,46,397,898,1406,2359,1215,2393,897,2472,875,1284,99,1980,1906,1772,1056,307,1662,1316,892,996,687,1344,850,1332,2286,852,611,1195,2464,27,1276,174,912,459,2364,192,1983,650,2299,1785,1387,2100,2409,87,714,686,1259,113,1302,1551,1960,396,62,392,76,1143,747,1417,202,685,5,224,649,2147,647,973,268,2480,1379,453,82,1811,173,2401,2234,1997,1988,11,1771,442,2319,2485,2010,785,1648,73,1773,1768,1585,245,1881,1018,1431,2394,716,241,1200,115,1025,1408,1072,1591,1122,2160,821,729,2256,528,508,1359,2299,2247,1047,1882,1929,553,2399,826,2437,21,41,1625,1377,2103,3,2414,1449,2441,2234,1994,1065,1669,783,1572,598,829,32,1742,973,710,1030,963,1997,1213,2356,1425,1259,998,1234,479,1202,543,316,2166,47,2223,2370,2081,2004,1743,2130,772,1497,1619,2474,2068,2226,1812,437,1885,1597,391,636,775,2076,1044,1669,2127,2459,2049,1560,538,1597,1804,77,2293,1271,1513,1220,389,2284,297,1277,1143,2317,1926,1864,2460,2300,1767,1080,1403,1458,1523,295,46,1255,2009,87,2022,1070,284,2447,386,2090,1633,2129,129,562,1599,1264,1556,1552,193,1455,2214,2487,1578,2202,1756,2340,1036,1046,199,782,452,289,481,1259,366,1497,2145,1602,568,1291,1420,1050,1553,2387,1022,1346,680,813,1487,2002,790,2056,159,2434,796,433,506,1993,1664,967,920,1077,2281,519,706,2118,2175,467,187,1185,895,224,1245,905,184,522,1317,78,1706,267,631,637,106,294,1712,1219,324,657,2146,184,1823,2239,916,725,1829,942,2192,342,1535,988,1992,478,577,1340,2387,1402,98,165,439,878,2293,823,1850,51,2032,249,1016,689,2232,619,1996,770,62,383,959,791,965,769,330,1005,2314,492,574,1803,2082,681,1075,1673,1594,1350,391,996,2362,2459,2439,151,1046,2319,77,1878,1425,5,1685,2122,336,264,2182,991,2261,855,1723,874,90,1813,261,972,1029,1788,1944,2436,408,1507,2352,1392,2212,423,581,826,1695,1348,2164,1244,1017,799,1929,997,2018,194,1961,828,1823,1832,1068,711,1156,1032,264,374,319,2269,842,1029,103,1450,338,1634,1485,819,1551,2408,279,148,1430,506,317,2093,1331,2015,423,737,1113,2037,938,2100,1197,2036,2344,766,739,2356,1530,1525,1563,174,500,1899,2345,370,1089,1659,1730,733,547,608,472,455,2113,521,1969,1182,375,120,1481,544,766,210,1690,2200,2264,202,174,167,2295,322,36,1178,1330,2270,537,1394,64,1786,2453,1393,1937,1040,2368,1990,2103,1462,1190,1396,529,2421,76,2295,566,2412,791,2127,1359,1187,84,1161,2159,1034,1642,2346,1577,642,1847,111,712,1879,239,1659,321,1039,1423,1982,1773,2057,148,878,937,2461,2171,297,1181,1078,1125,795,1683,1537,1951,1308,2389,964,1120,1358,907,1034,1213,1779,2056,1065,1705,1949,281,1610,947,1033,509,1475,2048,1816,912,1165,300,2046,517,690,117,1417,907,1914,1917,329,1264,389,2015,2123,2299,1644,1320,1839,1864,1069,182,719,1622,174,1575,1683,325,976,1059,1315,2045,1048,1737,1003,1243,909,139,274,2430,1399,1245,191,1522,1809,1173,233,788,2104,1958,2397,658,1573,691,1676,2089,1003,1344,396,1399,1318,1046,1001,1113,151,816,788,580,1839,298,1623,2149,1507,751,1384,116,2443,2355,1704,1668,1111,354,1100,2403,1707,320,589,570,1438,542,1178,1180,1580,386,749,1452,1222,443,1459,1097,312,718,732,1274,2395,1427,1947,1040,2422,200,1647,2117,249,1221,2376,126,655,1986,1016,587,811,1749,452,272,513,741,2147,2248,2474,392,642,1335,222,541,16,2097,1580,1815,466,970,1371,1840,1100,202,569,443,2099,877,229,2142,9,939,1480,164,28,1585,1626,1353,611,1915,708,180,1288,2280,968,1155,2167,1343,508,2266,2224,834,730,1580,1238,569,924,2013,1274,2205,2447,2342,1849,1100,2403,1477,2269,1547,1502,1013,599,1994,637,2460,725,963,1937,240,1382,1143,699,1757,811,2187,1921,561,87,923,1834,1590,1524,2181,366,2420,1502,889,2375,844,682,1848,920,1424,677,2271,1914,59,1154,1075,1296,809,2103,1292,403,1575,314,2201,854,1683,2491,436,2367,1786,395,1125,2070,2397,2305,862,1875,135,1526,807,100,1425,973,1686,484,542,1061,2090,151,1050,196,2363,970,541,2255,2155,1706,1228,1242,1291,1271,2205,2103,2133,1111,1779,2280,1000,521,2474,995,214,514,1516,2143,89,2094,679,192,720,1395,2010,895,925,37,2243,2188,2028,1582,2164,2123,1255,106,1152,1586,277,1066,2301,1907,1625,1535,1753,392,1147,126,693,567,1992,166,459,757,1570,1260,1140,1363,864,1860,1924,1407,1367,783,1134,19,1525,812,1940,2026,1814,365,1958,2445,1533,884,248,1189,213,1290,84,1294,1064,1031,1697,1442,528,1403,519,527,2304,1954,813,1218,1002,1638,1780,1627,788,1849,1458,1876,1385,2070,1569,2157,1644,826,620,77,383,1946,2350,1602,398,676,2435,2353,2284,1180,1012,714,2321,950,917,334,2256,140,1594,721,1031,1024,1484,1780,1029,1143,1462,1862,563,33,1877,1987,980,234,1773,1197,1663,1330,766,2214,1290,1304,2009,495,2111,1932,880,632,1786,1933,1711,1987,1313,2075,1119,1035,1066,2092,672,1663,1545,1381,373,697,316,21,223,1154,778,741,1758,1871,65,620,2219,996,1155,1791,2488,200,2308,2186,653,862,1721,620,676,1980,284,792,1517,1998,1106,10,92,235,1664,443,1131,844,720,1736,1412,110,995,982,1021,1536,415,2044,2448,2085,2355,1290,1803,2076,2150,392,2089,945,868,763,980,200,1364,2225,2029,594,1301,1831,2011,1873,681,1063,450,1490,1409,1285,187,2158,220,686,2130,371,863,2103,2283,87,501,2171,33,2045,1410,1978,591,1084,1144,1122,2130,1272,376,1392,155,1902,1472,561,374,1170,2493,905,497,2238,607,2009,1565,1577,2013,1526,1119,1570,2140,1878,2344,611,1793,368,1254,1316,936,1324,2010,1244,224,235,258,2009,340,428,522,1049,2405,844,1466,739,197,2348,1802,810,1014,1240,545,697,1656,319,1598,1115,2261,2312,2059,1060,1942,69,1201,2047,880,1811,231,787,1795,781,582,2300,2429,517,2280,2320,429,649,84,895,673,572,824,91,631,1039,550,1041,1493,2258,2087,1563,997,2410,1277,1689,547,1754,2167,1838,1220,1487,106,1568,379,1397,2425,1749,1152,806,1101,931,203,2154,205,2369,1410,923,2479,577,2493,1451,1109,2225,1319,1272,2480,1438,1229,1241,2488,363,1186,811,331,995,591,650,756,1946,513,1376,325,1566,1174,1932,2398,1126,293,2251,1029,875,1432,1013,530,389,3,1078,663,1631,740,999,460,2302,2062,1889,1434,354,1166,740,2149,2349,28,2130,140,165,255,1375,2448,1729,1327,2022,1157,2282,262,1538,1377,849,1703,161,222,2154,464,111,262,911,1511,1370,1214,2008,64,824,694,1841,94,139,1507,396,1943,2073,248,749,490,1734,177,1169,1351,693,2387,795,111,80,2329,102,556,291,1740,983,1173,158,2233,2207,1802,1390,220,2360,1966,1670,2109,250,1311,549,714,2152,450,2243,2141,395,2330,1553,1846,48,1756,1718,715,2432,484,1473,1182,1210,2434,2263,1300,2123,1300,173,2415,1696,895,1027,2395,2326,525,931,550,2045,216,1466,1780,1029,1600,1617,2394,1078,2081,1054,644,1259,179,1026,1556,596,1664,527,1146,2197,462,332,2268,1950,655,477,345,2024,1845,237,1164,876,1634,1955,665,751,2394,2261,971,1352,257,2360,1259,2450,2264,1704,1552,135,1704,1226,900,1438,2433,1443,111,1866,2132,1122,1168,165,1059,460,2421,1143,1914,743,1678,1076,1274,1697,855,134,362,1541,1661,935,1468,1928,2330,1253,2381,667,1578,2259,2401,2270,870,741,222,1469,651,1072,862,1674,2344,2093,2417,715,945,2017,924,139,2175,2011,1253,883,2072,679,668,547,195,441,2191,535,974,2152,652,6,1753,699,1620,2021,1268,2416,1087,178,2315,1710,1882,326,973,1417,98,2072,1562,1354,202,104,1150,995,363,2211,1990,1426,2136,1340,1449,560,1221,1854,2230,53,2102,1530,827,214,1807,1258,1994,682,170,268,832,2072,233,2196,1226,1104,49,1957,1253,1159,1516,1610,145,2440,1949,586,340,1261,1214,1279,1901,1580,24,2251,34,1387,219,992,1167,1444,2189,660,42,2266,1600,1242,2493,162,1630,971,442,2168,585,2264,922,810,953,392,2210,123,583,1447,2323,1081,1179,699,1798,2200,2083,584,1690,2133,445,1718,702,775,1178,746,2278,176,639,868,1948,840,1550,1060,162,315,1528,468,1826,1584,231,1970,2073,930,681,2267,30,1495,731,577,55,957,2060,311,2022,801,546,113,2014,526,398,1423,599,2128,1032,703,941,263,585,997,457,1921,532,1627,1392,486,187,769,1395,2339,461,2384,1411,1827,409,1916,2450,305,934,1062,944,504,1585,431,264,2125,172,623,1091,1882,2350,1246,757,1293,1780,180,1333,2134,1642,2387,1707,1354,1135,1951,676,1299,128,1464,326,1692,2028,1092,1591,1036,2007,597,2273,181,3,1298,1762,2455,1199,2244,1302,1017,44,995,1176,469,412,833,361,844,2002,1324,1995,33,1186,824,927,230,949,298,1908,902,1720,976,423,651,1919,1220,1085,2186,544,391,831,1191,2456,1340,275,937,106,33,2100,1290,243,2071,2081,258,1577,1096,324,2346,999,60,1534,1964,2247,522,289,274,1671,1850,1160,875,720,2415,1314,1789,1980,287,1963,1595,880,1658,938,2447,2283,1117,1489,1306,2100,1733,1540,501,1356,668,1289,395,1656,2381,1065,1327,729,1023,67,2368,1839,838,125,1697,961,2330,1517,965,1055,1304,1776,2344,208,1379,1779,1132,1076,366,2198,1970,656,1,2279,2325,1433,1159,1289,726,261,2037,2152,408,1137,2331,1457,2052,1611,971,373,2003,1812,46,1347,339,1322,301,951,451,1273,1754,578,103,1079,621,1368,1957,1063,15,1976,2070,439,2459,2120,1337,685,113,110,1605,1894,963,48,241,830,1258,2328,2230,1636,1946,2161,1324,888,1586,457,2297,2144,2316,1906,2280,1892,522,2405,1181,365,1006,1510,2242,866,2475,753,2216,229,1849,1114,33,2416,1288,971,1867,767,1375,994,2200,797,1165,2166,1885,1069,758,216,1731,1568,2442,1948,621,1172,1640,1840,2454,2415,1303,996,1955,835,2437,1004,496,600,807,2220,2373,1330,1724,1746,1254,1458,1857,1416,2368,1112,947,335,639,1807,2090,422,655,333,415,1640,605,540,2192,707,2046,565,47,1989,1690,1439,1835,882,1094,2163,302,1713,452,506,1601,2469,429,509,682,1127,184,1194,1734,1046,448,1409,1710,1275,1441,2089,235,543,59,154,982,53,287,786,2138,1812,127,1209,972,1129,898,460,1415,1741,1173,2360,58,1283,1169,1868,1503,1760,206,94,543,375,1466,1473,401,1016,1930,265,747,146,2346,2097,444,532,205,930,437,2207,1985,2181,372,2165,1284,1161,542,2446,1917,797,2477,1990,128,1322,2396,389,611,1082,121,582,1389,1002,1820,1014,2432,865,410,2027,1895,77,2023,1366,864,1832,2041,2109,608,137,1768,224,541,1580,1410,1534,940,1833,1171,1298,1270,262,636,2368,1729,920,139,1516,1265,2010,1328,702,1977,795,2312,785,509,67,717,885,986,1656,2058,424,589,1921,1334,2313,2029,1763,686,1862,2198,973,715,1819,1241,159,585,1764,2297,1503,390,1313,1782,90,651,1125,1200,1806,486,1751,45,2316,1794,2261,599,1029,2429,742,1350,1940,2023,856,942,1707,2336,1011,1627,2327,692,2426,254,47,541,911,2045,1543,353,673,1114,1125,1875,1231,2023,2140,1676,1630,2300,1933,2006,2479,1039,197,1412,2336,147,2169,1458,1761,375,1432,1865,1035,1912,175,552,1094,90,2163,2493,2372,136,120,268,1199,1967,2307,1085,603,1679,1805,1466,1353,1922,337,2017,1575,2333,1914,198,1588,207,977,1999,1189,2033,2388,944,2264,1031,2487,632,139,2072,170,281,1847,252,1170,812,2465,537,1248,1348,2477,1767,2067,215,2429,884,1268,1789,264,1918,15,2210,31,2211,2121,211,2076,1285,427,360,1573,2024,827,2287,1306,1338,1936,2284,1759,1432,2067,340,970,263,1307,599,1237,1297,1771,266,537,2484,1189,269,1110,1187,1148,216,2317,1650,286,793,1504,992,1637,431,1894,2353,2342,1931,196,345,1795,2070,1284,1747,1298,1366,196,1979,553,1925,603,647,1966,1542,1060,178,2350,702,1607,1732,401,2173,23,80,1322,1379,442,2301,1427,362,1928,1637,167,1112,1759,275,880,1349,88,1264,655,94,70,203,70,1844,1168,1958,460,2177,1971,176,589,302,1539,1864,2061,98,424,546,1683,865,928,81,1552,2282,2332,584,1215,2382,282,580,2385,179,227,463,1374,1971,409,2158,2356,1609,975,1500,2116,1072,2066,856,915,1203,626,2031,685,454,2301,828,546,452,605,1797,2391,1337,1307,1698,881,2222,1314,837,1922,1507,488,1269,2376,2381,958,1505,255,270,1863,1715,1534,2491,1410,2171,1506,1846,602,250,972,261,1265,1801,998,1925,1566,1195,1146,1554,660,190,1020,2218,459,2082,21,1722,2478,2369,1245,1258,2102,1880,2321,1075,1375,55,2423,1307,713,529,2030,565,742,2458,1272,254,1789,789,707,2193,1958,552,687,61,762,483,1982,1878,1337,1631,2074,899,1580,2015,1024,2074,1495,735,830,726,2178,1319,1087,990,2131,1711,1118,129,1202,861,388,377,2114,535,1919,1711,736,1466,1275,1099,1819,346,947,451,754,6,2147,2386,266,2296,1441,2095,1558,831,1365,1257,1206,453,562,2117,1420,1842,1779,1495,485,2360,1339,1064,2380,528,1808,744,990,1425,2201,1992,4,1936,474,404,517,109,96,1301,1645,1105,993,234,2259,2021,1171,2,1988,1697,1975,54,2282,117,1471,1514,288,172,2394,2378,1024,470,1786,1753,2135,1113,2167,850,773,2300,452,2161,528,918,328,1449,622,1766,929,1072,231,554,2422,209,2338,2058,2283,932,324,621,1298,1032,91,1873,1748,2157,1028,847,171,785,2329,908,1822,874,694,536,55,1528,2112,1967,2278,1480,1137,2224,619,1604,150,618,1200,901,1332,189,2344,1906,1762,1610,51,99,812,959,627,1703,328,1468,496,1156,2467,2121,571,90,1191,2140,2260,451,1243,1893,1134,2048,992,740,2120,1153,982,1520,1970,1509,593,2092,300,1964,1145,1233,2050,1803,2203,1749,1527,1729,483,2095,1160,1752,2087,1644,1044,2186,706,2109,2448,1390,49,1797,465,2036,2498,1737,1726,2094,459,374,1691,1626,146,981,1367,1284,162,715,1531,1979,686,213,1981,310,1372,207,1986,983,155,113,2065,138,1056,1099,767,472,2009,116,1537,1126,435,677,1279,1805,1704,1756,153,1208,1812,953,1705,2198,1182,1079,1004,1205,685,675,337,2134,322,80,1282,32,1360,962,1478,1091,741,336,862,1806,995,1048,490,368,419,1184,1112,2154,1303,266,2435,1796,2259,291,1491,1121,722,241,986,248,1547,1009,391,1367,2456,2260,75,2305,2230,872,1899,861,1944,2496,2232,2315,169,695,2133,1459,1236,1681,2180,385,1468,1715,2235,1891,1694,832,16,2221,837,1068,1397,2291,1059,2368,1103,1288,829,795,871,2371,417,371,1456,2019,1093,2288,371,1409,2065,677,2141,1645,947,2258,798,442,1748,1898,1467,1262,787,1409,1208,553,24,1992,1803,827,814,2041,2183,16,271,2179,1010,2113,2230,1850,1236,779,1056,2008,934,1385,1713,2153,1278,1920,1761,1651,1548,2492,1340,368,2251,1393,332,1891,1804,1696,1501,741,1096,1376,1068,302,1154,2409,1359,443,2338,1016,412,2255,2400,1912,2060,1352,1121,1930,1360,1539,320,1527,1346,2178,2319,316,2361,2292,962,2187,601,1648,1425,2459,2422,426,1298,1068,2292,1829,1835,1802,1847,449,2026,372,1281,1257,1082,2397,1779,1631,930,1224,1357,1721,1176,520,1214,2287,46,556,1731,2049,282,2354,1646,2357,649,999,472,48,1469,1549,2340,994,2087,1143,1984,2162,1181,2340,1165,2141,565,1950,692,757,765,1564,879,119,2260,750,684,1213,1980,870,1508,47,2376,59,716,2066,48,1091,2380,1943,2004,262,1230,466,382,1941,545,1044,2273,1929,1700,1985,70,1903,366,801,1536,51,1334,1834,1845,973,2277,1016,438,314,1433,560,1219,319,6,2312,1,2201,1784,1536,1507,1609,560,1211,696,35,2240,2408,623,1531,676,1211,77,1558,849,1709,190,375,128,2046,2316,560,525,1109,830,1196,716,1119,1328,590,2084,1902,1684,1610,1409,1906,561,2374,550,2123,1807,1045,2058,1641,2255,835,2300,1998,2194,82,1406,2033,939,207,1454,1461,344,520,1321,1097,2425,1066,2485,2307,2490,625,668,999,472,900,394,33,1159,2050,940,1071,2070,1941,1800,1942,2274,309,1748,1300,492,1267,2434,1499,2295,1308,89,921,2003,1229,2133,2320,596,593,245,811,1181,470,1806,150,1530,1247,1308,1800,2296,1330,432,217,2297,723,2271,1517,254,1464,2035,526,673,539,1424,2087,1431,2099,749,1797,885,1978,1160,71,1892,1560,2477,977,1720,1406,535,1909,2443,2012,1059,2143,1568,626,326,1502,2138,2423,1630,1205,1661,539,1278,1950,2287,7,919,551,2080,145,1361,295,994,2409,2158,1095,2258,840,377,129,1116,464,2364,1193,999,904,2034,118,1670,2242,73,2339,868,279,2309,2461,2479,1268,2018,2129,1485,780,1431,987,1089,1143,657,1057,1782,217,327,473,874,2317,815,2276,1118,562,2370,814,361,145,1853,612,1906,1623,262,10,1850,855,1463,2281,1796,1000,149,389,221,2237,1202,24,353,338,1839,913,2417,1890,588,494,1225,2211,2038,1048,2452,1195,1950,426,735,430,1986,1491,1280,1636,1978,214,618,2323,0,2122,2282,2223,1986,514,460,494,239,1845,1893,2021,1107,673,1583,1993,2186,1988,1669,614,586,1869,748,2076,888,1969,1592,97,1765,239,521,75,1569,2129,1648,1667,571,926,1976,270,105,61,2338,1755,450,1515,1698,862,843,2341,2044,1804,674,1062,591,302,2317,1920,1598,2122,1914,233,1834,2463,518,2224,1577,39,1528,1974,2325,1221,2266,465,2271,949,613,452,2285,778,2011,894,401,1751,1253,297,694,624,409,701,1347,1878,1244,2437,192,181,172,1358,201,1684,380,1614,1536,494,662,655,2465,156,1665,1560,2188,1753,1085,1377,2305,1644,1491,884,867,323,460,2157,1887,143,280,998,930,447,161,2413,1122,1405,96,1836,876,1411,641,1423,1105,2425,1914,1083,1028,81,313,828,446,1060,2474,780,267,467,2404,28,2398,713,646,2477,915,166,122,377,2119,1208,2473,2319,1471,2041,746,1066,617,796,407,1689,2366,540,2451,773,2436,687,118,1793,2431,1715,1152,1531,1917,258,2078,768,1686,828,2118,2074,588,350,266,1971,2273,1376,1357,430,1463,1580,17,1292,2108,1891,1342,1633,1262,1653,1252,2418,689,443,1219,1080,1774,1328,2049,625,1851,2394,1999,505,586,303,451,70,2147,2049,1534,2267,19,1619,1008,169,1606,732,166,1264,719,2362,1475,298,2471,471,120,152,673,920,2209,1228,1063,2429,1760,99,2134,329,2348,1319,1760,1253,2246,55,12,1616,1373,386,1879,23,1856,374,60,1373,44,1386,1603,1606,1158,309,2489,2420,1658,1162,1526,371,45,1632,450,1912,1260,1559,485,2403,876,584,2381,1892,840,2224,270,1103,1035,510,2207,1217,41,2106,751,707,999,2424,2347,1440,683,2258,292,378,877,718,1216,111,328,1616,508,1789,2085,1470,1358,2131,983,222,670,2243,1439,1188,1336,2482,2040,50,273,423,100,17,1727,757,1324,1706,171,1439,228,888,903,1868,1075,2356,1292,915,1936,2499,128,2426,538,483,496,2182,1087,2031,487,1260,1780,1613,1973,142,1494,1125,2267,499,17,348,1215,11,1711,1243,2108,488,2172,66,1579,1917,1987,740,2262,1282,1040,1173,607,371,74,1662,2393,50,925,358,1275,534,394,851,935,134,673,2136,2064,1623,1304,571,796,1169,292,1040,1642,1425,509,629,1385,2057,1009,770,1186,1629,1186,461,2065,2022,551,2344,307,2176,297,2319,1880,966,2032,694,1521,369,1931,683,1781,2306,366,1877,811,41,1341,128,1161,1522,969,1763,1322,2155,426,546,1361,1721,49,246,1888,1708,163,1816,2152,1090,193,544,2075,2414,2107,69,90,691,1150,2170,137,702,881,1788,744,1499,641,1671,1248,505,1250,575,2108,1794,278,1581,2351,383,2015,1226,263,1765,1406,1977,916,1414,2234,2412,2198,2234,117,814,159,621,82,2087,675,1685,2320,1960,2494,2303,582,946,585,1183,2,828,1521,330,1143,2037,310,1707,2395,1365,937,1487,1484,83,2309,2108,468,183,219,698,2132,958,282,1778,1793,1579,697,1675,1181,1304,2165,1070,2166,1912,2093,264,1345,1494,2152,1628,1524,1841,1330,1268,1318,2384,2240,575,1950,2042,1672,2194,1550,1657,1006,1556,2382,1195,2290,1969,2120,1896,999,2086,1259,992,1019,2297,2360,789,2096,180,295,2361,1365,602,172,137,2016,2105,77,1987,2475,1315,1135,1944,1876,1028,2337,1215,109,1743,2420,288,1746,2284,72,238,745,2417,1738,1647,615,2202,853,1857,599,2290,412,533,675,1271,1883,1433,1138,707,1387,1092,791,106,2410,1385,653,2443,1580,1777,126,1328,476,19,1146,2097,1700,1640,983,497,690,1015,112,1456,1335,1915,2009,1381,1918,564,2314,1085,1709,205,1469,1034,109,272,296,1852,19,889,1229,1160,1026,731,1625,2171,2200,37,1348,1139,2077,639,1241,857,2431,1240,718,2342,73,541,1569,1375,759,1578,2372,467,206,1600,162,2245,1133,2370,1067,156,924,1733,2483,1997,331,2369,329,1931,398,424,1297,1392,2097,820,1460,494,432,1233,2353,524,2070,710,443,1576,2272,2411,1180,1187,2330,1971,275,1095,534,2342,174,567,2321,271,1352,382,1788,727,1514,1880,1415,621,1167,1827,361,1050,2338,1911,1986,1908,2334,146,2011,1017,1284,1163,588,436,1781,1005,2251,765,236,252,2045,821,2106,1096,141,1630,1796,1186,1172,1205,662,2329,7,1861,1738,106,833,1470,18,582,414,2413,2186,176,2201,972,772,2418,499,440,2010,473,2380,1754,1133,1194,613,581,1817,107,794,1875,1391,1647,327,2006,1089,1465,2465,1533,6,1183,225,1265,1845,1731,805,1529,366,2272,941,1865,1779,910,443,765,64,810,75,530,2258,706,1304,1555,1855,305,1955,642,1776,159,565,1807,1484,1776,1565,2321,172,1864,1991,1220,169,845,1484,466,399,1597,2468,1126,624,1680,2055,1052,1644,1978,2102,1726,358,1993,624,966,2118,1140,1573,1693,962,1748,1039,1691,2165,232,865,2335,1749,1263,2316,2307,1577,522,1123,1535,1005,409,44,1741,1282,676,2029,1708,1027,567,123,975,2024,377,844,479,2117,1212,1871,1263,2250,2365,1316,689,2127,2149,2263,1972,2197,2490,2363,620,2227,809,1950,996,555,2287,2463,8,584,2492,2048,1247,1299,1836,1648,1532,730,1070,1779,1889,1994,257,1827,2076,365,2400,286,2147,1106,1296,441,1761,2126,173,305,550,2033,2204,492,1777,286,1802,1234,411,1297,2492,1302,2442,1002,2393,2108,311,2483,1096,214,1376,887,2217,1188,1482,64,690,2268,2288,1990,957,731,1618,1138,1823,2157,509,984,1496,2493,2183,1412,126,2253,1557,2225,415,585,1627,444,914,1545,1298,369,1428,862,1513,2474,508,1675,844,1683,1500,9,1884,745,1824,944,1516,775,2038,1498,1815,1256,804,477,2164,2193,1317,676,898,2385,844,1167,319,2475,2173,1991,882,2091,156,711,1284,275,1182,1315,94,1729,1958,302,2145,1567,1968,2144,1416,663,1760,1396,732,1743,1097,976,155,1831,865,860,412,2364,801,778,651,1145,1640,1968,1301,980,456,1529,2037,1099,1308,1486,954,1645,1530,738,289,891,1153,2095,367,1863,2195,2098,1543,2132,752,1449,82,1548,812,1130,1399,284,242,2179,1973,1850,1160,2256,710,978,695,1012,1957,915,1417,2216,491,877,873,1697,1517,60,573,806,2173,380,148,2112,1555,744,149,645,683,235,2112,1827,842,241,1782,904,769,124,2035,2179,1611,784,1229,223,1402,649,619,1413,819,1774,374,1493,374,1462,1980,1812,342,1603,1761,1713,268,1315,1273,1202,1274,397,259,405,176,891,1994,1145,1639,651,115,453,2160,727,1296,1446,1069,1712,1913,2068,656,2383,1237,779,758,1019,2114,2171,1552,1923,1882,1984,2423,498,2044,1903,1768,893,633,1614,1659,422,547,1654,63,240,1811,2477,1997,568,2009,1907,450,1830,224,1559,1564,434,1633,1784,690,644,633,56,1010,614,215,44,1206,85,1272,1001,896,1871,2318,1192,859,1290,2130,2436,369,213,1075,1870,1156,2213,59,1156,2337,519,495,1597,2321,25,376,1274,2305,108,958,2398,1474,1282,69,1380,292,1395,2073,1258,251,2386,1701,652,697,1541,2320,192,1270,534,1829,458,2195,1218,286,2117,36,111,1824,2162,1564,203,2147,30,1450,1247,686,1114,130,1122,1883,1209,1569,406,1420,93,79,786,2451,515,2369,1537,1729,1831,1525,312,521,1281,2481,426,1009,700,332,2181,2093,2027,1432,410,146,2135,277,1350,1018,1298,1606,1471,2294,1354,631,1926,1911,1241,2180,2275,334,2445,1438,1743,108,1147,2433,1318,961,1498,339,1745,1391,113,1896,1255,1996,2326,1837,244,879,2116,629,727,1608,2299,2025,1352,1731,2406,1248,770,936,1878,903,538,2414,976,2123,375,1891,250,657,167,205,1988,287,957,933,1674,2306,1620,1032,2494,1712,2345,631,305,1113,1645,1797,65,546,1860,1682,1792,1745,2460,1779,1915,2473,1675,599,1625,845,2084,1451,1659,98,1175,1088,583,2480,1370,63,176,2182,1626,1082,206,1555,758,784,1121,1998,849,574,1387,20,964,1938,1068,2207,2338,1006,951,2398,967,1792,237,395,1076,268,520,2276,389,2416,896,1678,2156,1773,1633,304,1990,2059,2209,2420,1733,1749,1947,251,751,866,1423,163,585,1989,1134,678,567,639,1340,439,1011,580,25,1543,334,626,1148,1042,453,2415,516,2321,1962,1562,2202,350,1095,1039,1867,302,1701,2005,2178,34,2463,707,1909,2104,1662,437,2041,2200,559,1884,1336,188,1750,730,69,1656,1792,970,104,1078,1788,374,607,1554,928,807,1730,2407,2002,1795,2145,380,1376,2062,1356,319,2481,846,1535,169,1241,603,2489,1264,1978,541,1359,470,709,1990,271,1350,1205,585,343,485,595,608,2048,1249,1329,407,2043,1938,2442,1315,347,449,240,2050,322,1882,1946,326,2492,249,572,2261,1928,1583,39,1483,1202,459,1787,2449,960,1253,657,1450,1693,2003,546,1929,1877,1673,746,286,1646,1362,711,1934,717,1477,1585,1284,1998,757,2290,550,688,1905,2147,18,1033,1969,558,2113,213,1845,1168,1854,1997,764,1445,504,2252,1011,698,151,1854,2375,905,1886,484,671,382,1772,359,2441,31,2300,939,2046,1841,2347,88,796,79,1551,2313,1164,643,220,2137,2095,352,1267,768,1801,1380,1461,1906,1725,1556,1910,2494,1323,908,2156,660,1230,126,1884,1540,1543,1716,1360,1759,244,2026,1406,1845,71,336,72,2027,1744,2063,0,2385,160,514,67,1951,1018,2011,656,498,493,1454,110,246,2326,942,523,1752,1761,1403,1181,1493,1156,653,415,2080,947,401,1490,177,1332,1442,1928,1849,521,2059,613,1004,2368,1013,1496,1747,665,1358,1683,2022,2407,2133,2273,427,709,16,1891,902,416,2461,1050,1827,509,2272,806,1227,556,2413,2380,1874,8,560,1665,1594,2359,2095,1572,1530,885,962,735,171,2000,1143,1375,1619,1760,1408,716,1227,2057,1476,479,2435,250,2139,1161,2297,1818,439,155,2470,791,1472,337,155,1833,1345,1477,1915,2344,2025,1517,1364,1778,2246,37,518,939,785,725,2341,2090,1089,1080,2306,1110,1882,705,2360,805,577,2340,1149,133,1572,1926,467,2335,1074,2337,771,265,1402,36,2410,541,1694,2181,2370,1778,206,2488,1644,1815,1210,1348,477,2095,2353,310,143,1196,2476,54,936,645,504,331,1968,535,2163,1302,1597,284,951,427,1447,2147,2183,646,525,572,1163,1984,612,1759,1094,1454,1202,67,544,1611,2316,1704,2410,837,2370,1694,1974,306,582,1285,676,1632,212,714,2467,149,1509,124,1787,525,1263,936,1017,497,1275,188,847,952,1572,393,1798,1189,1992,1424,1794,743,1634,592,1134,1739,1799,337,2002,2484,1673,2454,2486,292,2393,1947,1044,802,2499,1406,47,924,1676,1476,595,637,1496,442,1606,2204,1539,1698,492,2453,646,493,316,2076,440,1025,2444,1940,2323,109,2316,563,1151,361,1908,1046,894,882,519,1410,794,1903,825,1102,2008,2213,1734,1469,2286,178,1960,1553,94,1294,616,1184,1943,81,2041,194,1527,1183,1346,1935,53,1419,2026,1443,1084,1486,2437,382,1898,165,1276,1442,1571,1292,1798,470,2404,1824,295,693,1690,2359,462,1883,2069,2191,141,1718,2434,598,612,1507,1156,1534,2008,981,765,1961,143,2034,861,151,1665,1997,1961,2027,969,1937,146,1133,2114,1292,2012,703,2149,2043,1084,1474,380,813,875,766,2191,1220,309,2224,387,411,1094,1358,2263,2049,1490,1830,1477,203,1598,494,1364,1064,1744,1510,1737,1845,2305,2404,2030,2228,1618,1214,168,1776,226,1407,922,688,1424,2228,475,733,1888,1227,2473,1176,519,1211,1867,2052,1668,1014,1059,1976,2259,1610,1858,328,1358,2042,824,593,1157,2014,535,1158,549,1490,321,550,2475,1632,1967,1306,2057,2282,1976,1326,903,1538,1774,62,361,1126,1590,476,2416,1993,2113,1719,1265,1511,172,1757,877,49,67,522,2433,473,1449,596,442,1290,578,1202,30,2324,500,2149,512,217,1889,2487,1804,41,908,2154,342,1166,2014,1708,1486,1094,1016,2209,1052,386,430,363,2298,725,241,1060,2074,1690,1481,637,2250,1381,807,611,1732,72,201,254,1805,986,2001,1767,1422,1962,1443,266,1785,2292,578,599,460,310,2329,884,1904,1525,2070,1668,1402,682,1484,2194,114,2409,1156,2368,2189,799,1356,2024,1722,2154,837,780,2240,2217,1990,200,332,1871,1330,321,443,265,2402,232,479,1550,275,1085,2330,253,878,759,2053,1017,474,941,1226,2326,2123,1418,1519,350,1137,635,1238,1466,2276,128,1508,1152,1407,1442,806,1845,1618,2245,2015,606,1880,805,1550,1114,2153,2339,2067,1167,1978,699,1449,1644,1658,509,1688,2079,716,1981,787,603,1557,138,528,2460,827,2148,1692,2374,951,2043,776,248,218,1727,139,1984,545,248,210,340,2125,1631,338,912,600,499,1854,278,705,1383,2182,418,1822,325,1059,697,471,950,61,2159,863,1946,806,1764,529,333,1500,1391,1163,390,1234,974,208,2024,725,270,2093,2318,2231,429,2002,65,1403,1100,52,781,985,763,2254,530,308,63,1827,2406,952,1119,1572,457,388,898,15,1390,225,1984,524,1451,165,2036,2253,2473,1049,663,1933,707,1573,32,1120,801,1947,1089,2039,1387,1568,1576,81,1750,1697,474,830,1,1615,143,918,1782,629,1297,1790,82,2254,522,144,2353,632,144,453,1094,1521,1520,2435,1686,1517,2169,1512,907,1250,899,845,1008,1518,1865,670,14,1719,117,118,332,970,419,1339,2399,2070,1754,158,1572,1352,1226,998,789,931,1227,269,1690,2161,976,1767,1672,1731,2333,2078,1743,750,236,957,1924,1023,868,1326,2127,23,1498,2223,275,25,968,1708,324,341,841,1437,108,2184,729,2487,2397,940,96,728,1220,1051,2114,1920,1948,296,1017,403,2046,679,2166,932,484,134,531,176,1227,1772,1436,233,1959,2089,1283,898,1815,679,1346,2490,1868,2427,1872,2264,890,1494,921,2276,2394,1041,1562,249,2408,1342,1286,1812,32,60,755,1282,1282,1110,1766,1408,2274,2047,851,1014,2121,831,134,767,2326,2098,1138,1313,1874,467,1175,626,1056,245,1761,628,1778,1246,494,1730,760,2434,1867,143,1784,311,973,881,1910,1138,460,1174,734,1196,46,1341,893,506,46,998,203,2220,2226,1104,630,2233,2402,781,373,2356,1204,1406,1060,1563,1151,2181,849,1755,917,423,1461,1933,106,242,1755,1363,1252,1266,1753,1725,1547,2298,2413,1586,1318,1655,121,1411,899,219,1243,1630,868,1828,2291,1085,1342,1973,1437,223,1545,831,332,2096,909,2095,2097,1678,2461,2077,765,795,2469,756,2374,251,153,1482,899,2486,987,1045,876,1001,308,921,1669,795,538,2093,1927,1703,1714,263,1961,1850,126,2198,483,210,2171,1876,1944,2438,305,974,1420,1920,812,2326,1637,1482,1692,427,1234,336,1,73,1261,2214,2136,1729,196,629,1800,2231,1922,543,2199,1933,209,1047,879,344,2472,1430,2352,112,285,1691,649,548,1968,50,884,1010,1199,1102,1463,703,269,968,2331,2074,1849,939,1933,887,377,2095,412,216,1558,642,1110,1524,814,1851,626,2400,954,1486,708,423,2155,1907,1995,2331,2018,1078,1367,2190,1973,477,2206,902,150,1512,1266,1356,2490,610,221,260,1659,238,1805,346,1713,2163,1099,2005,698,911,332,734,1760,1632,1023,680,1001,898,1066,1985,1251,629,1478,1946,668,1810,1790,1618,105,467,1561,1510,107,142,350,1284,685,657,501,1745,1662,1937,1476,1554,1330,1832,226,1527,948,585,1872,2039,1511,2042,360,434,2204,1050,301,406,2097,1701,1688,2087,2398,2308,2155,1579,1662,1401,241,2110,1894,2073,1654,394,648,1441,983,1506,148,2178,1078,205,1686,1359,1686,907,447,1755,160,113,483,780,1823,1772,843,1485,918,338,1672,1760,2061,2305,1136,2169,1416,1137,1557,1420,892,229,2113,1237,2008,2132,761,66,1162,1486,627,1501,2065,692,1405,1831,2487,1001,570,996,224,2297,2005,2339,1896,2004,1236,505,56,2269,910,695,1881,2003,174,1309,1923,506,506,2122,2304,584,1215,142,2495,1589,1437,2095,2194,1169,351,1280,231,1832,1092,987,2072,2247,454,1996,683,678,43,6,522,1251,1682,1079,1600,370,2337,39,2208,852,2473,2319,1758,441,1139,1248,875,1357,1382,1862,2414,1943,996,2018,1136,2168,49,171,1001,734,1153,1743,414,1240,1585,2106,2440,941,343,498,1251,523,1327,1805,2045,883,258,2115,1381,1166,1778,1127,1461,1557,2440,356,250,1756,2493,995,1840,2374,1611,1430,453,1736,330,639,1207,2017,1278,1394,1240,1781,2446,2223,1127,1098,1372,786,2016,523,33,1856,835,2006,956,505,351,380,1437,239,1352,192,846,1070,960,15,484,909,1624,241,1413,2241,1088,1926,1284,2375,335,1181,292,1739,2295,1336,1976,1000,619,1015,2184,1073,112,1896,383,1411,1243,1366,147,662,2148,273,2346,483,257,44,1972,1940,1068,1809,974,2090,567,2261,929,1254,1302,268,598,2299,306,1234,2302,2382,857,70,1105,2401,962,1358,2073,461,661,19,1231,2329,1534,541,618,977,15,2006,1852,2000,234,2441,2199,828,2470,1939,2175,478,826,1374,1471,1197,2413,2411,1376,173,694,2231,663,1383,1935,352,926,1693,1801,1481,2440,1900,39,2394,2003,1900,882,962,927,1640,1997,1471,920,1504,1970,1971,1087,1968,1435,783,1048,1025,2300,1750,868,273,868,751,459,1644,2185,1988,883,2475,966,35,258,2421,1485,1861,2167,221,1733,1282,100,2425,1738,1117,596,1743,644,2199,1785,2274,1503,2264,2421,1404,2039,1508,523,2063,281,484,2220,1020,2226,229,605,3,992,136,185,1720,2185,93,1225,1304,410,1972,1721,377,838,573,868,419,1164,401,2243,2083,428,1261,2146,331,976,2207,1595,561,1332,697,2065,884,2047,2420,414,1406,1022,831,744,1468,857,1894,2269,39,2101,2481,441,2099,441,1705,2335,272,905,2106,771,1630,1227,154,2159,1486,1908,1109,607,2110,1358,376,1770,279,644,1980,1230,540,2401,1933,1521,1819,585,741,830,800,166,402,1538,721,1073,697,486,888,265,441,1290,767,1627,2370,903,855,1027,2310,188,1566,0,993,2210,1029,1678,2327,559,785,1738,693,2224,2377,640,2010,1243,363,1741,1226,662,920,1954,1012,550,1545,465,1216,1147,1983,628,2337,1913,979,642,1000,1034,2486,34,653,1860,1673,2320,5,709,1652,2455,1940,259,811,2354,290,35,2435,1643,2183,1200,228,969,2006,1971,39,1414,467,1152,1833,1582,537,1455,750,471,1031,64,991,2212,1008,1366,1293,1342,49,1059,1925,550,2037,642,206,1572,1405,1158,445,716,55,1714,2232,1869,1285,419,120,613,376,1973,1069,1729,2175,478,1836,1805,894,484,1201,1688,1193,1169,2116,2497,1477,699,1682,2119,2133,211,1521,1790,2415,1538,582,2276,595,262,1427,1108,2124,2118,1603,538,201,373,1470,1216,1804,1408,2208,340,2238,119,1293,389,606,67,225,302,14,1487,2490,841,1866,1845,1612,1626,977,1422,800,1095,1522,2076,2431,2446,47,691,948,1711,2369,1643,94,438,1843,2152,2183,2339,1191,299,1596,971,1135,186,708,953,2010,636,1346,762,2313,1972,1950,76,1022,531,400,1708,998,2316,2154,782,2093,20,1958,462,1383,961,2320,2441,1106,177,13,1391,572,2227,1960,2475,1049,1970,2030,2018,2348,1795,989,1437,1765,1279,2369,2137,2168,2438,1637,1415,1210,1002,61,711,1832,155,299,794,46,1025,1636,2433,2397,258,1196,765,1037,1157,1220,1480,2384,2495,2165,777,1647,2258,328,471,1693,1128,1276,1934,1177,926,405,2236,1059,113,543,1132,921,509,1720,1697,1422,946,1823,2244,1683,2157,484,2146,2173,57,932,738,1497,926,1628,2264,1557,1828,977,739,2304,879,983,528,978,2304,2497,842,1146,319,1621,1522,246,1567,2122,951,170,2070,816,36,1725,2150,1309,881,836,2376,1318,1451,2202,574,2267,1785,1052,884,2041,1255,67,1655,926,2250,752,293,792,2448,2080,1653,2383,540,867,425,1788,194,1270,351,2008,1807,564,533,1065,1658,27,987,2477,2207,2378,1567,1880,1996,1765,1314,2264,435,1880,1429,2248,1250,754,2091,612,818,116,2312,1841,2108,87,2319,1207,902,150,2269,1234,2195,5,653,2227,26,1111,2124,2040,1381,2387,1713,1450,2390,276,1354,1387,1586,173,1898,409,71,1422,460,1325,326,1959,2132,1186,2447,2320,1789,1569,1432,92,1247,1885,710,756,1197,1290,1853,2184,1101,1793,857,2412,659,2052,160,614,684,1848,1855,1399,132,1167,2081,250,1099,87,2451,2192,1916,1968,1199,2046,563,462,761,1266,918,1641,1027,784,2125,2123,1465,1823,947,1147,540,2445,2055,79,1091,364,2116,974,1795,746,2434,1044,8,1849,1072,319,571,194,2135,2387,1580,2292,90,12,1387,203,752,2040,2199,619,891,520,1474,1070,2169,733,1105,97,757,21,2244,812,360,1634,1619,455,708,775,1903,1746,1728,2420,2061,1789,1042,19,703,474,74,2064,608,1399,1017,1599,1085,1378,612,585,1515,2103,707,2129,1953,676,2046,1760,1612,484,2057,30,673,1766,487,1690,552,1025,2171,1213,208,119,2307,1478,531,47,75,1583,2016,435,2050,330,288,359,1501,2377,515,728,2164,25,1398,2279,1440,578,1695,2226,2233,2299,2173,73,1490,1560,1508,1650,901,81,269,2117,553,887,2056,1956,296,757,1472,1389,630,925,749,908,1167,2290,96,2166,2281,2478,955,1017,2120,1259,1057,685,664,1405,1223,1341,1297,137,1768,427,1506,93,894,794,2229,2351,1479,915,2459,254,843,495,1322,571,556,2439,1459,1195,1919,2298,1797,352,486,1021,1665,600,1511,574,2154,535,460,1137,918,647,384,2063,897,1885,1139,2058,1403,1272,1708,1072,255,1814,1983,559,521,1284,110,1850,2080,1360,1974,352,1824,1168,2066,1841,532,1932,2151,2091,910,675,701,1859,2121,1946,2256,1915,812,1900,1110,1056,1276,1133,2262,660,146,1128,726,506,1908,987,740,1749,240,1013,1096,548,58,1291,589,1279,1805,211,2137,386,1526,1385,2391,1906,1698,1120,51,515,589,627,1308,988,2300,2039,494,1721,2191,1986,1177,1491,781,1142,570,1879,929,2471,2150,1010,2267,345,1991,652,1912,2162,1761,1179,1328,1646,1553,2425,1605,2133,410,1114,747,1440,1532,1079,1469,1081,77,25,2411,700,1227,456,351,1696,152,2254,1654,1295,118,2411,2282,326,507,418,2182,655,469,307,1323,1400,1200,1830,508,1006,473,2386,2429,2384,9,205,326,77,1138,1711,189,2423,386,872,2430,2114,2093,1995,1865,1553,1024,365,1255,949,1306,2271,1275,159,2046,1532,707,1081,973,540,1739,792,1498,827,2492,1018,1050,1174,1608,596,1741,2454,2441,1296,2007,1984,789,630,30,626,481,695,1301,1308,567,1711,2016,1721,2316,188,1010,2008,1453,114,487,1586,365,1644,1656,2362,1043,443,1894,2109,2164,2361,328,512,2115,1933,2401,904,1212,1598,2475,2282,1538,383,678,1580,1837,394,1663,995,1818,752,2393,1798,1605,1337,616,1211,2303,2351,289,1323,1277,1830,1337,619,542,873,1790,2002,2419,2012,1733,267,1258,79,1454,1321,138,342,539,2324,109,241,184,965,76,1711,1304,1283,1597,1818,2162,1850,2166,684,297,2259,1345,1033,249,279,1967,1001,1419,1483,1503,1685,1510,1294,1667,2417,793,2186,99,1381,608,844,1041,912,1153,1960,543,1605,1155,1550,619,1953,1893,309,1806,195,1716,2442,819,920,1031,876,1189,897,1860,301,2431,1922,1170,1699,1721,173,239,504,1501,2031,2283,215,1770,2166,1819,1847,1461,562,182,1679,727,1156,1449,670,1788,351,1138,180,2030,1255,2337,1120,117,279,1752,1684,1511,1318,660,332,85,1129,701,519,1816,50,1070,2015,584,2229,2157,1504,325,1121,66,1551,2028,1571,1140,2146,733,33,626,1894,2225,789,955,2164,1667,1119,2247,1637,643,2004,733,2300,927,2336,66,29,1999,245,1281,1436,1608,2431,1369,1992,1361,1300,666,690,1919,2468,790,572,1670,719,176,535,134,1238,1107,1493,53,2315,1868,1093,768,205,777,732,1841,1886,117,151,1754,2421,2268,2065,250,479,1887,1952,724,1303,1462,2285,196,1345,594,1914,603,2170,2200,1717,1673,1505,2271,591,2284,2021,611,767,1257,568,879,1820,2220,1544,1023,1492,1365,2439,1578,2092,1119,2046,1503,1403,262,655,1982,994,2172,1729,1634,1334,1860,442,1408,1281,1796,1343,232,117,2134,1134,1951,680,2262,1601,2466,676,1997,2302,1053,697,398,1088,359,1338,1407,210,1093,1567,753,1177,697,1601,213,1731,451,1640,2154,1357,1389,1802,622,1465,1763,35,2373,1589,446,592,1320,2125,1947,1695,1732,1247,1993,429,558,219,219,899,1751,1460,2428,807,653,298,617,1454,2300,909,2299,2492,2291,1111,2445,999,2031,271,781,2063,2366,103,581,1788,1241,280,896,900,963,179,904,2081,1122,2299,1977,1040,831,1532,633,2323,432,2411,880,2096,867,408,2317,495,1732,1886,1218,2107,1027,199,2044,1165,1758,1183,1322,152,452,667,1076,2374,408,1198,2417,1349,200,2369,993,1790,1238,2441,110,1590,1438,1803,515,1271,389,287,486,592,247,554,2409,1544,209,2271,1828,2158,1296,417,592,2461,1099,1173,2442,1316,191,574,951,1782,1915,981,666,2166,387,2313,955,1002,1803,135,1541,1144,1477,666,2154,1576,2156,2402,713,2460,1336,1090,2375,1565,622,1280,252,2135,1809,712,190,1988,472,1242,627,1996,1348,1853,481,2191,130,1829,879,2408,1642,2129,1765,403,294,1704,203,1360,200,448,1848,121,2371,1839,858,696,743,216,581,2210,375,1819,914,2306,1886,1273,2292,820,1737,912,927,2027,427,581,1332,239,1840,312,1505,556,473,2121,1268,2040,1539,763,2082,696,1002,2400,496,1269,718,949,923,146,398,377,1487,2084,1989,78,1258,1931,570,1305,1887,776,2055,231,1587,746,1983,530,1075,341,1812,2499,1526,213,1892,1082,1835,2087,41,2205,1707,603,314,1240,2061,2129,1304,1710,1171,989,1871,1652,708,642,1850,277,1097,2203,2331,984,42,505,80,1861,2418,1657,1699,2107,997,319,1649,1818,1965,1087,2011,555,1264,555,332,212,2304,1505,1427,378,798,771,2341,1214,2260,1122,2445,671,1687,2218,484,649,1552,662,858,734,841,1067,1263,1084,866,2174,1523,1976,1201,1199,786,588,1150,400,1730,23,193,2432,1660,1651,2441,1585,609,152,2334,1743,1914,643,1974,1549,977,1395,1541,1399,1500,2219,2463,85,1884,270,576,2420,1125,2166,1625,751,2247,807,1148,1908,2216,1551,941,1753,1238,2058,288,1601,1986,98,181,1501,2372,2079,1429,345,361,1766,726,20,53,885,187,1498,247,2184,1772,1924,1637,1032,1667,1725,1472,246,1537,2474,73,1173,678,436,2170,1611,185,618,2405,325,1212,619,2210,459,2077,619,1574,2210,520,538,669,1406,2122,848,1452,1434,488,1819,608,2450,2271,1299,1162,2454,251,1028,1648,993,1566,1651,2095,658,1588,2195,668,1522,1663,257,788,1753,1705,2423,1960,724,2045,1782,235,1229,1956,251,1535,1669,914,475,687,2075,222,1913,247,1789,1984,538,850,2118,934,750,1631,949,1457,2286,1559,1011,429,474,857,2133,1366,882,795,1618,986,390,2384,1436,1307,166,2040,764,1881,1090,1347,1044,968,1913,2422,2291,2045,1695,2248,152,952,1199,1797,994,831,686,2420,1373,2058,933,2351,291,2293,1695,361,2257,2061,153,2433,880,112,1468,574,1846,1938,234,807,1751,2121,880,739,501,1266,1539,2365,159,164,1543,435,2000,2062,1205,1884,2003,760,2061,551,54,851,553,740,1073,529,1161,189,359,380,772,67,283,2441,78,1878,963,343,1977,363,969,1807,915,1826,1582,1335,1343,386,2393,2179,361,290,2418,571,1207,2442,521,753,344,1821,950,2152,744,73,948,1640,951,1804,1648,2084,24,9,1651,1690,2009,906,2431,1911,2177,123,975,510,380,1286,2032,300,1240,2138,506,813,1823,2208,7,2415,878,1320,2463,573,647,1609,170,535,938,2168,165,1586,885,9,573,1886,2034,1088,1135,1725,1223,163,1256,2068,26,1580,1994,1118,1920,895,1125,1852,1408,1271,819,367,1996,872,185,2367,1947,990,1038,2283,1396,1714,1265,1381,1650,2449,2475,2074,1906,505,61,1511,1346,274,1083,807,49,553,244,396,1896,1493,2379,755,1982,1222,1124,1128,1589,2370,459,1327,526,915,1278,51,2199,346,588,183,1135,838,383,1959,230,432,2326,770,1529,287,706,658,528,674,2433,814,1406,510,1117,961,943,1922,2438,2269,13,1421,1454,762,862,496,1890,1012,371,2264,140,1452,1221,713,713,2170,1511,648,10,1467,2134,1765,97,18,1852,1047,292,2206,441,833,64,1221,778,1475,2297,1008,929,2024,1120,796,197,420,2418,150,1981,1205,531,1499,1427,825,187,2262,200,771,866,436,613,399,1652,245,2249,1228,1078,294,1201,1329,237,1772,326,1518,1957,1401,514,1208,1555,173,310,1353,748,2309,1692,759,1569,1807,836,2294,2247,704,1376,1259,655,1780,779,1217,415,1468,1880,847,213,1489,684,985,2349,754,2388,567,531,1421,1602,2406,2392,2157,489,1296,1434,381,2455,194,621,739,949,481,228,1898,357,1172,460,2292,617,1870,2107,708,2375,1056,276,653,1459,2087,2209,2460,2253,1794,2451,938,1251,14,1720,1277,330,2000,883,1721,2087,728,1739,1370,2018,1061,2038,1689,1098,1204,2185,713,2115,1876,1688,846,985,1793,1217,1823];
  const asUnique = (acc, curr) => acc.includes(curr) ? acc : (acc.push(curr), acc);

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
filter self
a.filter((curr, i, self) => self.indexOf(curr) === i)
pending…
spread set
[...new Set(a)]
pending…
pre-prepared reduce
a.reduce(asUnique, [])
pending…
reduce spread
a.reduce((acc, curr) => (!acc.includes(curr) ? [...acc, curr] : acc), [])
pending…
reduce push
a.reduce((acc, curr) => (!acc.includes(curr) && acc.push(curr) && acc || acc), [])
pending…
filter
a.filter((curr, i) => a.indexOf(curr) === i)
pending…
object based
d={}; a.forEach(function(x) { d[x]=true; }); Object.keys(d);
pending…
from new set
Array.from(new Set(a))
pending…
reduce concat
a.reduce((acc, curr) => (!acc.includes(curr) ? acc.concat(curr) : acc), [])
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL.

0 Comments