#include<iostream>

using namespace std;

//加入第i张时可以装满,dp[i][j]=dp[i-1][j-w[i]],不加入i张也可以装满,dp[i-1][j];
//dp[i][0]=true,dp[0][j]=false;
//优化成一维数组。

int main(){
    int value[16]={0,8,8,8,8,8,10,10,10,10,18,18,18,18,18,18};
    int maxn=5*8+4*10+6*18;
    bool dp[maxn+1];
    for(int i=0;i<=maxn;++i)dp[i]=false;
    dp[0]=true;
    for(int i=1;i<=15;++i){
        for(int j=maxn;j>=value[i];--j){
            dp[j]=dp[j-value[i]]||dp[j];
        }
    }
    int answer=0;
    for(int i=1;i<=maxn;++i){
        if(dp[i]){
            answer++;
        }
    }
    cout<<answer<<endl;
    return 0;
}