headMoves = {
var x = 0,
y = 0;
return input
.flatMap((move) => {
switch (move.dir) {
case "L":
return _.range(0, move.n).map((_) => [x--, y]);
case "R":
return _.range(0, move.n).map((_) => [x++, y]);
case "U":
return _.range(0, move.n).map((_) => [x, y++]);
case "D":
return _.range(0, move.n).map((_) => [x, y--]);
}
})
.concat([[x, y]]);
}