let data = [['N', 4],
['R', 90],
['E', 1],
['L', 90],
['S', 5],
['R', 90],
['E', 4],
['L', 180],
['W', 1],
['W', 2],
['L', 90],
['N', 1],
['R', 90],
['S', 5],
['W', 4],
['S', 1],
['F', 64],
['E', 2],
['R', 180],
['S', 1],
['L', 270],
['W', 1],
['R', 90],
['R', 90],
['W', 4],
['S', 4],
['W', 4],
['R', 90],
['F', 41],
['E', 2],
['R', 90],
['E', 2],
['F', 34],
['N', 4],
['R', 90],
['W', 4],
['S', 5],
['F', 57],
['L', 90],
['S', 1],
['F', 22],
['E', 4],
['R', 90],
['S', 5],
['E', 1],
['F', 37],
['S', 1],
['L', 90],
['S', 5],
['W', 1],
['N', 1],
['E', 4],
['W', 1],
['R', 180],
['F', 2],
['S', 4],
['F', 67],
['E', 2],
['W', 5],
['R', 90],
['N', 1],
['L', 270],
['F', 46],
['S', 4],
['W', 1],
['L', 90],
['F', 81],
['E', 1],
['S', 1],
['L', 90],
['W', 2],
['R', 180],
['F', 53],
['R', 180],
['E', 1],
['R', 270],
['F', 21],
['E', 4],
['R', 180],
['W', 3],
['S', 5],
['E', 2],
['N', 4],
['F', 81],
['R', 180],
['W', 2],
['R', 90],
['S', 3],
['F', 58],
['L', 180],
['F', 78],
['E', 5],
['R', 90],
['S', 2],
['W', 2],
['F', 14],
['S', 3],
['E', 4],
['F', 15],
['N', 2],
['F', 65],
['R', 180],
['E', 5],
['R', 180],
['E', 3],
['N', 2],
['R', 90],
['W', 4],
['F', 19],
['W', 3],
['F', 28],
['R', 180],
['W', 2],
['F', 80],
['S', 3],
['R', 90],
['S', 1],
['W', 4],
['E', 3],
['F', 31],
['W', 1],
['N', 3],
['R', 180],
['E', 2],
['S', 4],
['F', 48],
['L', 90],
['F', 78],
['R', 90],
['N', 4],
['R', 180],
['E', 3],
['L', 90],
['N', 5],
['R', 180],
['N', 3],
['F', 45],
['W', 5],
['N', 4],
['F', 59],
['N', 5],
['W', 3],
['L', 90],
['F', 85],
['N', 1],
['E', 4],
['S', 4],
['R', 90],
['F', 34],
['W', 1],
['F', 25],
['R', 90],
['E', 1],
['S', 4],
['R', 180],
['W', 3],
['N', 1],
['E', 2],
['S', 5],
['W', 3],
['F', 83],
['W', 1],
['N', 3],
['W', 3],
['E', 5],
['W', 4],
['R', 90],
['S', 1],
['R', 270],
['N', 2],
['R', 90],
['F', 44],
['E', 3],
['S', 1],
['R', 90],
['F', 44],
['L', 180],
['F', 98],
['E', 5],
['F', 86],
['E', 4],
['F', 26],
['W', 4],
['F', 43],
['W', 2],
['L', 90],
['F', 28],
['R', 90],
['N', 5],
['W', 3],
['F', 60],
['R', 180],
['N', 5],
['R', 90],
['S', 1],
['L', 90],
['W', 3],
['R', 90],
['W', 3],
['S', 3],
['R', 270],
['S', 4],
['E', 4],
['N', 2],
['E', 3],
['S', 1],
['L', 90],
['S', 1],
['F', 78],
['R', 180],
['R', 90],
['N', 1],
['F', 83],
['F', 71],
['N', 4],
['W', 4],
['N', 2],
['E', 4],
['S', 1],
['E', 1],
['S', 5],
['F', 89],
['N', 3],
['F', 43],
['E', 4],
['R', 90],
['S', 1],
['L', 90],
['F', 76],
['N', 2],
['W', 4],
['R', 90],
['N', 4],
['R', 90],
['F', 46],
['E', 3],
['F', 7],
['F', 2],
['N', 4],
['L', 90],
['F', 98],
['E', 3],
['F', 92],
['N', 2],
['F', 18],
['E', 2],
['L', 180],
['F', 1],
['N', 2],
['R', 90],
['F', 71],
['E', 3],
['F', 22],
['E', 3],
['L', 90],
['E', 1],
['N', 2],
['L', 90],
['W', 4],
['S', 3],
['E', 1],
['N', 2],
['R', 90],
['F', 38],
['W', 2],
['S', 3],
['R', 90],
['F', 2],
['R', 180],
['F', 29],
['R', 90],
['E', 3],
['S', 3],
['F', 84],
['R', 90],
['W', 5],
['F', 88],
['W', 1],
['L', 180],
['F', 57],
['S', 4],
['W', 1],
['L', 90],
['S', 1],
['F', 8],
['R', 90],
['S', 1],
['L', 90],
['E', 2],
['S', 5],
['F', 87],
['N', 3],
['E', 5],
['F', 59],
['E', 3],
['N', 2],
['L', 180],
['S', 2],
['R', 90],
['N', 2],
['F', 66],
['S', 2],
['L', 90],
['W', 1],
['N', 3],
['W', 3],
['E', 1],
['L', 90],
['F', 1],
['N', 4],
['W', 4],
['N', 5],
['F', 66],
['N', 3],
['L', 90],
['E', 3],
['R', 90],
['N', 3],
['E', 1],
['N', 4],
['F', 7],
['E', 3],
['W', 3],
['R', 180],
['E', 3],
['N', 1],
['S', 3],
['E', 1],
['S', 4],
['R', 180],
['W', 4],
['F', 57],
['F', 56],
['S', 2],
['F', 49],
['W', 1],
['R', 90],
['F', 3],
['N', 4],
['R', 180],
['W', 2],
['F', 88],
['L', 90],
['F', 89],
['S', 5],
['W', 3],
['L', 90],
['F', 55],
['N', 1],
['F', 98],
['E', 5],
['R', 90],
['F', 22],
['N', 4],
['E', 3],
['F', 6],
['F', 49],
['W', 1],
['L', 90],
['N', 5],
['S', 1],
['W', 2],
['N', 1],
['F', 36],
['E', 4],
['N', 1],
['N', 1],
['R', 90],
['F', 80],
['E', 4],
['F', 1],
['L', 90],
['L', 90],
['F', 37],
['E', 3],
['S', 2],
['E', 1],
['N', 4],
['L', 90],
['F', 21],
['E', 1],
['F', 50],
['W', 4],
['R', 270],
['S', 1],
['R', 90],
['W', 3],
['W', 5],
['N', 4],
['R', 90],
['F', 46],
['N', 5],
['L', 270],
['E', 1],
['R', 180],
['F', 39],
['W', 3],
['F', 37],
['E', 1],
['N', 3],
['R', 90],
['S', 3],
['F', 77],
['R', 90],
['S', 3],
['R', 90],
['F', 56],
['L', 90],
['S', 1],
['W', 4],
['R', 270],
['F', 73],
['E', 3],
['R', 90],
['S', 1],
['E', 1],
['L', 90],
['N', 4],
['F', 45],
['L', 180],
['W', 2],
['N', 5],
['L', 90],
['F', 95],
['N', 3],
['L', 180],
['S', 1],
['F', 15],
['W', 3],
['L', 90],
['W', 5],
['L', 180],
['E', 3],
['N', 1],
['F', 46],
['W', 4],
['N', 2],
['L', 90],
['F', 55],
['E', 4],
['N', 1],
['L', 180],
['N', 3],
['F', 46],
['W', 1],
['S', 3],
['F', 36],
['R', 180],
['W', 2],
['L', 90],
['W', 3],
['L', 90],
['F', 96],
['N', 5],
['L', 180],
['F', 36],
['R', 90],
['W', 2],
['N', 5],
['W', 4],
['F', 95],
['E', 3],
['S', 4],
['F', 44],
['N', 5],
['E', 2],
['N', 5],
['F', 15],
['E', 3],
['N', 2],
['F', 57],
['N', 2],
['F', 43],
['S', 1],
['F', 67],
['W', 5],
['F', 68],
['W', 5],
['S', 1],
['F', 51],
['L', 90],
['W', 5],
['N', 5],
['L', 180],
['S', 1],
['W', 1],
['S', 5],
['F', 37],
['W', 3],
['N', 1],
['F', 25],
['S', 3],
['L', 90],
['F', 65],
['S', 3],
['W', 5],
['F', 43],
['W', 1],
['F', 41],
['R', 90],
['F', 51],
['N', 4],
['W', 1],
['F', 62],
['E', 1],
['N', 1],
['W', 2],
['S', 2],
['F', 78],
['S', 4],
['W', 5],
['F', 92],
['N', 5],
['L', 90],
['W', 5],
['S', 2],
['F', 72],
['R', 180],
['F', 45],
['L', 180],
['S', 1],
['W', 5],
['L', 180],
['S', 5],
['R', 90],
['N', 3],
['F', 91],
['S', 2],
['N', 5],
['E', 2],
['S', 2],
['L', 90],
['E', 2],
['R', 90],
['S', 4],
['W', 1],
['L', 90],
['W', 3],
['W', 4],
['L', 180],
['F', 61],
['L', 90],
['F', 66],
['E', 1],
['N', 3],
['W', 3],
['F', 64],
['R', 180],
['E', 1],
['F', 68],
['R', 90],
['E', 5],
['R', 180],
['N', 3],
['R', 180],
['F', 73],
['W', 5],
['F', 72],
['S', 4],
['F', 69],
['N', 1],
['L', 270],
['F', 25],
['S', 3],
['F', 2],
['E', 2],
['R', 180],
['N', 1],
['N', 3],
['L', 90],
['F', 74],
['W', 4],
['N', 4],
['W', 5],
['R', 90],
['N', 2],
['E', 4],
['L', 90],
['S', 1],
['F', 97],
['E', 2],
['F', 50],
['S', 3],
['W', 4],
['F', 91],
['F', 74],
['N', 1],
['L', 90],
['F', 74],
['S', 1],
['W', 5],
['S', 5],
['L', 90],
['F', 39],
['E', 3],
['L', 90],
['F', 77],
['N', 1],
['W', 3],
['S', 2],
['F', 56],
['S', 4],
['F', 27],
['L', 90],
['N', 2],
['W', 3],
['L', 90],
['F', 56],
['L', 90],
['F', 16],
['L', 270],
['S', 4],
['N', 4],
['L', 90],
['W', 4],
['F', 39],
['S', 5],
['F', 48],
['R', 180],
['W', 2],
['R', 270],
['N', 3],
['F', 54],
['N', 3],
['F', 81],
['W', 3],
['F', 81],
['E', 4],
['F', 54],
['N', 5],
['E', 5],
['F', 18],
['R', 90],
['N', 2],
['F', 77],
['N', 2],
['F', 49],
['W', 2],
['F', 50],
['E', 3],
['R', 90],
['F', 86],
['W', 3],
['N', 2],
['E', 4],
['S', 5],
['F', 40],
['W', 3],
['L', 90],
['W', 3],
['S', 2],
['F', 11],
['R', 90],
['E', 3],
['R', 180],
['F', 47],
['R', 180],
['E', 4],
['F', 2],
['R', 90],
['F', 22],
['S', 2],
['F', 7],
['S', 1],
['E', 1],
['N', 1],
['F', 15],
['N', 2],
['F', 55],
['N', 3],
['L', 90],
['N', 5],
['F', 98],
['L', 90],
['F', 50],
['N', 5],
['F', 68],
['E', 1],
['F', 19],
['N', 3],
['W', 4],
['L', 180],
['S', 5],
['F', 70],
['W', 5],
['F', 92],
['W', 3],
['S', 5],
['R', 90],
['F', 89],
['L', 90],
['W', 4],
['S', 4],
['F', 64],
['S', 4],
['E', 3],
['F', 16],
['S', 2],
['L', 90],
['W', 4],
['N', 3],
['F', 81],
['E', 3],
['F', 46],
['S', 1],
['R', 180],
['S', 4],
['R', 90],
['F', 25],
['R', 90],
['S', 4],
['L', 180],
['S', 3],
['F', 72],
['L', 90],
['F', 19],
['E', 4],
['S', 1],
['F', 17],
['N', 4],
['L', 180],
['F', 84],
['W', 4],
['F', 26],
['E', 1],
['L', 90],
['F', 4],
['E', 5],
['E', 2],
['F', 6],
['S', 4],
['E', 2],
['N', 1],
['F', 26],
['R', 90],
['N', 3],
['W', 2],
['F', 55],
['F', 6],
['W', 3],
['F', 47],
['S', 2],
['F', 75],
['F', 22],
['E', 3],
['S', 1],
['L', 90],
['F', 22],
['S', 3],
['L', 90],
['L', 90],
['W', 1],
['S', 2],
['E', 1],
['S', 5],
['F', 94],
['N', 1],
['L', 270],
['E', 5],
['F', 53],
['E', 2],
['F', 6],
['N', 5],
['F', 100],
['L', 180],
['W', 3],
['L', 90],
['E', 3],
['S', 3],
['W', 4],
['S', 3],
['W', 4],
['F', 38]];
let test = [['F', 10],
['N', 3],
['F', 7],
['R', 90],
['F', 11]];
let dir = 'E';
let x = 0;
let y = 0;
let turn = () => {
switch (dir) {
case 'N': dir = 'W'; break;
case 'W': dir = 'S'; break;
case 'S': dir = 'E'; break;
case 'E': dir = 'N'; break;
}
};
for (let ins of data) {
switch (ins[0]) {
case 'N': y += ins[1]; break;
case 'S': y -= ins[1]; break;
case 'E': x += ins[1]; break;
case 'W': x -= ins[1]; break;
case 'L': for (let a = 0; a < ins[1]; a += 90) { turn(); } break;
case 'R': for (let a = 0; a < ins[1]; a += 90) { turn(); turn(); turn(); } break;
case 'F': switch (dir) {
case 'N': y += ins[1]; break;
case 'E': x += ins[1]; break;
case 'S': y -= ins[1]; break;
case 'W': x -= ins[1]; break;
}
}
}
console.log(Math.abs(x) + Math.abs(y));
x = 10;
y = 1;
sx = 0;
sy = 0;
turn = () => {
let a = x;
x = -y;
y = a;
};
for (let ins of data) {
switch (ins[0]) {
case 'N': y += ins[1]; break;
case 'S': y -= ins[1]; break;
case 'E': x += ins[1]; break;
case 'W': x -= ins[1]; break;
case 'L': for (let a = 0; a < ins[1]; a += 90) { turn(); } break;
case 'R': for (let a = 0; a < ins[1]; a += 90) { turn(); turn(); turn(); } break;
case 'F': sx += ins[1] * x; sy += ins[1] * y; break;
}
}
console.log(Math.abs(sx) + Math.abs(sy));