Simple DP solution || C++ || Time complexity O(12*N)
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    long long dp[100001][2][3][2]; //ind, l, e, t\n    const int Mod = 1000000007;\n    \n    long long f(int ind, int l, int e, int t, int n){\n        if(ind == n){\n            if(l >= 1 && e >= 2 && t >= 1) return 1;\n            return 0;\n        }\n        \n        if(dp[ind][l][e][t] != -1) return dp[ind][l][e][t];\n        \n        long long take = 0;\n        for(char ch = \'a\'; ch <= \'z\'; ch++){\n            if(ch == \'l\' && l < 1){\n                take = (take + f(ind + 1, l + 1, e, t, n) % Mod) % Mod;\n            }\n            else if(ch == \'e\' && e < 2){\n                take = (take + f(ind + 1, l, e + 1, t, n) % Mod) % Mod;\n            }\n            else if(ch == \'t\' && t < 1){\n                take = (take + f(ind + 1, l, e, t + 1, n) % Mod) % Mod;\n            }\n            else take = (take + f(ind + 1, l, e, t, n) % Mod) % Mod;\n        }\n        return dp[ind][l][e][t] = take;\n    }\n    int stringCount(int n) {\n        memset(dp, -1, sizeof(dp));\n        \n        return (int) f(0, 0, 0, 0, n);\n    }\n};\n```
['C++']