-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_eulerian.py
93 lines (66 loc) · 23.4 KB
/
test_eulerian.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 2 04:39:05 2019
@author: bjwil
"""
from collections import defaultdict
import copy
sign = '->'
answer = '6->8->7->9->6->5->4->2->1->0->3->2->6'
with open ('dataset_203_2.txt', 'r') as in_file:
lines = in_file.read().split('\n')
edict = {}
for connection in lines:
connection = connection.replace(" ", "")
edict[connection.split('->')[0]] = [v for v in connection.split('->')[1].split(',')]
def generate_edges(graph):
edges = []
for node in graph:
for neighbour in graph[node]:
edges.append((node, neighbour))
return edges
graph = generate_edges(edict)
def find_euler_tour(graph):
tour = []
E = copy.deepcopy(graph)
numEdges = defaultdict(int)
#u = current
def find_tour(u):
for e in range(len(E)):
if E[e] == 0:
continue
if u == E[e][0]:
u,v = E[e]
E[e] = 0
find_tour(v)
elif u == E[e][1]:
v,u = E[e]
E[e] = 0
find_tour(v)
tour.insert(0,u)
for i,j in graph:
numEdges[i] += 1
numEdges[j] += 1
start = graph[0][0]
for i,j in numEdges.items():
if j % 2 > 0:
start = i
break
current = start
find_tour(current)
if tour[0] != tour[-1]:
return None
return tour
with open ('dataset_203_2.txt', 'r') as in_file:
lines = in_file.read().split('\n')
edict = {}
for connection in lines:
connection = connection.replace(" ", "")
edict[connection.split('->')[0]] = [v for v in connection.split('->')[1].split(',')]
graph = generate_edges(edict)
brian = find_euler_tour(graph)
with open('Output8.txt', 'w') as f:
for line in brian:
f.write(line+sign)
blah = '0->1->161->162->1447->1449->1448->162->2815->2816->2817->162->160->1->832->1414->1415->1416->2152->2153->2154->1416->832->1926->2944->2946->2945->1926->1925->1924->832->834->833->1074->1073->1072->833->1->2->148->414->412->413->148->149->1225->2369->2368->2370->1225->1226->1227->149->155->1146->1145->1144->1406->1405->2857->2859->2858->1405->1407->1559->1560->1558->2842->2843->2844->1558->1407->1144->155->156->154->149->1915->1916->1917->149->2175->2173->2174->149->150->2608->2610->2609->150->2->2396->2397->2395->2->6->1711->1713->1712->6->43->2606->2710->2712->2711->2606->2605->2607->43->46->47->2133->2131->2321->2322->2320->2131->2132->47->491->1031->1032->1030->491->507->505->1871->1872->1870->505->506->491->492->625->2745->2744->2743->625->626->627->1241->1240->1825->1827->1826->2714->2715->2713->1826->1240->1242->627->492->490->47->48->43->493->1080->2148->2147->2146->1080->2563->2565->2688->2686->2687->2565->2564->1080->1079->1078->493->1785->1783->2280->2279->2278->1783->1784->493->494->748->765->763->764->2255->2256->2254->2391->2389->2390->2254->764->875->876->874->2188->2190->2189->874->764->969->968->967->764->748->750->749->494->495->43->72->203->1658->2846->2845->2847->1658->1657->1659->203->277->279->300->299->671->670->672->2996->2995->2997->672->299->298->2789->2790->2788->298->279->334->336->383->384->382->718->719->720->1235->2924->2925->2923->1235->2952->2950->2951->1235->1234->1640->1639->1641->1234->1236->2755->2757->2756->1236->720->382->336->335->279->508->510->2336->2335->2337->510->509->708->706->1071->2382->2381->2380->1071->1070->1069->706->707->2208->2207->2206->707->935->1642->2432->2431->2433->1642->1644->1643->935->1778->1955->1956->1954->1778->2191->2192->2193->1778->1777->1779->935->1897->1899->1898->935->936->1462->1464->1463->936->934->707->509->279->278->790->892->2541->2539->2540->892->893->894->790->792->791->278->203->474->1183->1185->1433->1434->1432->1185->1184->474->2805->2803->2804->474->472->473->203->746->1723->1725->1724->2400->2398->2399->1724->746->745->931->1313->1577->2477->2476->2478->1577->1576->1578->1313->1314->1312->931->932->933->745->747->203->204->202->953->954->1043->1044->1042->954->2226->2225->2224->954->952->202->72->280->282->281->2672->2673->2671->281->2879->2880->2878->281->72->70->108->107->1421->1422->1420->107->106->477->475->476->106->655->656->846->907->908->909->846->844->1048->1050->1049->844->845->1596->2500->2501->2502->1596->1594->1595->845->656->657->106->70->1466->1465->1467->70->71->43->881->882->1283->1282->1284->2039->2040->2038->1284->882->880->1932->1931->1930->880->43->44->105->134->840->838->839->134->133->831->829->1160->1159->1161->829->830->133->135->225->223->1375->1377->1376->223->224->1155->2230->2231->2232->1155->1154->1153->1506->1505->1948->1950->1949->1505->1504->1153->224->135->105->1360->2641->2642->2643->1360->1362->1361->105->103->115->117->1084->2266->2267->2268->2384->2383->2385->2268->1084->1086->1533->1532->2343->2341->2342->1532->1531->1755->2704->2705->2706->1755->2739->2737->2738->1755->1754->1906->1907->1965->1963->1964->1907->1908->1754->1753->1531->1086->1085->117->2852->2853->2851->117->116->103->768->767->1701->1797->1795->1796->1701->1699->1700->767->766->1087->1088->1089->766->1501->1502->2228->2227->2229->1502->1503->766->103->104->1675->1676->1677->104->44->889->1082->1081->1131->2233->2234->2235->1131->1129->1130->2700->2698->2699->1130->1081->1083->889->1188->1187->1186->889->890->891->44->45->181->2796->2795->2794->181->183->398->397->399->464->1223->1224->1222->464->465->1766->2508->2507->2506->1766->1767->1765->465->466->2367->2365->2366->466->468->632->2109->2108->2107->632->633->631->1201->1203->1202->631->1404->1403->1402->631->468->467->862->863->864->467->465->463->1047->1857->1856->1855->1047->1046->1045->1528->1530->1529->1045->2727->2725->2726->1045->463->2523->2521->2522->463->2764->2765->2766->463->399->183->599->600->1343->1344->1342->600->2908->2910->2909->600->598->183->182->352->1672->1674->1673->352->354->1508->1509->1507->354->353->1057->1517->1516->1518->1057->1059->1058->353->1096->1850->1849->1851->1096->1098->1097->2246->2247->2245->1097->353->182->45->6->799->800->801->6->90->88->291->2498->2499->2497->291->289->290->88->89->6->5->14->15->16->197->198->409->410->411->868->869->870->411->198->196->373->374->788->979->1191->1868->1869->1867->1191->1972->1974->1973->1191->1189->1190->979->1805->1806->1804->979->2631->2630->2629->979->980->981->788->787->789->374->375->196->16->21->1627->1630->1631->1632->1627->1629->1628->21->2625->2623->2624->21->19->256->292->294->293->523->525->524->1269->1268->1267->524->293->256->257->258->503->502->1520->1519->1521->502->2514->2513->2703->2780->2779->2781->2703->2701->2702->2513->2512->502->504->258->619->731->1574->1573->1808->1809->1807->1573->1575->731->730->732->2410->2411->2412->732->619->620->621->937->939->938->621->258->19->69->1114->1116->1115->1562->1563->1561->2587->2588->2589->1561->1115->69->67->173->1107->1694->1693->1695->1107->1106->1105->2141->2276->2277->2275->2141->2142->2140->2548->2550->2549->2140->1105->173->172->174->1938->1936->2138->2139->2137->1936->1937->2122->2123->2124->1937->174->67->68->207->206->2125->2126->2127->206->205->2004->2003->2002->205->68->19->20->1470->1469->1468->20->158->247->248->355->461->462->624->693->692->691->624->623->1446->1445->2692->2694->2693->1445->2722->2724->2723->1445->1444->623->1703->2076->2075->2074->1703->1702->1704->623->622->783->1624->1625->1626->783->782->781->622->462->460->1593->1592->1591->460->355->357->1055->2423->2422->2424->1055->1056->1054->357->2897->2896->2898->357->356->248->371->705->2832->2831->2830->705->704->703->867->866->998->999->997->866->865->703->371->372->370->2212->2213->2214->370->424->425->426->755->756->754->426->370->479->1876->1878->1877->479->1905->1904->1903->479->478->2037->2035->2036->478->480->669->823->824->825->669->667->2289->2288->2287->667->668->480->370->248->249->158->159->645->643->644->2113->2114->2115->2160->2159->2158->2115->644->159->157->535->982->984->983->2635->2637->2636->983->535->536->537->157->20->175->1588->1590->1589->2899->2900->2901->1589->175->1618->1619->1620->175->177->176->2955->2953->2954->176->20->74->73->75->1484->1485->1483->75->20->16->17->18->15->60->315->377->857->858->856->377->378->376->738->737->736->1053->1052->1051->1118->1117->1863->1861->1862->1117->1119->2072->2073->2071->1119->1051->2222->2223->2221->1051->736->376->315->313->314->978->976->977->2902->2904->2903->977->314->60->441->439->1768->1769->1770->439->440->568->1093->1094->1095->568->569->570->440->60->58->91->301->303->302->91->526->2018->2019->2017->526->528->527->91->93->92->347->2014->2016->2015->347->348->1413->1411->2079->2078->2077->1411->2417->2418->2416->1411->1412->348->346->92->389->388->390->92->58->59->84->128->127->129->1388->1389->2151->2149->2150->2868->2866->2867->2150->1389->1387->129->1472->1471->1731->1729->1730->1471->1473->129->84->2355->2353->2354->84->82->83->226->227->228->83->59->15->13->5->63->1349->1646->1647->1645->1349->1350->1348->63->1890->1888->2862->2861->2860->1888->1889->63->62->61->131->130->795->793->794->130->132->1365->1838->1839->2798->2799->2797->1839->1837->1365->1364->1363->1886->1885->1887->1363->132->723->721->722->132->61->1715->2885->2886->2884->1715->1716->1714->61->5->4->110->1066->1067->1539->1537->1538->1067->1068->110->109->1177->1179->1178->109->111->1250->1251->1249->111->1812->2770->2771->2876->2875->2877->2771->2772->1812->1811->1810->111->1841->1842->1840->111->2957->2956->2958->111->4->212->213->778->1616->1617->1615->778->779->780->213->211->811->1607->1608->1606->811->813->812->211->4->255->254->253->1459->1460->1461->253->4->35->34->501->499->989->988->991->992->993->988->990->499->500->575->1198->1199->1599->1598->1597->1199->1200->575->574->576->2647->2911->2913->2912->2647->2648->2649->576->500->649->651->650->1329->1328->1327->650->500->34->36->56->317->316->318->1373->1372->2100->2099->2098->1372->1374->318->56->57->55->306->2618->2617->2619->306->404->403->405->306->304->345->344->1157->1293->1291->2056->2058->2057->1291->1292->1157->1158->1156->344->343->304->305->2682->2681->2680->305->55->36->4->2->7->1369->2066->2303->2304->2302->2066->2065->2067->1369->2646->2645->2644->1369->1370->1371->7->23->179->443->444->442->179->178->470->521->522->729->727->728->522->520->470->471->483->942->940->941->483->947->946->2351->2352->2350->946->948->483->481->482->471->469->785->1763->1764->1762->785->786->2144->2145->2143->786->784->469->178->180->1708->2841->2840->2839->1708->1709->1710->180->359->457->458->459->359->360->2178->2177->2176->360->985->986->987->360->358->2437->2438->2439->358->564->562->563->358->996->994->995->358->180->23->22->2263->2264->2265->2833->2834->2835->2265->22->243->242->328->1299->1297->1660->2330->2329->2331->1660->1661->1662->1297->1738->1740->2363->2364->2543->2544->2542->2364->2658->2657->2656->2364->2362->2449->2450->2451->2362->1740->1739->1297->1298->328->1477->2836->2838->2837->1477->1478->2721->2719->2720->1478->1479->328->369->1286->2864->2865->2863->1286->1285->1287->369->2248->2250->2249->369->540->918->2517->2516->2515->918->917->916->540->538->539->662->663->852->1008->1142->1141->1143->1008->1007->1366->1368->1367->1007->1006->852->851->1019->1309->1310->1820->1819->1821->1310->1311->1847->2751->2750->2749->1847->1846->1848->1311->2524->2526->2525->1311->1019->1020->1018->851->850->1104->1140->1138->1139->2971->2972->2973->1139->1104->1102->1103->850->2754->2752->2753->850->663->661->2566->2567->2568->661->819->828->827->826->819->817->818->1339->1802->1803->1801->1339->1341->1749->1747->2371->2373->2372->2604->2602->2603->2372->1747->1748->1341->1340->818->661->539->369->544->1025->1024->1026->1552->1553->1554->1026->544->545->1428->2928->2926->2927->1428->1427->1426->545->2388->2387->2386->545->546->369->368->367->572->1136->1137->1135->572->1307->1308->2187->2185->2186->1308->1306->2044->2046->2045->1306->2085->2083->2084->1306->572->571->573->1436->1437->1435->573->367->587->1489->1491->1490->587->586->588->367->328->607->609->635->1197->1196->1195->1721->1720->1722->1195->635->636->634->609->608->328->329->330->242->241->22->24->76->307->2270->2271->2269->307->308->309->76->81->79->80->437->1786->2081->2082->2080->1786->2538->2537->2536->1786->1787->2707->2708->2709->1787->1788->2460->2458->2459->1788->437->438->1782->2121->2120->2119->2197->2199->2198->2119->1782->1780->1781->438->436->80->76->77->78->1099->1100->1101->1919->1918->1920->1101->78->637->639->638->78->24->921->920->1016->1015->1017->920->2580->2578->2579->920->919->24->7->65->66->64->396->1570->1979->1980->1978->1570->1571->1572->396->395->975->974->2665->2666->2935->2936->2937->2666->2667->974->973->395->394->64->7->8->10->816->814->815->1263->1261->2823->2822->2821->1261->1262->815->911->912->1706->1705->1707->912->910->1543->1544->1545->910->815->10->12->11->2763->2761->2762->11->8->1664->1665->1663->2443->2445->2531->2532->2530->2445->2444->1663->8->53->52->1408->1410->1757->1756->1758->1410->1409->52->513->2407->2408->2409->513->512->511->2679->2678->2677->511->52->54->102->1687->1688->1689->1939->1940->1941->2932->2933->2934->1941->1689->102->2447->2448->2446->102->543->1254->1253->1252->2253->2251->2473->2474->2475->2251->2252->1252->543->542->971->1565->1564->1566->971->2420->2419->2421->971->972->970->542->541->102->101->1961->1960->2890->2892->2891->1960->1962->101->238->428->902->903->901->428->427->429->456->2801->2802->2800->456->455->454->429->238->240->2034->2033->2032->240->239->101->797->796->2613->2612->2611->796->798->101->100->1315->1317->1316->1864->2184->2182->2183->1864->1866->1865->1316->100->2894->2895->2893->100->54->214->678->676->2716->2718->2717->676->677->214->215->725->726->724->1356->1354->1355->724->1391->1431->1430->1429->1391->1390->1392->1669->1671->1670->1392->724->2022->2021->2545->2546->2547->2021->2020->724->821->822->1111->1113->1793->2493->2491->2492->1793->1792->1794->1113->2614->2616->2615->1113->1112->822->820->724->905->904->1495->1497->1496->2294->2295->2293->1496->904->906->2344->2346->2345->906->724->215->216->1611->1609->1610->216->434->435->433->1215->1214->1213->433->451->453->452->926->927->925->2181->2180->2179->925->452->433->216->54->222->2590->2591->2592->222->960->959->1003->1004->1005->2060->2740->2742->2741->2060->2059->2061->1005->959->958->222->221->498->496->497->1332->1331->1567->2434->2436->2435->1567->1569->1568->1331->1330->497->221->220->2811->2810->2809->220->547->549->2134->2135->2136->549->548->220->54->8->9->2->3->26->1038->1036->1037->1734->1732->2237->2236->2528->2529->2527->2236->2238->1732->1733->1037->26->30->1109->1110->1108->1487->1486->1488->1108->1718->1717->1719->1108->30->190->272->273->363->361->488->487->489->361->803->962->1040->1039->2472->2470->2471->1039->1041->1586->1587->1585->1041->962->963->961->803->804->1759->1761->2260->2980->2982->2981->2260->2262->2261->2505->2503->2504->2261->1761->1760->804->802->361->362->273->271->190->191->192->2001->1999->2013->2012->2011->1999->2000->192->602->1696->2101->2652->2650->2651->2101->2102->2103->1696->1697->1698->602->759->757->758->602->601->603->2129->2128->2130->603->192->30->38->118->323->322->1181->1419->1417->2773->2774->2775->1417->1418->1181->1182->1180->2215->2217->2216->1180->322->324->341->340->342->578->579->577->342->739->741->740->776->777->775->740->342->324->118->119->120->38->606->604->605->38->37->39->141->1583->1584->1968->1966->1967->1584->1582->1951->2169->2167->2168->1951->2806->2807->2808->1951->1952->1953->1582->141->139->1829->1828->1986->2622->2620->2621->1986->1984->1985->1828->1830->139->532->951->2392->2393->2394->951->950->949->532->533->534->139->140->234->694->696->695->234->232->233->140->39->30->591->1398->1397->1396->1775->1776->1774->1396->591->589->853->2826->2825->2824->853->879->877->878->853->855->1736->1737->2340->2338->2339->1737->1735->855->955->2069->2068->2244->2285->2286->2284->2244->2242->2243->2068->2070->955->956->957->855->854->2090->2089->2091->854->589->590->2348->2349->2347->590->30->28->29->122->1929->1928->1927->2871->2869->2870->1927->122->123->145->187->2291->2292->2290->187->188->189->1270->1272->1271->189->275->1656->1655->1654->275->274->1265->1264->1266->274->1381->1383->1382->274->432->430->2553->2551->2552->430->431->274->276->189->145->888->1238->1239->1237->888->887->1325->1324->2094->2092->2093->2096->2095->2097->2093->1324->1326->1386->1384->1385->1326->887->886->145->147->250->251->681->680->679->251->252->147->146->379->699->1279->1280->1281->699->697->698->379->381->380->1456->1457->1859->1860->1858->1457->1458->1579->1580->1581->1458->380->1684->1686->1685->2195->2194->2196->1685->380->146->123->153->151->152->123->121->219->364->366->929->930->928->366->365->219->217->218->287->486->485->2318->2317->2319->485->484->287->288->286->218->121->2259->2258->2257->121->29->144->143->418->1075->2855->2856->2854->1075->1076->1494->1513->2664->2663->2662->1513->1515->1514->1494->1492->1681->1682->1683->1492->2405->2406->2404->1492->1493->2299->2301->2300->1493->1076->1077->1210->1211->1212->1077->418->1379->1378->1380->1728->1726->1727->1380->2676->2674->2675->1380->418->1771->1773->1772->418->1998->1997->1996->418->630->1399->1401->1743->1742->1741->1401->1400->1423->1424->1425->1400->630->628->629->418->420->1174->1175->1176->1602->1601->1600->1176->2639->2638->2640->1176->420->1541->1542->1540->420->419->1167->2820->2818->2819->1167->1165->2978->2979->2977->1165->1166->419->2378->2377->2776->2778->2777->2989->2990->2991->2777->2377->2379->419->143->773->774->772->143->899->1065->1064->1063->899->900->898->1319->1318->1320->898->143->142->29->199->1028->1171->1172->1321->1322->1323->1172->1474->1475->1476->2358->2356->2357->1476->1172->1173->1028->1029->2747->2746->2748->2881->2882->2883->2748->1029->1027->1230->1229->2361->2359->2467->2768->2767->2769->2467->2469->2468->2359->2360->1229->1228->1027->199->200->201->29->2063->2062->2064->29->42->125->126->519->1791->1789->2691->2689->2690->1789->1790->1976->2919->2918->2917->1976->1975->1977->1790->2561->2562->2560->1790->519->518->517->1206->1205->1204->517->126->124->137->136->138->124->2948->2947->2949->124->42->163->1438->2480->2964->2962->2963->2480->2481->2479->1438->1440->1439->163->333->332->331->2203->2205->2204->331->163->164->165->42->270->268->269->42->41->660->1245->1243->1244->660->1511->2914->2916->2915->1511->1512->1510->660->659->658->41->40->407->449->448->450->407->406->408->40->885->883->884->40->29->51->49->210->339->338->337->210->208->209->1638->2577->2576->2575->1638->1637->1636->209->230->229->2026->2028->2027->229->807->805->1258->1442->1441->1443->1258->2486->2485->2487->1258->1259->2986->2987->2988->1259->1260->2453->2452->2454->1260->805->806->229->231->416->682->1921->1923->1922->682->2965->2967->2966->682->683->684->416->417->415->1945->1947->1946->415->231->752->965->966->964->752->753->1815->1814->1813->2054->2494->2495->2496->2054->2053->2055->1813->753->751->231->209->49->742->2296->2298->2297->742->744->743->49->50->1942->1943->1944->50->245->244->246->284->2023->2024->2025->2653->2654->2655->2025->284->283->285->246->50->29->26->310->554->555->595->2581->2583->2582->595->597->1092->1091->1090->1526->1525->1527->1090->597->596->555->553->1152->1150->1151->553->310->873->872->1691->1692->1690->872->871->310->312->2282->2281->2283->312->320->319->321->1680->1679->1678->1751->1752->1750->1678->321->551->1132->1134->2163->2162->2161->1134->1133->551->1147->1148->1547->1548->1546->1148->1149->551->552->1209->1208->1207->552->550->1305->1303->1347->1346->1345->1303->1304->550->321->312->530->531->529->312->311->26->514->1958->1957->1959->514->516->515->1169->1170->1168->515->1295->1294->1296->515->26->618->1892->1893->2005->2170->2172->2171->2730->2729->2728->2171->2005->2007->2006->1893->1891->618->913->915->1395->1394->1393->915->914->618->616->617->26->25->167->166->168->1668->1667->1666->168->25->1982->1983->1981->25->33->401->557->558->1911->1909->1910->558->556->2786->2785->2787->556->652->653->654->1000->1001->1648->1649->1650->1001->1002->654->556->401->402->400->33->86->2111->2464->2466->2465->2111->2584->2585->2586->2111->2112->2110->86->2482->2483->2484->86->259->297->296->295->2157->2156->2155->295->945->943->944->1034->1035->1033->944->295->259->392->393->391->559->560->1290->1334->1333->2974->2976->2975->1333->1335->1831->1833->1832->1335->1290->1288->1289->560->561->391->583->585->584->391->259->261->260->86->262->264->263->2413->2415->2414->263->2829->2827->2828->263->86->614->1061->1217->1218->1216->1300->1301->1302->1216->1061->1060->1062->1603->1605->1604->1062->1744->1746->1745->1062->614->714->1352->2490->2489->2488->1352->1353->1351->714->713->2052->2050->2051->713->712->614->615->613->86->837->836->1536->1534->1883->1884->1882->1534->1535->836->835->86->85->385->387->2240->2241->2272->2273->2274->2241->2239->387->386->85->87->33->31->1523->1522->1524->31->170->2307->2306->2305->2735->2736->2734->2305->170->592->2943->2941->2942->592->593->2118->2117->2116->593->594->1248->1247->1246->1880->1881->1879->1246->594->170->171->648->646->1556->2047->2048->2049->2376->2374->2375->2049->1556->2220->2219->2626->2627->2628->2219->2218->1556->1557->2425->2426->2427->1557->1555->646->1971->1969->1970->646->647->171->169->700->1549->1551->1550->700->702->701->169->31->193->195->2008->2009->2010->2324->2325->2323->2010->195->194->1987->1989->1988->194->31->237->2697->2695->2696->237->235->2557->2983->2984->2985->2557->2558->2559->235->350->1232->1233->1231->350->351->567->1455->1613->1614->1612->1455->1453->1454->1934->1933->1935->1454->567->566->1273->1275->1274->566->565->351->349->665->770->769->1482->1480->1481->769->771->665->664->1852->1854->2518->2519->2520->1854->1853->2029->2031->2030->1853->664->666->349->235->842->2041->2042->2043->842->841->1635->1633->1634->2455->2456->2457->1634->841->843->1895->1894->1896->2328->2326->2327->1896->2685->2683->2684->1896->843->235->236->31->32->25->27->3->642->685->716->717->1498->2315->2333->2334->2332->2315->2314->2316->1498->1500->2201->2200->2534->2533->2848->2849->2850->2533->2535->2200->2202->1500->1499->2668->2670->2669->2931->2929->2930->2669->1499->717->715->2106->2104->2105->715->2210->2211->2209->715->685->687->686->1359->1357->1358->1992->2311->2313->2312->1992->1991->1990->1358->2759->2760->2758->1358->686->2596->2731->2732->2733->2596->2597->2960->2959->2961->2597->2598->686->642->640->641->1022->2633->2632->2634->1022->1023->1278->1816->1817->1818->1278->2310->2660->2659->2661->2310->2308->2309->1278->1276->1277->1023->1021->641->1125->1124->1123->2998->3000->2999->1123->641->3->95->98->422->423->421->98->859->860->1011->1009->2403->2402->2463->2462->2461->2402->2401->1009->1010->2441->2922->2920->2921->2441->2440->2442->1010->2968->2969->2970->1010->860->861->1652->1653->1798->1800->1799->1653->1651->861->98->922->1845->1844->1843->922->923->924->98->97->99->1623->1622->1621->2166->2165->2164->1621->99->267->266->760->761->762->266->265->99->690->688->689->99->95->96->112->611->808->809->1194->1192->1193->809->1255->1256->1257->809->810->1221->2594->2593->2595->1221->1220->2889->2887->2888->1220->1219->1901->1902->1900->2086->2088->2572->2812->2814->2813->2572->2573->2574->2088->2087->1900->2569->2570->2571->1900->1219->810->611->610->612->112->673->1914->1912->1913->673->849->848->847->673->675->674->1128->1127->1126->674->2556->2555->2554->674->112->113->114->96->186->1874->1873->1875->186->185->709->1834->1835->1836->709->710->711->185->184->96->94->581->1824->1822->1823->581->734->735->733->581->580->897->896->895->1120->2872->2873->2874->1120->1122->1121->895->580->582->94->3->0->325->326->327->1013->1164->1338->1337->2938->2939->2940->1337->1336->2994->2992->2993->1336->1164->1162->1163->1013->2511->2510->2509->1013->1012->1451->1452->2600->2599->2601->1452->2906->2905->2907->1452->1450->1012->1014->2782->2783->2784->2793->2791->2792->2784->1014->327->447->1993->1995->1994->2428->2430->2429->1994->447->446->445->327->0->'
len(blah.split('->'))