#!/usr/bin/env python3 tab={(1,1):(0,-1),(2,2):(0,-1),(3,3):(0,-1),(1,2):(3,1),(2,1):(3,-1),(2,3):(1,1),(3,2):(1,-1),(3,1):(2,1),(1,3):(2,-1)} def mul(a,b): if a[0]==0: return (b[0],a[1]*b[1]) if b[0]==0: return (a[0],a[1]*b[1]) k,s=tab[(a[0],b[0])] return (k,a[1]*b[1]*s) letters=[((1,1),2,1),((1,-1),-2,-1),((2,1),-1,2),((2,-1),1,-2)] inv=[1,0,3,2] period=set() for n in (1,2,3,4,6): for u in product(range(4),repeat=n): if any(u[(i+1)%n]==inv[u[i]] for i in range(n)): continue w=u*(12//n) q=(0,1);x=y=0 for e in w: qq,a,b=letters[e] q=mul(q,qq);x+=a;y+=b if q==(0,-1) and y%5==0: period.add(w) tot=0 for w in period: q=(0,1);x=y=0 for e in w: qq,a,b=letters[e] q=mul(q,qq);x+=a;y+=b tot+=(abs(x)+abs(y)+abs(-x-y))//2 print(len(period),tot)