package main

import (
	"internal/day10"
	"internal/util"
)

func main() {
	data := util.ReadInput()
	points := day10.ParseInput(data)

	lowest := day10.CalculateRange(points)
	for {
		for _, point := range points {
			point.Move()
		}

		newRange := day10.CalculateRange(points)
		if newRange < lowest {
			lowest = newRange
		} else {
			for _, point := range points {
				point.Reverse()
			}
			day10.DrawPoints(points)
			return
		}
	}
}