This is my first attempt at writing something in Go. While the algorithm only works sometimes, I'll fix that later.
I'm sure there's better ways to do a lot of things in here, but it's a start.
There's make tasks, so you can use them:
build:
make build
test:
make test
run:
make run