EASY C++ SOLUTION || BEGINNER FRIENDLY
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```cpp []
class Solution {
    typedef long long ll;
    vector<vector<vector<vector<int>>>>dp;
    ll mod = 1e9+7;

    int find_answer(int idx, int l, int e, int t, int n)
    {
        if(idx >= n)
        {
            if(l == 0 && e == 0 && t == 0)
            return 1;

            return 0;
        }

        if(dp[idx][l][e][t] != -1)
        return dp[idx][l][e][t]%mod;

        ll a = 0;

        a += 23L*find_answer(idx+1, l, e, t, n)%mod;
        a += find_answer(idx+1, max(0, l-1), e, t, n)%mod;
       
        a += find_answer(idx+1,  l, max(e-1, 0), t, n)%mod;
        a += find_answer(idx+1, l, e, max(t-1, 0), n)%mod;

        return dp[idx][l][e][t] = a%mod;
    }
public:
    int stringCount(int n) {
        dp.resize(n+1, vector<vector<vector<int>>>(2, vector<vector<int>>(3, vector<int>(2, -1))));

        if(n < 4)
        return 0;

        return find_answer(0, 1, 2,1, n);
        
    }
};
```
['Math', 'Dynamic Programming', 'C++']