import itertools,json,math
from pathlib import Path
r=json.loads(Path('/input/R1.json').read_text())
total=0
for n in range(1,9):
 counts={}
 for p in itertools.permutations(range(n)):
  dp=[1]*n
  for i in range(n):
   dp[i]=1+max([dp[j] for j in range(i) if p[j]<p[i]] or [0])
  v=max(dp);counts[v]=counts.get(v,0)+1;total+=1
 assert {str(k):v for k,v in counts.items()}==r['table'][str(n)]['distribution']
for n in range(1,51):
 d=r['table'][str(n)]['distribution'];f=math.factorial(n)
 assert sum(d.values())==f
 numerator=sum(int(k)*v for k,v in d.items())
 assert numerator*numerator<4*n*f*f
print(json.dumps({'independent_quadratic_lis_permutations_checked':total,'n_max':8,'n_bound_checks':50,'sum_identity_checks':50,'checks_pass':True},indent=2))
