#include using namespace std; #define REP(i,n) for(int i=0;i ostream& operator<<(ostream& os,const vector& vec){ os << "["; for(const auto& v : vec){ os << v << ","; } os << "]"; return os; } const long long mod = 1e9+7; typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef vector vi; typedef vector vvi; typedef vector vll; typedef vector vvll; ll dp[10][1000][110][110]; int main(){ double s;cin>>s; int t=s*4+0.1; // dp[i][sum][min][max] := i番目までで合計がsum,最小値がmin,最大値がmaxとなるような場合の数 dp[0][0][0][0] = 1; rep(i,101) dp[1][i][i][i]=1; for(int i=1;i<6;i++){ for(int mi=0;mi<=100;mi++){ for(int mx=mi;mx<=100;mx++){ for(int su=0;su<=700;su++){ if(dp[i][su][mi][mx]==0) continue; for(int score=0;score<=100;score++){ dp[i+1][su+score][min(mi,score)][max(mx,score)] += dp[i][su][mi][mx]; } } } } } ll ans=0; rep(i,101) for(int j=i;j<=100;j++) ans+=dp[6][t+i+j][i][j]; cout << ans << endl; }