{"ScriptPreparationCode":"const alphabet = [\u00220\u0022, \u00221\u0022, \u00222\u0022, \u00223\u0022, \u00224\u0022, \u00225\u0022, \u00226\u0022, \u00227\u0022, \u00228\u0022, \u00229\u0022, \u0022A\u0022, \u0022B\u0022, \u0022C\u0022, \u0022D\u0022, \u0022E\u0022, \u0022F\u0022, \u0022G\u0022, \u0022H\u0022, \u0022I\u0022, \u0022J\u0022, \u0022K\u0022, \u0022L\u0022, \u0022M\u0022, \u0022N\u0022, \u0022O\u0022, \u0022P\u0022, \u0022Q\u0022, \u0022R\u0022, \u0022S\u0022, \u0022T\u0022, \u0022U\u0022, \u0022V\u0022, \u0022W\u0022, \u0022X\u0022, \u0022Y\u0022, \u0022Z\u0022, \u0022a\u0022, \u0022b\u0022, \u0022c\u0022, \u0022d\u0022, \u0022e\u0022, \u0022f\u0022, \u0022g\u0022, \u0022h\u0022, \u0022i\u0022, \u0022j\u0022, \u0022k\u0022, \u0022l\u0022, \u0022m\u0022, \u0022n\u0022, \u0022o\u0022, \u0022p\u0022, \u0022q\u0022, \u0022r\u0022, \u0022s\u0022, \u0022t\u0022, \u0022u\u0022, \u0022v\u0022, \u0022w\u0022, \u0022x\u0022, \u0022y\u0022, \u0022z\u0022];\r\n const numBatches = 10000;\r\n let exp = 1;\r\n let maxBatches = alphabet.length;\r\n while (numBatches \u003E maxBatches) {\r\n maxBatches *= alphabet.length;\r\n exp\u002B\u002B;\r\n }\r\n console.log(maxBatches, exp);\r\n\r\nconst potentialStops = _generatePotentialStops(alphabet, exp);\r\nvar arr = potentialStops;\r\nvar n = Math.round(potentialStops.length / numBatches);\r\n\r\n\r\nfunction _generatePotentialStops(chars, exp) {\r\n if (exp === 1) return chars;\r\n const stops = [];\r\n for (const char of chars) {\r\n const addChars = _generatePotentialStops(chars, exp - 1);\r\n for (const addChar of addChars) {\r\n stops.push(char \u002B addChar);\r\n }\r\n }\r\n return stops;\r\n}\r\n\r\n\r\n\r\n\r\n","TestCases":[{"Name":"splice","Code":"const res = [];\r\n while (arr.length) {\r\n const chunk = arr.splice(0, n);\r\n res.push([...chunk, arr[0]]);\r\n }\r\n return res;","IsDeferred":false},{"Name":"loop-shift","Code":"const res = [];\r\n while (arr.length) {\r\n const chunk = [];\r\n for (let i = 0; i \u003C n; i\u002B\u002B)\r\n chunk.push(arr.shift());\r\n \r\n res.push([...chunk, arr[0]]);\r\n }\r\n return res;","IsDeferred":false},{"Name":"filter","Code":"const res = [];\r\nlet start = 0;\r\n while (arr.length) {\r\n res.push(arr.filter((elem, idx) =\u003E idx \u003E= start \u0026\u0026 idx \u003C start \u002B n \u002B 1));\r\n start \u002B= n;\r\n }\r\n return res;","IsDeferred":false},{"Name":"slice","Code":"const res = [];\r\nlet start = 0;\r\n while (arr.length) {\r\n res.push(arr.slice(start, start \u002B n \u002B 1));\r\n start \u002B= n;\r\n }\r\n return res;","IsDeferred":false}]}