#include <bits/stdc++.h>
long long mod = 1e9 + 7;
int fun(int n, vector<int> &dp) {
if(n==0) return 1;
if(dp[n]!=-1) return dp[n];
long long os = 0, ts = 0, ths = 0;
if(n>=1) os = fun(n-1, dp);
if(n>=2) ts = fun(n-2, dp);
if(n>=3) ths = fun(n-3, dp);
return dp[n] = (int)((os + ts + ths)%mod);
}
int distance(int n) {
// Write your code here
vector<int> dp(n+1,-1);
return fun(n, dp);
}


