package main
// Helper functions for slices, to make them behave more like stacks
func peek[T any](s []T) T {
return s[len(s)-1]
}
func pop[T any](sp *[]T) T {
to_return := (*sp)[len(*sp)-1]
*sp = (*sp)[:len(*sp)-1]
return to_return