// C++ Program for the above approach
#include <bits/stdc++.h>
using namespace std;
// Function to calculate the total
// number of ways to have sum N
void findWays(int N)
{
// Initialize dp array
int dp[N + 1];
dp[0] = 1;
// Iterate over all the possible
// intermediate values to reach N
for (int i = 1; i <= N; i++) {
dp[i] = 0;
// Calculate the sum for
// all 6 faces
for (int j = 1; j <= 6; j++) {
if (i - j >= 0) {
dp[i] = (dp[i] + dp[i - j]) % 1000000007 ;
}
}
}
// Print the total number of ways
cout << dp[N];
}
// Driver Code
int main()
{
// Given sum N
int N = 7;
// Function call
findWays(N);
return 0;
}
Ly8gQysrIFByb2dyYW0gZm9yIHRoZSBhYm92ZSBhcHByb2FjaAoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBGdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhlIHRvdGFsCi8vIG51bWJlciBvZiB3YXlzIHRvIGhhdmUgc3VtIE4Kdm9pZCBmaW5kV2F5cyhpbnQgTikKewoJLy8gSW5pdGlhbGl6ZSBkcCBhcnJheQoJaW50IGRwW04gKyAxXTsKCglkcFswXSA9IDE7CgoJLy8gSXRlcmF0ZSBvdmVyIGFsbCB0aGUgcG9zc2libGUKCS8vIGludGVybWVkaWF0ZSB2YWx1ZXMgdG8gcmVhY2ggTgoJZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKSB7CgoJCWRwW2ldID0gMDsKCgkJLy8gQ2FsY3VsYXRlIHRoZSBzdW0gZm9yCgkJLy8gYWxsIDYgZmFjZXMKCQlmb3IgKGludCBqID0gMTsgaiA8PSA2OyBqKyspIHsKCgkJCWlmIChpIC0gaiA+PSAwKSB7CgkJCQlkcFtpXSA9IChkcFtpXSArIGRwW2kgLSBqXSkgJSAxMDAwMDAwMDA3IDsKCQkJfQoJCX0KCX0KCgkvLyBQcmludCB0aGUgdG90YWwgbnVtYmVyIG9mIHdheXMKCWNvdXQgPDwgZHBbTl07Cn0KCi8vIERyaXZlciBDb2RlCmludCBtYWluKCkKewoJLy8gR2l2ZW4gc3VtIE4KCWludCBOID0gNzsKCgkvLyBGdW5jdGlvbiBjYWxsCglmaW5kV2F5cyhOKTsKCglyZXR1cm4gMDsKfQo=