--- /dev/null
+#!/usr/bin/perl
+
+use v5.30;
+use strict;
+
+my ($x, $y) = (0, 0);
+
+my @path = split /[,\s]/, <>;
+
+# |/
+# o
+# /|
+# x y
+for my $dir (@path) {
+ if ($dir eq 's') {
+ $y--;
+ } elsif ($dir eq 'n') {
+ $y++;
+ } elsif ($dir eq 'ne') {
+ $x++;
+ } elsif ($dir eq 'nw') {
+ $x--;
+ $y++;
+ } elsif ($dir eq 'se') {
+ $x++;
+ $y--;
+ } elsif ($dir eq 'sw') {
+ $x--;
+ }
+}
+
+my $dist;
+if ($x >= 0 && $y >= 0 || $x <= 0 && $y <= 0) {
+ $dist = abs($x + $y);
+} elsif (abs($x) >= abs($y)) {
+ $dist = abs($x);
+} else {
+ $dist = abs($y);
+}
+
+say $dist;
+
+