def calc(h,w,a): dp=[[0]*w for i in range(h)] if a[0][0]==1 or a[0][0]=='.': dp[0][0]=1 for i in range(h): for j in range(w): if a[i][j]==1 or a[i][j]=='.': if i>0: dp[i][j]+=dp[i-1][j] if j>0: dp[i][j]+=dp[i][j-1] return dp[h-1][w-1] """ import sys sys.setrecursionlimit(3*10**5) ok=[-1]*401 for w in range(7,1,-1): for h in range(w,1,-1): kouho=[] def choose(res,tmp): if len(res)==5 or tmp==h*w: kouho.append(res) return choose(res+[tmp],tmp+1) choose(res[::],tmp+1) choose([],0) print(len(kouho)) for res in kouho: a=[[1]*w for i in range(h)] for i in res: if not (0<=i//w