#include <vector> class GoUpstairs { vector<int> ways = {1,1,2,4}; const int mod = 1000000007; public: int countWays(int n) { // write code here if(n<ways.size()) return ways[n]; for(int j = ways.size();j<=n;j++) { ways.emplace_back(((ways[j-1]+ways[j-2])%mod + ways[j-3])%mod); } return ways[n]; } };