public class Euler116 {
    static long count(int len, int tile) {
        long[] dp=new long[len+1]; dp[0]=1;
        for(int n=1;n<=len;n++){dp[n]=dp[n-1];if(n>=tile)dp[n]+=dp[n-tile];}
        return dp[len]-1;
    }
    public static void main(String[] args) { System.out.println(count(50,2)+count(50,3)+count(50,4)); }
}
