{"ScriptPreparationCode":null,"TestCases":[{"Name":"shortVarNames","Code":"let l = 0;\r\nlet s = 3;\r\nconst m = (10**9 \u002B7);\r\nlet t = 0;\r\n\r\nvar numOfWays = n =\u003E {\r\n l = 0;\r\n s = 3;\r\n\r\n for (let i = 0; i \u003C n; i\u002B\u002B) {\r\n t = (s * 2) % m;\r\n l = (l \u002B t) % m;\r\n s = (l \u002B t) % m\r\n }\r\n\r\n return s\r\n}\r\n\r\nnumOfWays(100)","IsDeferred":false},{"Name":"longVarNames","Code":"let last = 0;\r\nlet sum = 3;\r\nconst mod = (10**9 \u002B7);\r\nlet temporary = 0;\r\n\r\nvar numOfWays = n =\u003E {\r\n last = 0;\r\n sum = 3;\r\n\r\n for (let i = 0; i \u003C n; i\u002B\u002B) {\r\n temp = (sum * 2) % mod;\r\n last = (last \u002B temporary) % mod;\r\n sum = (last \u002B temporary) % mod;\r\n }\r\n\r\n return sum\r\n}\r\n\r\nnumOfWays(100)","IsDeferred":false},{"Name":"Original","Code":"var numOfWays = n =\u003E {\r\n let twoColours = 6;\r\n let threeColours = 6;\r\n const mod = (10**9 \u002B7);\r\n\r\n for (let i = 1; i \u003C n; i\u002B\u002B) {\r\n let prevTwo = twoColours;\r\n let prevThree = threeColours;\r\n twoColours = (2 * prevThree \u002B 3 * prevTwo) % mod;\r\n threeColours = (2 * prevThree \u002B 2 * prevTwo) % mod;\r\n }\r\n return (twoColours \u002B threeColours) % mod;\r\n}\r\n\r\nnumOfWays(100)","IsDeferred":false}]}