JTHJJ3THFO4VYBN5TPNTRQEMFKX6GQR6VCMFNQRY5HORLO6FUOTQC
candidates := Range(1, p/2)
for i, tr := range candidates {
if tr[0]+tr[1]+tr[2] == p {
ret = append(ret, candidates[i])
for a := 1; a < p/3; a++ {
for b := a + 1; b < p/2; b++ {
c := p - a - b
if a*a+b*b == c*c {
ret = append(ret, pythagorean.Triplet{a, b, c})
}