Select solution language
            
            Write solution here.
                
                    
                    
                    
                        
                        Ta dễ dàng thấy ở những vị trà mà i%3==0 thì sẽ có 4 chữ số thõa mãn, các vị trà còn lại sẽ có 
3 chữ số thõa mãn. do đó ta tìm số lần xuất hiện các vị trà chia hết cho 3-đặt là k ,
 và các vị trà còn lại- đặt là x.
ta có kết quả sẽ là 3^x * 4^k; (3 mũ x nhân với 4 mũ k )
ở đây ta phải tạo má»™t hàm tÃnh mÅ© theo phương pháp lÅ©y thừa nhị phân :> .
sau đó tÃnh kết quả thôi .
tham khảo cách viết hàm mũ tại đây : https://blog.28tech.com.vn/luy-thua-nhi-phan
Bên dưới sẽ là code để các bạn tham khảo :) : 
```cpp
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,c;
ll nhan(ll a,ll b)
{
    if(b==0)return 0;
    if(b==1)return a;
    ll x=nhan(a,b/2);
    x=(x+x)%c;
    if(b&1)return (x+a)%c;
    else return x;
}
ll mu(ll a,ll b)
{
    if(b==0)return 1;
    if(b==1)return a;
    ll x=mu(a,b/2);
    x=nhan(x,x);
    if(b&1)return nhan(x,a);
    else return x;
}
void input()
{
    cin>>n;
}
void solve()
{
    c=1e9+7;
    ll ans=1;
    ll k=n/3;
    ll x=2*k+n%3;
    ans=nhan(ans,mu(4,k));
    ans=nhan(ans,mu(3,x));
    cout<<ans;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    input();
    solve();
    return 0;
}