python3 - <<'PY' p=996979 J=[(22716,22810),(397695,397787),(731292,731385)] K=J+[(a+p,b+p) for a,b in J] for m,(L,U) in enumerate(K): if U-L<94: continue for y1 in range((L-1)//2,U//2+1): ys=list(range(y1,y1+49)) if ys[0]+ys[1]>=L and ys[-2]+ys[-1]<=U: yk=ys[-1] A=[]; B=[] for li,ui in K: a0=max(0,li-ys[0]); a1=min(ys[0]-1,ui-yk) if a0<=a1: A.append((a0,a1)) b0=max(yk+1,li-ys[0]); b1=min(p-1,ui-yk) if b0<=b1: B.append((b0,b1)) P=[] for a0,a1 in A: for b0,b1 in B: for a in range(a0,a1+1): for lk,uk in K: ll=max(b0,lk-a); hh=min(b1,uk-a) for b in range(ll,hh+1): if b>yk: P.append((a,b)) print('m',m,'y1',y1,'A',A,'B',B,'P',len(P)) PY