#!/usr/bin/env python3 p=996979 I=[(22716,22810),(397695,397787),(731292,731385)] U=[] for l,r in I: U.extend(range(l,r+1)) Sset=set(U) Y=list(range(22716,22765)) b=397696 S=Y+[b] t=22717 x0=t*pow(2,-1,p)%p X=[x0]+[(u-x0)%p for u in S] print(len(X),len(set(X)),x0) ok=all(((X[i]+X[j])%p) in Sset for i in range(len(X)) for j in range(i+1,len(X))) print('ok',ok) print(sorted(X)) print('max+min',max(X),min(X))