package main

import (
	"fmt"
)

/*
	This was my third attempt at solving this - the first time trying to work out the
	pattern of the registers from interpreting the 'assembly'. I gave up on that and
	turned my input instructions into something closer to very messy go. That didn't
	quite work either, I had to figure out the register values properly and restructure
	the loops resulting in the final version below. I found this the most challenging of
	the puzzles so far - not sure I'd have finished this without some of the hints from
	the AoC subreddit.
*/

func main() {
	f := 0
	h := 0

	for b := 106500; b <= 123500; b += 17 {
		f = 1
		for d := 2; d <= b; d++ {
			for e := 2; e <= b; e++ {
				if b%d != 0 { // thanks to AoC reddit for this hint
					break
				}
				if d*e == b {
					f = 0
				}
			}
		}
		if f == 0 {
			h += 1
		}
	}
	fmt.Println(h)
}