{"ScriptPreparationCode":"var paths = [\r\n \u0022/52/1/1/1/3/6/1/\u0022,\r\n \u0022/52/1/1/1/2/1/1/\u0022,\r\n \u0022/52/1/1/1/2/1/2/\u0022,\r\n \u0022/52/1/1/1/2/2/1/\u0022,\r\n \u0022/52/1/1/1/2/2/2/\u0022,\r\n \u0022/52/1/1/1/2/2/3/\u0022,\r\n \u0022/52/1/1/1/2/1/3/\u0022,\r\n \u0022/52/1/1/1/2/1/4/\u0022,\r\n \u0022/52/1/1/1/2/1/5/\u0022,\r\n \u0022/52/1/1/1/2/2/4/\u0022,\r\n \u0022/52/1/1/1/2/2/5/\u0022,\r\n \u0022/52/1/1/1/2/1/1/1/\u0022,\r\n \u0022/52/1/1/1/2/1/2/1/\u0022,\r\n \u0022/61/1/\u0022,\r\n \u0022/52/1/1/2/1/3/\u0022,\r\n \u0022/52/1/1/2/1/4/\u0022,\r\n \u0022/52/1/1/1/2/1/1/2/\u0022,\r\n \u0022/52/1/1/1/2/1/1/3/\u0022,\r\n \u0022/52/1/1/1/2/1/1/4/\u0022,\r\n \u0022/52/1/1/1/2/1/1/5/\u0022,\r\n \u0022/52/1/1/1/10/1/\u0022,\r\n \u0022/52/1/1/1/10/1/1/\u0022,\r\n \u0022/52/1/1/1/10/2/\u0022,\r\n \u0022/52/1/1/1/10/3/\u0022,\r\n \u0022/52/1/1/1/10/3/1/\u0022,\r\n \u0022/52/1/1/1/10/3/2/\u0022,\r\n \u0022/52/1/1/1/10/4/\u0022,\r\n \u0022/52/1/1/1/14/1/\u0022,\r\n \u0022/52/1/1/1/14/2/\u0022,\r\n \u0022/52/1/1/1/14/3/\u0022,\r\n \u0022/52/1/1/1/1/2/\u0022,\r\n \u0022/52/1/1/1/1/3/\u0022,\r\n \u0022/52/1/1/1/14/2/1/\u0022,\r\n \u0022/52/1/1/1/14/2/2/\u0022,\r\n \u0022/52/1/1/1/16/2/\u0022,\r\n \u0022/52/1/1/1/16/4/\u0022,\r\n \u0022/52/1/1/1/10/2/1/\u0022,\r\n \u0022/52/1/1/1/22/1/\u0022,\r\n \u0022/52/1/1/1/22/1/1/\u0022,\r\n \u0022/52/1/1/1/22/2/\u0022,\r\n \u0022/52/1/1/1/22/2/1/\u0022,\r\n \u0022/52/1/1/1/22/1/2/\u0022,\r\n \u0022/52/1/1/1/22/2/2/\u0022,\r\n \u0022/52/1/1/1/14/4/\u0022,\r\n \u0022/52/1/1/1/23/1/\u0022,\r\n \u0022/52/1/1/1/23/2/\u0022,\r\n \u0022/52/1/1/1/23/1/1/\u0022,\r\n \u0022/52/1/1/1/23/1/2/\u0022,\r\n \u0022/52/1/1/1/23/2/1/\u0022,\r\n \u0022/52/1/1/1/23/2/2/\u0022,\r\n \u0022/52/1/1/1/22/1/3/\u0022,\r\n \u0022/52/1/1/1/22/2/3/\u0022,\r\n \u0022/52/1/1/1/25/1/\u0022,\r\n \u0022/52/1/1/1/25/2/\u0022,\r\n \u0022/52/1/1/1/25/3/\u0022,\r\n \u0022/52/1/1/1/25/4/\u0022,\r\n \u0022/52/1/1/1/25/5/\u0022,\r\n \u0022/52/1/1/1/25/6/\u0022\r\n];\r\n\r\nfunction nthIndexOf(s, search, count, pos = 0) {\r\n let i = pos - 1;\r\n while (count \u003E 0) {\r\n i = s.indexOf(search, i \u002B 1);\r\n if (i === -1) {\r\n break;\r\n }\r\n count--;\r\n }\r\n return i;\r\n}\r\n\r\nfunction nthIndexOfRec(s, search, count, pos = 0) {\r\n const recurse = (c, p) =\u003E {\r\n if (c === 0) {\r\n return p;\r\n }\r\n const index = s.indexOf(search, p \u002B 1);\r\n if (index === -1) {\r\n return -1;\r\n }\r\n return recurse(c - 1, index);\r\n };\r\n return recurse(count, pos - 1);\r\n}\r\n\r\nfunction nthIndexOfCc(s, search, count, pos = 0) {\r\n const recurse = (c, p, cc) =\u003E {\r\n if (c === 0) {\r\n cc(p);\r\n return;\r\n }\r\n const index = s.indexOf(search, p \u002B 1);\r\n if (index === -1) {\r\n cc(-1);\r\n return;\r\n }\r\n recurse(c - 1, index, cc);\r\n };\r\n\r\n let result = -1;\r\n recurse(count, pos - 1, n =\u003E (result = n));\r\n return result;\r\n}","TestCases":[{"Name":"while","Code":"paths.forEach(path =\u003E console.log(path.substring(0, nthIndexOf(path, \u0027/\u0027, 5) \u002B 1)));","IsDeferred":false},{"Name":"recurse","Code":"paths.forEach(path =\u003E console.log(path.substring(0, nthIndexOfRec(path, \u0027/\u0027, 5) \u002B 1)));","IsDeferred":false},{"Name":"continuation","Code":"paths.forEach(path =\u003E console.log(path.substring(0, nthIndexOfCc(path, \u0027/\u0027, 5) \u002B 1)));","IsDeferred":false}]}