Thanks simes. I got it running. The accepted code is given below. Just a little tweak.
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;
void multiply(ll m1[2][2],ll m2[2][2])
{
ll mult[2][2];
for(ll i=0;i<2;i++)
{
for(ll j=0;j<2;j++)
{
mult[i][j]=0;
for(ll k=0;k<2;k++)
{
mult[i][j]=(mult[i][j] + (m1[i][k])%mod * (m2[k][j])%mod)%mod;
}
}
}
for(ll i=0;i<2;i++)
{
for(ll j=0;j<2;j++)
{
m1[i][j]=mult[i][j];
}
}
}
void fibb(ll F[2][2],ll N)
{
if(N==0)
{
return;
}
ll b[2][2]={{1,1},{1,0}};
while(N)
{
if(N&1)
{
multiply(F,b);
}
multiply(b,b);
N>>=1;
}
}
ll findsum(ll N,ll M)
{
ll F[2][2]={{1,0},{0,1}};
fibb(F,M+1);
ll q=F[0][0];
ll Q[2][2]={{1,0},{0,1}};
fibb(Q,N);
ll p=Q[0][0];
p=(mod-p)%mod;
return (q+p)%mod;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll t;
cin>>t;
while(t--)
{
ll N,M;
cin>>N>>M;
cout<<findsum(N,M)<<endl;
}
return 0;
}