#include<bits/stdc++.h> usingnamespace std; typedeflonglong ll; constint M=100,N=50; constint S=M*(M+1)*(2*M+1)/6-N*(N+1)*(2*N+1)/6; int f[N+1][S+1]; int add[3][3]; intmain(){ f[0][0] = 1; for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) add[i][j] = min(2, i + j); for (int i = 1, sum = 0; i <= M; i++) { int v = i * i; sum += v; for (int j = min(N, i); j >= 1; j--) for (int k = min(S, sum); k >= v; k--) f[j][k] = add[f[j][k]][f[j - 1][k - v]]; } ll ans = 0; for (int i = 1; i <= S; i++) if (f[N][i] == 1) ans += i; printf("%lld\n", ans); }