>>537914816
here's my mediocre, unoptimized solution