Created
December 15, 2017 19:41
-
-
Save anonymous/3807fa35f4c3b8d281eebca01b5c0ea2 to your computer and use it in GitHub Desktop.
Rust code shared from the playground
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::cmp::max; | |
const INPUT: &str = "se,ne,se,ne,n,n,n,n,ne,nw,nw,n,nw,nw,sw,sw,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,ne,sw,sw,s,n,s,s,s,s,nw,s,s,s,s,s,se,s,s,n,s,n,se,se,s,se,s,s,s,se,nw,se,se,se,se,se,ne,se,se,se,se,se,n,se,se,se,ne,se,se,se,se,se,se,n,se,se,ne,ne,ne,n,ne,ne,ne,nw,ne,ne,ne,ne,ne,nw,ne,ne,nw,ne,ne,ne,se,ne,ne,ne,sw,se,sw,ne,n,s,sw,ne,n,n,ne,ne,n,ne,ne,n,n,n,n,n,n,se,sw,ne,n,n,n,ne,n,nw,n,ne,ne,ne,n,n,n,n,n,ne,n,ne,sw,nw,ne,sw,nw,n,n,s,nw,n,n,n,n,n,n,n,nw,s,sw,nw,n,se,se,nw,s,nw,nw,nw,nw,nw,se,n,nw,n,s,sw,n,nw,sw,n,nw,se,nw,n,nw,n,nw,sw,n,nw,ne,se,n,nw,ne,nw,nw,se,n,n,nw,nw,se,n,nw,sw,nw,n,n,nw,nw,s,nw,ne,nw,nw,nw,ne,nw,se,n,nw,nw,sw,nw,sw,nw,nw,se,sw,sw,nw,s,nw,nw,nw,nw,sw,n,ne,nw,s,nw,nw,sw,nw,nw,sw,s,nw,nw,nw,se,nw,nw,sw,sw,nw,se,ne,nw,nw,sw,nw,sw,sw,nw,sw,s,sw,sw,sw,sw,nw,n,nw,nw,sw,sw,nw,nw,nw,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,se,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,nw,sw,sw,s,sw,se,sw,sw,sw,ne,n,sw,sw,sw,sw,sw,sw,se,sw,sw,n,sw,sw,s,sw,n,se,s,sw,s,sw,sw,sw,nw,sw,n,s,sw,sw,s,sw,sw,sw,sw,sw,s,sw,sw,s,sw,sw,sw,ne,sw,s,sw,nw,sw,sw,s,s,s,nw,s,s,nw,sw,se,s,s,sw,sw,sw,s,n,s,n,sw,s,sw,s,s,sw,sw,s,s,sw,nw,nw,s,sw,s,sw,se,s,nw,s,se,se,s,sw,s,sw,s,s,sw,sw,s,sw,s,s,sw,s,ne,s,s,n,s,sw,s,s,s,s,s,ne,sw,s,s,s,s,sw,se,se,s,s,s,s,s,nw,s,sw,s,s,se,s,s,se,n,s,s,s,sw,s,s,s,ne,nw,se,ne,s,s,se,nw,s,s,sw,s,ne,s,se,s,sw,s,sw,s,s,s,s,s,se,s,nw,s,s,s,s,s,nw,sw,s,sw,s,se,ne,s,sw,nw,se,se,sw,s,se,se,s,s,s,se,s,s,sw,se,se,se,se,se,se,sw,s,s,sw,s,s,s,se,s,se,se,se,s,se,ne,se,s,s,se,se,se,ne,s,se,s,s,se,se,nw,s,s,se,s,s,s,nw,se,s,se,s,se,se,se,s,s,s,s,s,s,s,s,se,ne,s,s,nw,se,se,se,s,s,se,se,se,s,s,se,s,s,s,se,se,se,se,se,s,se,se,se,n,se,s,nw,se,s,se,n,se,nw,se,se,se,se,s,nw,se,se,se,nw,se,se,se,se,n,se,se,se,s,se,se,se,sw,se,se,se,n,se,se,se,n,n,se,n,se,se,se,se,n,se,se,se,se,sw,nw,se,sw,nw,sw,se,se,se,se,se,s,se,n,se,se,s,se,se,se,ne,se,se,se,se,se,se,ne,se,se,ne,s,se,se,se,se,se,se,se,se,ne,n,se,se,se,ne,nw,se,n,ne,se,nw,sw,s,se,ne,se,se,ne,se,se,se,ne,se,se,ne,se,sw,ne,s,se,se,se,se,se,se,se,ne,s,sw,nw,ne,se,se,ne,se,se,se,ne,ne,s,se,se,ne,n,ne,se,se,se,se,se,ne,se,se,s,se,se,ne,sw,se,se,se,se,se,se,se,se,se,se,se,s,ne,ne,ne,se,nw,ne,ne,se,se,s,se,se,ne,se,se,ne,se,se,se,se,se,ne,se,sw,se,ne,n,nw,nw,se,se,se,sw,n,ne,se,s,s,nw,ne,s,ne,se,ne,ne,ne,ne,ne,se,nw,ne,se,ne,se,ne,ne,ne,se,ne,se,se,ne,se,ne,ne,ne,se,se,ne,ne,se,se,se,ne,se,se,s,ne,se,ne,ne,nw,ne,ne,ne,se,ne,ne,se,ne,sw,ne,ne,nw,ne,sw,se,ne,ne,se,s,s,ne,ne,ne,se,sw,ne,nw,se,ne,se,ne,ne,ne,s,se,se,ne,ne,ne,ne,ne,s,ne,ne,sw,ne,ne,n,ne,nw,se,ne,ne,ne,se,se,se,ne,ne,ne,ne,s,ne,ne,se,se,ne,ne,ne,ne,n,ne,ne,s,ne,ne,ne,sw,ne,se,ne,ne,ne,nw,n,ne,ne,ne,nw,se,ne,n,ne,ne,n,s,ne,ne,ne,se,ne,ne,ne,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,s,ne,nw,ne,ne,ne,ne,s,ne,ne,ne,n,ne,ne,se,sw,se,ne,ne,ne,ne,se,n,ne,ne,sw,n,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,n,ne,se,s,se,ne,nw,ne,ne,ne,ne,s,ne,ne,n,ne,n,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,n,ne,ne,ne,nw,n,ne,n,ne,ne,ne,sw,ne,ne,ne,n,sw,nw,n,sw,ne,n,ne,se,ne,s,ne,nw,ne,nw,ne,ne,ne,ne,n,n,ne,nw,ne,nw,ne,s,n,ne,ne,se,n,s,ne,ne,n,ne,s,s,nw,s,s,ne,n,ne,ne,sw,ne,n,ne,n,n,ne,se,ne,ne,n,n,ne,n,sw,ne,nw,n,ne,n,ne,n,ne,n,n,s,ne,ne,se,nw,ne,ne,ne,ne,se,s,n,ne,ne,n,n,n,ne,ne,n,n,ne,se,n,ne,n,n,n,n,ne,ne,nw,ne,ne,n,ne,se,n,se,s,nw,n,n,n,s,n,n,n,ne,n,ne,ne,n,n,s,sw,ne,ne,ne,n,s,n,n,n,ne,se,ne,n,n,n,n,n,n,ne,ne,n,n,n,ne,ne,n,ne,n,n,s,ne,n,n,n,n,n,nw,n,n,nw,se,n,n,n,ne,n,ne,sw,n,ne,s,n,se,n,n,ne,se,n,nw,ne,ne,n,ne,n,n,n,n,n,ne,n,n,sw,s,n,ne,ne,n,n,n,n,ne,n,n,n,n,n,n,n,n,n,n,n,n,n,n,nw,n,n,ne,s,n,s,n,n,s,ne,n,sw,n,s,ne,ne,n,n,n,n,n,se,ne,n,n,n,n,n,n,n,s,s,n,s,nw,n,s,n,n,n,n,se,ne,se,n,se,n,n,n,s,n,n,n,n,n,n,n,ne,n,n,ne,n,n,ne,sw,nw,n,ne,n,n,n,nw,n,n,n,n,n,n,sw,nw,n,se,n,n,n,n,nw,n,s,nw,n,n,n,se,n,n,n,n,s,n,n,n,n,n,n,n,n,n,nw,n,n,nw,n,n,n,n,n,n,sw,s,n,sw,n,n,n,n,sw,se,ne,n,n,n,n,n,s,n,n,n,n,n,n,ne,n,ne,n,n,n,n,n,n,n,n,n,n,nw,s,n,n,n,nw,n,n,n,n,n,nw,se,n,n,se,n,n,n,s,n,nw,se,n,nw,se,n,n,n,n,n,nw,n,n,ne,n,sw,n,nw,n,n,n,n,n,n,n,n,ne,n,n,n,n,nw,n,n,s,n,n,n,n,n,n,n,nw,nw,ne,n,n,n,n,n,s,n,nw,n,n,nw,ne,n,nw,n,n,nw,n,nw,n,nw,n,sw,sw,n,nw,n,nw,se,sw,n,nw,nw,n,nw,n,n,n,ne,n,nw,n,nw,n,nw,se,n,nw,n,n,n,n,n,ne,n,n,n,s,n,nw,n,n,nw,nw,n,n,n,n,n,n,n,n,n,ne,n,n,n,sw,nw,n,n,n,n,n,nw,sw,s,n,nw,nw,n,n,n,n,se,n,n,n,ne,n,nw,n,n,n,n,n,n,n,n,nw,n,ne,n,nw,n,nw,ne,nw,s,n,nw,n,nw,n,nw,sw,nw,nw,n,n,sw,n,se,nw,ne,n,n,nw,nw,sw,nw,n,sw,se,n,sw,n,n,n,nw,n,se,sw,nw,n,nw,nw,n,nw,n,n,n,nw,nw,s,n,nw,s,sw,n,nw,nw,nw,ne,ne,nw,n,n,n,nw,n,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,n,n,nw,n,n,n,ne,sw,nw,nw,nw,n,nw,sw,nw,ne,n,nw,nw,n,n,ne,n,n,nw,nw,nw,n,nw,s,se,nw,n,n,n,nw,s,n,nw,ne,nw,n,n,n,nw,nw,se,n,nw,ne,n,nw,nw,nw,nw,n,nw,nw,nw,nw,nw,n,n,nw,n,n,nw,se,s,n,se,se,nw,nw,nw,nw,se,nw,sw,ne,se,nw,s,nw,nw,nw,nw,n,se,nw,nw,nw,nw,nw,nw,nw,n,ne,nw,s,sw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,nw,n,nw,nw,sw,nw,nw,se,n,nw,nw,nw,s,nw,nw,nw,n,sw,nw,s,n,nw,nw,nw,nw,s,s,nw,nw,nw,nw,nw,ne,s,n,n,nw,nw,nw,n,nw,n,nw,nw,nw,nw,ne,ne,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,s,n,nw,nw,nw,nw,nw,nw,nw,ne,nw,nw,nw,nw,sw,nw,nw,nw,nw,ne,n,nw,n,se,nw,nw,n,nw,nw,nw,nw,nw,s,nw,n,nw,n,ne,nw,nw,nw,sw,nw,nw,sw,se,nw,nw,ne,nw,nw,nw,nw,se,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,n,nw,n,nw,sw,ne,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,se,s,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,sw,nw,nw,nw,s,nw,nw,se,sw,nw,nw,nw,n,nw,nw,sw,nw,s,nw,nw,n,s,s,se,n,nw,nw,nw,nw,nw,nw,n,sw,nw,sw,nw,nw,nw,nw,sw,ne,nw,nw,ne,se,nw,nw,n,nw,nw,nw,nw,se,nw,nw,sw,ne,nw,nw,nw,nw,sw,ne,nw,nw,sw,s,sw,sw,n,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,sw,ne,sw,nw,sw,nw,nw,nw,sw,nw,se,ne,s,nw,nw,ne,nw,s,nw,sw,sw,sw,nw,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,n,nw,nw,ne,s,nw,sw,nw,nw,ne,nw,nw,n,nw,se,sw,nw,sw,nw,nw,nw,nw,nw,nw,nw,sw,n,sw,n,nw,nw,se,nw,nw,nw,nw,nw,nw,nw,ne,sw,n,nw,se,nw,s,nw,n,nw,nw,nw,sw,se,sw,nw,nw,nw,nw,n,nw,sw,n,nw,nw,se,nw,s,nw,sw,nw,nw,sw,ne,nw,se,sw,nw,s,sw,ne,nw,nw,nw,nw,sw,se,nw,sw,nw,sw,ne,sw,nw,sw,nw,sw,sw,nw,nw,nw,nw,nw,sw,nw,nw,n,nw,nw,n,ne,sw,sw,s,sw,nw,s,nw,s,se,n,nw,nw,nw,nw,sw,sw,nw,ne,nw,sw,nw,nw,s,nw,nw,sw,nw,sw,nw,n,se,nw,nw,nw,nw,se,nw,se,nw,sw,nw,nw,nw,nw,sw,nw,s,nw,n,ne,se,sw,n,sw,sw,se,sw,nw,ne,nw,nw,nw,sw,nw,ne,nw,se,nw,sw,nw,sw,nw,nw,se,nw,sw,sw,nw,sw,nw,nw,sw,se,nw,se,sw,nw,sw,sw,sw,nw,sw,nw,sw,sw,sw,nw,sw,sw,sw,se,nw,nw,sw,nw,se,sw,nw,n,sw,nw,nw,sw,nw,nw,nw,sw,sw,ne,sw,nw,sw,se,sw,sw,sw,ne,nw,nw,ne,sw,sw,sw,ne,sw,s,sw,n,sw,sw,nw,sw,se,sw,sw,nw,sw,sw,sw,nw,sw,nw,nw,nw,se,nw,sw,sw,sw,nw,sw,nw,nw,sw,se,sw,n,nw,nw,sw,nw,sw,sw,sw,sw,sw,s,sw,s,s,sw,nw,nw,sw,sw,nw,nw,nw,sw,nw,sw,nw,ne,sw,nw,n,nw,sw,se,nw,sw,se,sw,sw,nw,sw,s,sw,nw,nw,ne,nw,sw,nw,sw,n,nw,sw,sw,sw,nw,ne,nw,sw,se,nw,nw,sw,nw,n,sw,sw,ne,sw,sw,sw,sw,s,nw,nw,sw,nw,sw,s,nw,nw,nw,se,sw,nw,sw,n,sw,nw,nw,ne,sw,sw,nw,nw,sw,se,sw,nw,nw,nw,sw,nw,nw,sw,s,nw,sw,s,sw,sw,sw,n,sw,sw,sw,sw,sw,nw,nw,sw,sw,nw,sw,sw,nw,nw,s,sw,sw,sw,ne,sw,nw,n,sw,sw,sw,sw,se,sw,sw,sw,sw,nw,nw,sw,sw,sw,n,sw,n,sw,nw,s,sw,sw,sw,nw,ne,sw,sw,ne,sw,sw,n,ne,ne,nw,sw,sw,sw,nw,n,nw,ne,sw,nw,sw,nw,sw,n,sw,s,sw,sw,nw,sw,sw,nw,se,sw,sw,n,sw,nw,s,nw,sw,nw,nw,nw,sw,nw,sw,nw,nw,nw,sw,sw,sw,sw,sw,sw,sw,sw,nw,ne,sw,nw,sw,sw,sw,n,sw,sw,sw,sw,ne,nw,sw,ne,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,s,nw,se,se,sw,sw,sw,sw,nw,sw,nw,ne,s,sw,sw,nw,sw,nw,nw,se,n,sw,nw,sw,sw,sw,sw,sw,ne,sw,sw,s,sw,sw,sw,s,nw,se,nw,sw,s,n,sw,s,nw,ne,sw,sw,sw,ne,sw,nw,nw,n,se,sw,nw,n,sw,sw,sw,sw,se,se,sw,sw,sw,n,sw,sw,sw,sw,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,nw,sw,sw,se,s,nw,nw,nw,nw,sw,sw,n,sw,sw,s,ne,sw,nw,sw,sw,sw,sw,sw,n,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,nw,s,n,sw,s,sw,sw,sw,sw,sw,sw,s,nw,ne,sw,sw,sw,sw,sw,sw,nw,s,sw,nw,sw,sw,sw,sw,sw,ne,se,sw,ne,sw,sw,se,s,sw,sw,sw,sw,ne,n,sw,sw,nw,sw,sw,sw,s,n,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,nw,s,sw,sw,sw,sw,n,sw,sw,se,sw,sw,sw,ne,sw,sw,sw,sw,sw,sw,sw,sw,nw,ne,sw,n,n,sw,sw,sw,sw,sw,sw,sw,sw,ne,sw,sw,sw,sw,sw,nw,sw,sw,se,sw,nw,sw,ne,sw,s,sw,sw,s,sw,sw,s,sw,s,sw,s,sw,sw,sw,s,sw,sw,sw,sw,ne,sw,sw,n,sw,sw,s,sw,nw,sw,ne,sw,sw,sw,s,sw,se,sw,sw,sw,n,sw,sw,sw,sw,sw,sw,s,s,s,n,n,sw,nw,sw,s,sw,sw,sw,s,sw,sw,sw,s,sw,nw,s,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,sw,s,sw,s,se,ne,sw,sw,sw,sw,sw,sw,s,sw,s,se,nw,n,nw,sw,sw,sw,sw,sw,sw,n,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,se,sw,nw,sw,nw,s,n,s,s,sw,sw,sw,s,se,sw,s,sw,sw,sw,s,se,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,n,sw,nw,sw,se,sw,sw,sw,n,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,se,s,sw,ne,ne,sw,sw,sw,sw,s,s,sw,sw,sw,sw,s,se,sw,sw,sw,nw,s,s,se,sw,n,sw,s,sw,n,sw,sw,sw,sw,s,sw,sw,sw,ne,sw,sw,se,sw,se,sw,s,sw,sw,s,n,sw,sw,sw,sw,s,s,s,sw,sw,sw,s,sw,ne,nw,n,sw,nw,sw,sw,sw,sw,s,s,sw,sw,sw,s,sw,sw,s,nw,se,s,sw,sw,sw,sw,sw,sw,se,s,sw,ne,s,se,s,sw,sw,sw,s,sw,sw,sw,sw,s,s,s,s,nw,s,ne,s,se,sw,sw,sw,nw,s,sw,nw,s,sw,s,sw,s,sw,nw,sw,sw,sw,sw,sw,se,sw,sw,s,s,nw,sw,sw,sw,sw,sw,sw,n,sw,nw,n,sw,n,ne,n,n,sw,s,s,sw,s,sw,s,sw,s,sw,sw,s,s,s,s,n,sw,s,sw,ne,n,sw,sw,s,s,sw,sw,sw,s,sw,s,sw,sw,s,s,nw,sw,sw,sw,sw,sw,sw,s,s,sw,s,sw,sw,sw,sw,n,s,s,ne,n,sw,s,sw,s,nw,sw,s,sw,sw,s,s,sw,s,sw,sw,sw,s,sw,nw,s,sw,sw,nw,s,sw,s,sw,sw,sw,s,nw,sw,nw,sw,sw,s,sw,sw,s,sw,sw,s,ne,sw,n,sw,sw,sw,s,sw,sw,sw,sw,ne,sw,n,n,sw,n,sw,s,s,s,sw,sw,s,s,sw,sw,nw,sw,s,s,sw,sw,se,nw,sw,sw,sw,sw,n,s,sw,s,nw,s,s,sw,s,s,n,ne,sw,s,s,s,s,nw,s,s,sw,sw,sw,sw,s,s,s,s,sw,s,s,n,se,s,s,n,s,s,sw,nw,s,s,ne,s,s,s,se,sw,sw,sw,s,sw,sw,se,s,sw,s,n,sw,se,s,n,ne,se,s,se,sw,sw,sw,s,sw,nw,sw,s,sw,sw,sw,s,sw,s,sw,s,se,sw,s,s,s,sw,sw,s,s,sw,s,ne,se,s,sw,s,s,n,sw,s,sw,sw,s,s,nw,s,se,sw,s,se,n,sw,sw,ne,sw,s,sw,sw,sw,se,s,nw,n,sw,ne,se,sw,s,s,sw,s,ne,sw,s,s,sw,s,s,ne,s,s,nw,sw,se,sw,se,sw,s,s,s,sw,sw,s,sw,s,s,sw,ne,s,n,se,sw,s,n,s,sw,s,s,sw,sw,s,se,s,s,s,s,se,sw,sw,s,s,s,s,s,s,se,s,sw,s,s,s,s,se,s,n,s,s,s,sw,n,n,nw,ne,se,s,sw,s,s,sw,sw,s,s,sw,n,s,sw,sw,ne,s,nw,ne,s,s,s,s,s,s,se,s,s,s,sw,s,n,nw,s,s,sw,sw,s,s,s,s,s,ne,s,sw,sw,s,s,sw,s,sw,s,sw,nw,sw,s,s,sw,sw,sw,sw,s,se,s,s,s,sw,s,n,sw,nw,sw,s,s,nw,sw,s,s,sw,s,s,sw,sw,sw,s,s,s,se,s,sw,s,s,sw,s,s,s,s,s,s,s,s,s,nw,s,s,sw,s,s,s,s,ne,s,ne,sw,sw,s,n,sw,s,s,s,sw,s,sw,sw,s,sw,s,sw,sw,sw,ne,s,s,s,s,s,s,s,n,sw,s,ne,s,s,s,sw,s,s,sw,s,s,sw,s,n,s,se,s,se,s,n,s,sw,s,s,s,s,sw,sw,se,sw,ne,sw,sw,s,s,sw,s,s,s,s,s,s,s,sw,ne,s,s,s,s,s,sw,se,s,s,s,sw,s,s,s,s,sw,s,sw,sw,s,s,nw,ne,n,sw,sw,s,nw,s,s,ne,ne,s,s,sw,s,s,s,s,s,ne,s,s,s,s,s,s,s,se,s,s,s,s,s,s,s,n,s,s,sw,s,s,s,s,s,s,s,n,s,s,s,s,s,s,sw,s,s,s,s,n,s,n,s,s,s,s,s,s,s,s,n,s,s,ne,s,s,s,s,s,s,s,n,s,s,s,s,s,s,sw,s,s,s,s,s,s,s,nw,nw,s,s,s,s,se,s,s,ne,s,s,sw,s,sw,s,s,sw,sw,n,s,n,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,n,s,s,ne,s,s,s,sw,s,s,s,s,s,s,s,s,s,s,s,s,n,s,s,s,se,nw,s,s,s,s,s,nw,s,s,s,s,sw,s,s,s,ne,s,s,s,s,s,s,s,s,n,s,s,nw,s,s,se,s,s,s,se,s,s,s,sw,s,s,s,s,s,nw,s,s,se,s,s,s,s,s,sw,sw,s,s,s,s,s,s,s,se,s,s,s,s,se,s,s,s,s,s,s,s,s,s,s,s,s,sw,s,s,s,ne,s,nw,s,s,se,s,se,s,s,s,s,s,s,s,ne,se,sw,sw,se,se,s,s,s,s,s,s,s,s,s,ne,ne,s,s,s,s,nw,s,s,s,s,s,n,sw,s,s,se,se,sw,nw,nw,s,s,s,s,s,s,n,s,s,s,s,s,s,se,s,ne,s,se,s,s,s,s,s,sw,n,ne,n,s,ne,se,se,s,s,s,s,nw,s,s,ne,s,s,s,n,s,s,s,s,s,s,s,s,s,s,s,s,nw,s,s,ne,s,s,n,s,s,se,sw,s,nw,s,sw,ne,s,s,s,ne,s,s,nw,s,s,s,s,s,s,s,s,s,se,nw,s,s,s,se,se,se,s,nw,s,s,s,se,s,s,se,sw,ne,s,se,s,se,s,se,nw,n,se,s,se,ne,sw,s,s,s,s,s,s,s,se,s,s,s,sw,s,s,s,s,nw,s,se,s,s,n,ne,s,s,s,s,se,s,s,s,s,s,se,s,sw,s,s,se,se,s,s,s,s,s,n,ne,nw,s,s,s,se,ne,s,se,se,nw,s,s,s,s,s,s,s,s,s,s,s,s,s,n,s,s,s,n,s,s,se,s,s,se,s,s,s,nw,s,s,s,se,s,sw,sw,s,se,s,se,s,s,s,se,se,s,sw,se,s,s,s,s,s,s,se,s,s,s,se,se,s,s,s,s,s,s,s,s,ne,s,nw,s,s,s,se,se,se,s,se,se,s,s,s,s,nw,s,se,s,se,s,se,se,s,se,sw,s,s,se,se,s,ne,s,ne,nw,s,s,s,s,se,se,se,se,s,se,ne,se,se,s,s,se,ne,nw,s,se,s,s,s,nw,s,s,s,s,nw,s,s,s,s,se,sw,s,sw,s,s,s,se,nw,s,se,sw,s,ne,s,s,s,s,n,se,se,s,nw,s,s,s,se,se,s,s,s,s,se,se,s,s,s,se,s,s,ne,s,s,se,sw,se,n,ne,s,s,s,s,s,s,s,nw,se,se,s,s,s,se,s,se,n,s,sw,s,se,s,se,s,s,s,se,s,n,se,s,se,se,s,se,s,se,s,se,sw,s,se,s,se,s,s,s,s,s,s,s,se,nw,s,s,se,s,se,s,s,s,se,se,se,s,se,sw,s,ne,s,s,se,s,s,s,s,se,n,se,n,sw,s,se,ne,se,s,sw,s,se,sw,s,ne,se,n,se,nw,ne,s,s,se,s,sw,se,se,se,s,s,s,se,s,s,s,s,se,se,se,se,se,s,s,n,s,s,s,s,s,se,s,s,s,s,s,nw,sw,ne,se,se,s,s,se,se,se,se,se,s,s,ne,s,se,se,se,se,s,nw,se,s,s,s,s,s,ne,s,se,se,se,se,s,s,s,se,n,s,se,s,se,se,se,se,s,s,se,se,se,se,se,s,s,se,s,s,sw,se,sw,sw,se,sw,n,s,s,s,n,s,s,se,sw,ne,n,se,s,se,sw,se,s,se,se,s,se,s,s,s,s,se,se,s,s,nw,se,se,se,se,s,s,s,sw,s,se,se,s,se,nw,se,se,se,s,sw,s,s,se,s,s,s,s,se,s,se,s,se,se,s,s,se,se,s,se,ne,se,s,se,se,se,s,s,n,s,se,n,s,s,s,se,se,se,s,s,se,s,n,s,sw,se,se,s,se,se,se,s,s,se,se,n,n,nw,se,n,ne,se,s,se,se,s,se,s,s,n,s,nw,se,s,s,ne,n,ne,se,s,se,sw,se,se,s,s,se,s,se,s,se,n,s,se,se,sw,se,s,s,se,se,sw,s,s,nw,se,s,se,se,ne,se,se,se,se,se,se,s,se,s,n,s,s,se,s,s,se,se,s,nw,s,se,se,se,s,se,s,s,se,se,se,se,se,se,s,se,nw,se,se,s,s,se,s,sw,se,se,s,s,n,n,n,s,s,se,s,nw,se,s,se,s,se,nw,se,s,s,ne,se,n,s,s,s,se,s,n,se,s,s,se,se,se,s,se,se,se,se,n,nw,se,se,se,se,se,s,se,se,s,se,se,se,s,se,s,se,n,s,se,s,se,se,se,s,se,se,se,se,se,se,s,se,se,s,s,se,s,s,sw,se,n,se,s,se,s,se,se,se,se,s,s,se,se,se,sw,se,s,se,s,s,se,se,s,se,se,se,se,n,se,sw,se,se,sw,sw,s,se,sw,s,se,se,s,se,se,sw,s,s,s,se,nw,se,s,s,se,se,se,s,se,se,se,s,n,se,se,se,s,s,se,se,se,sw,se,s,sw,s,se,se,se,s,n,se,s,s,s,s,se,ne,se,sw,s,sw,se,se,se,nw,sw,s,se,se,s,se,se,sw,se,s,s,n,se,se,se,ne,s,s,se,s,s,se,nw,s,se,s,se,se,se,se,se,se,se,s,s,s,s,n,se,se,s,ne,se,se,se,sw,se,s,ne,se,s,se,se,se,se,s,s,se,se,se,s,ne,s,s,se,se,s,se,se,se,se,se,s,se,se,se,se,sw,se,s,se,ne,s,se,se,se,se,s,se,n,n,s,se,se,s,se,s,s,se,se,se,se,ne,sw,se,sw,nw,se,se,se,se,se,se,se,s,se,s,se,s,se,s,s,n,se,se,se,s,se,se,se,se,se,s,se,se,se,nw,se,ne,se,se,se,se,nw,n,se,n,se,s,se,se,s,s,se,n,s,s,nw,se,s,n,sw,se,n,se,se,s,nw,se,se,se,se,se,nw,se,se,se,se,n,se,se,se,se,se,se,s,se,se,se,ne,se,se,se,nw,s,se,s,se,se,ne,se,s,ne,s,se,ne,se,se,se,se,ne,n,se,se,s,se,se,sw,se,s,se,sw,se,se,se,n,se,se,se,se,ne,se,s,sw,se,se,se,s,s,se,se,se,se,se,se,se,se,s,se,se,n,se,se,n,n,se,se,se,s,se,se,se,se,nw,se,se,se,sw,se,se,se,s,se,n,se,se,se,s,se,s,se,s,se,se,se,n,sw,se,se,se,n,se,se,nw,se,se,se,se,se,n,se,se,se,nw,se,se,se,se,se,se,se,se,s,se,ne,se,se,se,se,se,sw,se,nw,se,se,s,nw,se,se,se,se,s,ne,se,se,se,se,s,s,se,n,s,se,nw,s,se,se,se,se,s,ne,ne,se,s,se,s,se,se,se,se,se,nw,se,s,se,se,se,se,se,se,se,se,se,s,se,se,se,ne,nw,se,se,se,se,se,se,se,se,nw,se,se,se,se,se,se,se,se,se,se,nw,se,se,n,se,ne,se,se,se,se,s,s,se,se,se,se,se,se,se,se,se,se,se,se,se,se,nw,n,se,se,se,s,se,se,sw,s,s,se,se,nw,se,se,se,se,ne,sw,se,s,se,se,se,se,s,se,se,se,se,se,s,se,se,se,se,se,se,se,se,sw,se,se,se,se,n,se,se,n,s,se,n,se,se,se,se,se,se,se,se,s,se,se,se,se,se,se,se,se,ne,sw,n,se,se,s,se,se,se,se,se,sw,nw,sw,nw,sw,s,se,nw,n,sw,nw,n,n,n,ne,ne,ne,n,ne,n,ne,sw,se,ne,ne,ne,ne,se,ne,ne,ne,n,se,ne,se,se,n,se,se,se,ne,se,se,n,se,sw,se,ne,se,se,s,se,se,s,s,n,nw,s,sw,n,s,s,ne,s,se,sw,se,sw,sw,sw,sw,ne,sw,se,s,s,sw,nw,s,sw,s,s,s,sw,sw,s,nw,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,nw,sw,nw,nw,s,sw,s,sw,sw,sw,sw,sw,nw,sw,sw,se,sw,sw,sw,sw,ne,nw,nw,nw,nw,sw,nw,se,nw,ne,ne,ne,sw,nw,sw,nw,sw,nw,sw,nw,nw,s,nw,s,nw,n,nw,nw,nw,nw,nw,n,n,s,nw,se,ne,nw,nw,nw,nw,nw,nw,se,sw,n,nw,nw,nw,n,nw,n,nw,sw,se,nw,ne,nw,nw,n,ne,ne,n,nw,ne,nw,n,n,nw,n,nw,nw,n,n,nw,n,s,n,nw,ne,nw,n,nw,n,sw,n,n,n,n,n,nw,n,sw,s,n,n,n,n,n,n,n,n,n,nw,n,se,n,n,s,ne,n,sw,se,n,ne,s,s,n,n,n,n,n,ne,n,n,ne,n,se,s,n,se,sw,ne,sw,s,s,n,ne,n,se,ne,ne,n,ne,ne,n,ne,n,n,sw,nw,ne,n,n,se,ne,ne,s,s,ne,n,s,sw,ne,ne,ne,n,ne,ne,n,ne,ne,n,se,ne,ne,se,ne,ne,ne,ne,nw,ne,sw,n,n,ne,ne,ne,n,se,ne,n,ne,ne,ne,sw,ne,ne,sw,nw,se,ne,ne,ne,ne,ne,n,ne,se,ne,sw,sw,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,se,ne,n,n,se,ne,se,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,ne,s,sw,se,ne,se,ne,se,ne,ne,sw,ne,ne,se,ne,ne,se,ne,se,ne,se,ne,ne,ne,nw,ne,se,se,ne,se,se,se,sw,se,se,ne,se,se,se,ne,se,ne,se,ne,se,se,nw,ne,sw,se,se,se,sw,ne,se,ne,se,se,se,se,sw,se,nw,nw,se,se,se,se,s,nw,se,sw,n,ne,nw,ne,se,se,se,se,ne,s,s,se,se,se,ne,nw,ne,se,se,ne,se,se,se,se,se,se,se,s,se,se,se,se,se,se,s,se,se,se,se,se,se,se,se,se,nw,se,se,se,se,se,se,se,se,se,se,se,se,se,s,ne,se,s,se,se,ne,s,se,ne,se,sw,sw,se,se,s,se,se,se,s,sw,s,s,s,sw,n,s,ne,se,se,s,se,se,se,s,se,se,se,se,se,se,se,s,s,ne,se,se,se,se,nw,n,se,se,se,n,s,se,se,se,se,se,se,s,se,s,ne,s,nw,se,s,se,s,s,n,s,se,se,n,se,s,sw,ne,s,se,s,s,se,s,n,se,s,s,s,se,nw,s,sw,sw,s,s,nw,s,se,s,se,s,se,sw,se,se,s,se,s,se,s,s,s,se,s,nw,nw,sw,se,s,nw,s,s,sw,s,s,s,se,s,se,s,s,se,s,sw,s,n,sw,se,s,s,s,s,nw,se,s,s,s,se,s,s,ne,se,s,se,se,s,s,se,s,s,se,s,n,s,se,s,sw,s,s,s,s,s,s,ne,s,s,ne,s,s,s,s,s,s,s,s,se,sw,s,sw,s,s,sw,s,s,s,s,s,sw,s,ne,nw,s,sw,s,s,s,s,s,s,s,sw,sw,s,nw,s,s,s,se,se,s,sw,s,nw,s,sw,s,s,sw,se,s,se,s,nw,s,s,s,n,s,s,s,n,s,s,ne,nw,n,s,s,s,s,s,s,s,n,s,sw,sw,sw,s,s,s,s,s,s,sw,s,s,s,s,s,s,ne,se,sw,se,s,sw,sw,se,s,s,s,sw,n,sw,s,s,sw,s,s,s,s,sw,nw,s,ne,s,s,s,s,s,s,s,sw,s,sw,sw,s,s,sw,s,sw,s,s,s,s,sw,sw,s,s,s,s,s,sw,sw,s,s,sw,s,nw,s,s,sw,sw,s,nw,ne,sw,s,sw,s,sw,s,s,ne,s,ne,s,sw,s,sw,sw,s,s,s,sw,sw,sw,sw,sw,s,sw,ne,s,s,s,sw,s,n,sw,sw,sw,sw,sw,sw,sw,n,s,sw,nw,sw,sw,sw,n,se,sw,sw,s,sw,n,sw,s,s,s,s,s,s,s,sw,s,sw,sw,se,sw,sw,sw,n,sw,nw,sw,se,s,sw,nw,se,sw,sw,sw,n,sw,se,sw,sw,s,sw,sw,sw,s,s,n,sw,n,sw,sw,sw,sw,sw,s,sw,sw,sw,ne,s,n,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,s,ne,sw,ne,sw,sw,sw,ne,sw,sw,s,se,n,sw,sw,s,n,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,n,sw,ne,se,sw,nw,s,sw,sw,sw,n,sw,sw,sw,sw,n,sw,sw,sw,ne,sw,se,ne,sw,se,ne,nw,sw,sw,sw,sw,nw,ne,sw,sw,nw,nw,sw,nw,sw,sw,nw,sw,s,n,se,sw,nw,sw,ne,sw,nw,sw,sw,sw,sw,sw,sw,se,se,nw,sw,ne,sw,nw,sw,sw,sw,sw,s,sw,sw,ne,sw,sw,sw,sw,sw,sw,sw,nw,sw,se,sw,sw,nw,n,s,sw,s,sw,sw,sw,ne,sw,nw,se,nw,nw,sw,nw,nw,sw,nw,nw,se,sw,sw,sw,sw,nw,nw,sw,nw,se,sw,sw,nw,ne,sw,sw,sw,se,sw,sw,sw,sw,ne,ne,nw,ne,nw,sw,sw,sw,n,s,nw,n,sw,nw,sw,nw,se,sw,nw,nw,nw,sw,nw,nw,sw,sw,nw,nw,sw,sw,sw,nw,sw,nw,nw,ne,sw,sw,nw,nw,sw,n,se,sw,nw,nw,sw,n,sw,s,sw,sw,nw,nw,sw,nw,se,n,sw,s,sw,sw,nw,nw,sw,nw,nw,sw,sw,sw,sw,nw,nw,sw,nw,nw,sw,nw,sw,sw,nw,se,nw,sw,sw,sw,sw,se,s,sw,nw,n,n,ne,nw,sw,nw,sw,s,sw,sw,sw,nw,s,nw,ne,s,sw,ne,nw,nw,nw,nw,sw,nw,nw,sw,nw,sw,sw,sw,sw,nw,nw,nw,sw,s,sw,nw,nw,sw,nw,sw,nw,nw,s,nw,nw,sw,sw,sw,sw,sw,sw,sw,sw,nw,nw,nw,nw,nw,nw,nw,nw,sw,sw,nw,sw,nw,nw,sw,nw,se,s,sw,nw,nw,nw,nw,nw,nw,nw,sw,nw,nw,sw,sw,s,nw,nw,nw,nw,nw,nw,nw,sw,sw,nw,nw,nw,n,ne,s,sw,s,se,nw,nw,s,nw,nw,nw,sw,s,ne,nw,nw,nw,nw,s,nw,nw,nw,ne,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,ne,ne,sw,nw,ne,nw,nw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,nw,nw,nw,se,sw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,s,s,nw,nw,ne,nw,sw,nw,s,nw,nw,nw,nw,n,nw,sw,nw,nw,nw,nw,nw,nw,ne,nw,nw,nw,nw,nw,nw,nw,ne,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,n,n,nw,nw,nw,se,s,s,nw,nw,nw,nw,n,nw,nw,nw,sw,se,nw,nw,n,nw,n,nw,nw,se,nw,nw,nw,nw,nw,nw,nw,se,nw,nw,n,nw,nw,nw,se,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,ne,nw,nw,n,nw,nw,ne,nw,nw,n,nw,nw,n,n,nw,n,ne,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,nw,ne,nw,nw,n,nw,ne,n,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,nw,ne,sw,nw,nw,nw,n,nw,nw,nw,nw,n,nw,n,nw,nw,nw,nw,nw,nw,sw,nw,ne,nw,nw,sw,nw,nw,n,nw,nw,nw,s,s,s,nw,nw,nw,nw,n,nw,se,sw,s,nw,nw,nw,sw,n,n,nw,nw,ne,nw,n,se,n,nw,n,nw,nw,nw,n,nw,nw,nw,nw,n,nw,s,n,nw,n,nw,nw,nw,nw,nw,n,ne,nw,sw,nw,n,nw,nw,nw,n,s,nw,n,se,nw,ne,n,nw,nw,nw,n,nw,ne,nw,n,n,nw,n,s,nw,ne,ne,n,n,nw,se,nw,n,s,n,nw,n,n,n,n,n,nw,nw,s,nw,n,nw,nw,n,n,n,se,n,nw,nw,s,n,nw,n,nw,n,nw,nw,n,n,nw,n,n,se,sw,n,n,n,nw,nw,n,nw,nw,n,n,nw,n,se,n,n,n,n,nw,n,sw,n,nw,nw,nw,nw,ne,nw,n,n,n,n,n,n,nw,nw,se,nw,nw,n,n,n,nw,sw,ne,n,nw,n,n,nw,n,se,se,n,n,n,n,n,nw,n,n,n,s,sw,n,n,s,n,sw,n,se,n,nw,nw,se,nw,n,n,nw,sw,nw,n,n,n,ne,n,n,sw,nw,nw,se,nw,n,nw,sw,ne,sw,nw,n,n,nw,nw,nw,nw,nw,se,nw,n,nw,n,n,nw,sw,n,n,nw,nw,se,sw,n,n,n,n,n,n,nw,nw,nw,n,n,ne,se,n,nw,nw,ne,n,nw,n,n,n,sw,se,n,n,nw,nw,nw,n,n,n,n,se,n,ne,n,s,nw,n,n,n,nw,s,se,n,nw,nw,nw,n,n,nw,n,n,n,n,se,nw,n,n,nw,n,n,nw,n,n,n,n,n,n,n,sw,n,n,n,n,n,se,s,n,n,n,n,s,n,n,n,sw,n,n,nw,n,se,sw,n,sw,n,n,n,n,n,n,ne,n,n,nw,n,n,n,n,n,n,n,se,n,n,n,ne,n,n,n,n,n,n,s,n,nw,n,n,n,n,n,n,n,n,ne,n,n,n,n,sw,n,ne,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,sw,n,n,n,n,n,s,n,n,n,n,n,n,sw,se,n,n,n,n,n,n,s,s,n,nw,n,ne,n,n,n,n,ne,sw,n,n,sw,s,n,n,n,n,n,n,sw,n,nw,n,s,n,n,n,ne,sw,n,n,n,n,n,n,n,n,n,n,n,n,n,n,sw,n,sw,n,n,n,s,sw,n,n,n,s,n,ne,n,sw,nw,n,ne,nw,sw,n,n,n,n,n,n,se,nw,n,nw,sw,n,n,n,n,ne,s,n,ne,s,n,n,n,ne,n,n,nw,n,n,n,n,n,n,s,n,n,n,n,n,n,ne,n,n,n,ne,n,n,n,n,nw,nw,n,n,ne,ne,sw,ne,s,n,n,s,s,ne,nw,n,ne,ne,sw,ne,n,n,se,n,n,ne,s,ne,n,n,n,n,n,n,n,n,n,n,ne,n,nw,ne,n,n,se,ne,ne,ne,n,n,s,ne,n,ne,ne,n,s,ne,n,n,ne,n,sw,s,ne,se,n,n,n,nw,n,n,n,ne,ne,n,nw,n,ne,n,n,ne,n,nw,ne,nw,n,n,n,ne,ne,n,ne,sw,n,ne,n,nw,n,n,n,se,n,n,se,n,ne,n,n,ne,nw,ne,n,n,n,ne,n,nw,ne,n,n,sw,ne,n,s,ne,ne,ne,n,sw,n,n,ne,ne,n,ne,ne,n,se,ne,n,ne,n,n,n,nw,ne,n,n,n,ne,se,n,ne,ne,n,n,n,n,n,se,nw,n,nw,n,se,n,s,n,n,ne,ne,ne,ne,ne,ne,n,se,ne,n,s,s,ne,ne,ne,s,nw,n,n,s,s,n,ne,sw,ne,ne,n,n,ne,sw,ne,ne,sw,n,ne,ne,n,n,s,ne,ne,n,s,ne,ne,ne,n,ne,n,n,ne,ne,n,n,n,ne,n,ne,sw,ne,ne,ne,n,ne,sw,ne,s,se,sw,n,sw,ne,ne,ne,s,nw,nw,s,ne,n,sw,ne,se,ne,n,ne,n,s,se,ne,ne,ne,nw,ne,ne,n,ne,sw,ne,ne,ne,ne,sw,n,ne,se,se,sw,n,ne,n,n,ne,ne,ne,ne,ne,n,n,sw,n,se,n,n,n,n,ne,n,se,n,ne,ne,n,n,n,n,n,ne,ne,n,ne,s,s,ne,n,nw,n,se,ne,ne,n,n,ne,n,ne,s,ne,ne,n,n,n,ne,n,ne,n,n,ne,n,n,n,se,sw,n,ne,ne,n,ne,ne,ne,n,ne,ne,ne,se,ne,ne,ne,n,n,s,ne,nw,ne,n,n,ne,ne,ne,ne,ne,nw,ne,n,ne,n,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,s,n,ne,n,ne,ne,ne,ne,ne,ne,n,n,ne,ne,ne,ne,ne,ne,n,s,ne,n,ne,n,n,n,ne,ne,ne,ne,se,n,ne,se,ne,n,ne,n,ne,ne,ne,n,ne,ne,ne,ne,ne,ne,s,nw,se,ne,n,ne,ne,ne,n,ne,ne,ne,se,ne,se,n,ne,ne,ne,ne,sw,ne,n,ne,ne,s,ne,sw,n,n,nw,sw,ne,ne,n,ne,ne,ne,ne,ne,ne,nw,ne,se,ne,ne,ne,n,ne,ne,ne,n,s,ne,ne,ne,n,ne,ne,ne,s,ne,n,ne,n,sw,nw,ne,ne,sw,n,n,s,nw,n,se,ne,nw,ne,n,ne,ne,s,s,ne,sw,ne,n,s,n,ne,ne,ne,ne,n,n,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,s,ne,ne,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,ne,n,ne,n,ne,ne,ne,ne,ne,nw,sw,sw,ne,n,n,ne,ne,nw,s,nw,ne,ne,ne,ne,sw,n,ne,n,ne,sw,s,se,ne,ne,ne,se,ne,ne,se,n,ne,ne,ne,n,n,ne,ne,n,ne,n,se,ne,nw,ne,s,ne,ne,ne,n,nw,n,se,ne,ne,ne,nw,n,sw,ne,ne,se,ne,ne,ne,nw,ne,ne,ne,s,n,ne,se,ne,ne,se,n,ne,ne,ne,ne,s,ne,ne,ne,sw,ne,ne,sw,ne,ne,ne,ne,se,n,ne,ne,se,ne,ne"; | |
fn main() { | |
let mut pos: (i32, i32, i32) = (0, 0, 0); | |
let mut max_dist = 0; | |
for direction in INPUT.split(',') { | |
let change = match direction { | |
"n" => (0, 1, -1), | |
"s" => (0, -1, 1), | |
"nw" => (-1, 1, 0), | |
"se" => (1, -1, 0), | |
"ne" => (1, 0, -1), | |
"sw" => (-1, 0, 1), | |
_ => unreachable!(), | |
}; | |
pos.0 += change.0; | |
pos.1 += change.1; | |
pos.2 += change.2; | |
let dist = max(max(pos.0.abs(), pos.1.abs()), pos.2.abs()); | |
max_dist = max(dist, max_dist); | |
} | |
let dist = max(max(pos.0.abs(), pos.1.abs()), pos.2.abs()); | |
println!("{}, {}", dist, max_dist); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment