{"ScriptPreparationCode":"var size = 1000\r\nvar m = Array.from({length:size}).map((_,x)=\u003EArray.from({length:size}).map((_,y)=\u003Ex*1000\u002By))\r\n\r\nfunction* iter(ma) {\r\n const w = ma.length;\r\n const h=ma[0].length\r\n for (let x=0;x\u003Cw;x\u002B=1){\r\n\t for (let y=0;y\u003Ch;y\u002B=1){\r\n\t\tyield [x,y]\r\n\t}\r\n }\r\n}\r\n\r\n\r\nfunction callback(ma, cb) {\r\n const w = ma.length;\r\n const h=ma[0].length\r\n for (let x=0;x\u003Cw;x\u002B=1){\r\n\t for (let y=0;y\u003Ch;y\u002B=1){\r\n\t\tcb(x,y)\r\n\t}\r\n }\r\n}\r\n\r\n\r\nfunction cells(ma) {\r\n\tconst res = []\r\n const w = ma.length;\r\n const h=ma[0].length\r\n for (let x=0;x\u003Cw;x\u002B=1){\r\n\t for (let y=0;y\u003Ch;y\u002B=1){\r\n\t\tres.push([x,y])\r\n\t}\r\n }\r\nreturn res\r\n}\r\n\r\n","TestCases":[{"Name":"iter","Code":"const iterInst = iter(m)\r\nlet sum = 0\r\nfor (const [x,y] of iterInst) {\r\n\tsum \u002B= m[x][y]\r\n}\r\nconsole.log(sum)","IsDeferred":false},{"Name":"callback","Code":"let sum = 0;\r\ncallback(m, (x,y)=\u003Esum \u002B= m[x][y])\r\nconsole.log(sum)","IsDeferred":false},{"Name":"cells","Code":"const c = cells(m)\r\nlet sum = 0\r\nfor (const [x,y] of c) {\r\n\tsum \u002B= m[x][y]\r\n}\r\nconsole.log(sum)","IsDeferred":false}]}