c++请大家回答一下

设计一个2×2的矩阵结构体,然后计算一个矩阵A的n次幂。为了避免整型溢出,请输出矩阵中每个元素模10^9+7的结果。

模10^9+7是 a%(10的9次方)+7,还是a%(10的9次方+7)?

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int a[2][2],i,j,k,t,n;
    int b[2][2];
    t = pow(10.0,9);

    cout << "请输入n的值:";
    cin >> n;
    cout << "请输入2*2的矩阵:"<<endl;
    for (i=0;i<2;i++)
    {
        for (j=0;j<2;j++)
        {
            cin >> a[i][j];
            b[i][j] = 1;
        }
    }
    //计算
    for (k=0;i<n;k++)
    {
        for (i=0;i<2;i++)
        {
            for (j=0;j<2;j++)
            {
                b[i][j] = ((long long)b[i][0]*a[0][j] + b[i][1]*a[1][j])%(t+7); //模10的9次方+7
                //这两个语句你自己试试吧,看看哪个是你要的
                //b[i][j] = ((long long)b[i][0]*a[0][j] + b[i][1]*a[1][j])%t+7; //模10的9次方+7
                
            }
        }
    }
    //输出
    for (i=0;i<2;i++)
    {
        for(j=0;j<2;j++)
            cout << b[i][j] << " ";
        cout <<endl;
    }
    return 0;
}