我的代码出现了问题,求解决

我的代码出现了问题,求解决!

#include
using namespace std;
int main(){
    ios::sync_with_stdio(0);
    cout.tie(0), cin.tie(0);
    int n;
    int a = 0;
    cin >> n;
    n = n - 4;
    a = a + 1;
    n = n - 1;
    a = a + 1;
    for(int i = 1;i <= n;i ++) a = a * a;
    cout << a;
    return 0;
}

输入
13
输出
36
我的输出
0

img


数据太大,直接变0

为什么会等于36?进for循环之前,a=2,n=8。
a=a*a计算几次就溢出了。

题目是啥?