{"ScriptPreparationCode":"function range1(start, stop, step, from, to) {\r\n\tif(from) {\r\n\t\tvar value = start;\r\n\t}\r\n\telse {\r\n\t\tvar value = start \u002B step;\r\n\t}\r\n\t\r\n\tvar length = Math.max(Math.ceil((stop - value) / step), 0);\r\n\t\r\n\tif(to \u0026\u0026 (stop % step === start % step)) {\r\n\t\t\u002B\u002Blength;\r\n\t}\r\n\t\r\n\tvar array = Array(length);\r\n\t\r\n\tfor(var i = 0; i \u003C length; i\u002B\u002B, value \u002B= step) {\r\n\t\tarray[i] = value;\r\n\t}\r\n\t\r\n\treturn array;\r\n};\r\n\r\n\r\nfunction range2(start, stop, step, from, to) {\r\n\tvar array = [];\r\n\t\r\n\tfor(var i = from ? start : start \u002B step, l = to ? stop \u002B 1 : stop; i \u003C l; i \u002B= step) {\r\n\t\tarray.push(i);\r\n\t}\r\n\t\r\n\treturn array;\r\n};\r\n\r\nfunction range3(start, stop, step, from, to) {\r\n\tvar length = (stop - start) / step;\r\n\tif(length \u003E 100) {\r\n\t\tif(from) {\r\n\t\t\tvar value = start;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvar value = start \u002B step;\r\n\t\t}\r\n\t\t\r\n\t\tlength = Math.max(Math.ceil(length), 0);\r\n\t\t\r\n\t\tif(to \u0026\u0026 (stop % step === start % step)) {\r\n\t\t\t\u002B\u002Blength;\r\n\t\t}\r\n\t\t\r\n\t\tvar array = Array(length);\r\n\t\t\r\n\t\tfor(var i = 0; i \u003C length; i\u002B\u002B, value \u002B= step) {\r\n\t\t\tarray[i] = value;\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\tvar array = [];\r\n\t\t\r\n\t\tfor(var i = from ? start : start \u002B step, l = to ? stop \u002B 1 : stop; i \u003C l; i \u002B= step) {\r\n\t\t\tarray.push(i);\r\n\t\t}\r\n\t}\r\n\t\r\n\treturn array;\r\n};","TestCases":[{"Name":"1 - 6","Code":"range1(1, 6, 2, true, true);","IsDeferred":false},{"Name":"2 - 6","Code":"range2(1, 6, 2, true, true);","IsDeferred":false},{"Name":"1 - 60","Code":"range1(1, 60, 2, true, true);","IsDeferred":false},{"Name":"2 - 60","Code":"range2(1, 60, 2, true, true);","IsDeferred":false},{"Name":"1 - 600","Code":"range1(1, 600, 2, true, true);","IsDeferred":false},{"Name":"2 - 600","Code":"range2(1, 600, 2, true, true);","IsDeferred":false},{"Name":"3 - 6","Code":"range3(1, 6, 2, true, true);","IsDeferred":false},{"Name":"3 - 60","Code":"range3(1, 60, 2, true, true);","IsDeferred":false},{"Name":"3 - 600","Code":"range3(1, 600, 2, true, true);","IsDeferred":false}]}