Problem116(){
		int n = 50;
		long[] r = new long[n+1];
		r[0] = r[1] = 1;
		for(int i = 2; i <= n; i++){
			r[i] = r[i-1] + r[i-2];
		}
		long[] g = new long[n+1];
		g[0] = g[1] = g[2] = 1;
		for(int i = 3; i <= n; i++){
			g[i] = g[i-1] + g[i-3];
		}
		long[] b = new long[n+1];
		b[0] = b[1] = b[2] = b[3] = 1;
		for(int i = 4; i <= n; i++){
			b[i] = b[i-1] + b[i-4];
		}
		long sum = r[n]-1 + g[n]-1 + b[n]-1;
		System.out.println((r[n]-1) + " + " + (g[n]-1) + " + " + (b[n]-1)+" = "+sum);
	}