#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod = 1000000007;
ll fun(ll m,ll n){
if(n==0) return 1;
else if(n==1) return m;
else {
ll tmp = fun(m, n>>1);
if(n & 1) return ((tmp * tmp) % mod * m ) % mod;
else return (tmp * tmp) % mod;
}
}
int main()
{
ll T;
cin>>T;
while(T--){
ll a, b;
char c;
cin>>a>>b>>c;
if(c == '+'){
cout<<((a % mod) + (b % mod) ) % mod<<endl;
}
else if(c == '-'){
cout<<((a % mod) - (b % mod) ) % mod<<endl;
}
else if(c == '*'){
cout<<((a % mod) * (b % mod) ) % mod<<endl;
}
else if(c == '^'){
cout<<fun(a,b)<<endl;
}
}
return 0;
}
// 5
// 1 2 +
// 3 4 -
// 1000000000 1000000000 *
// 2 3 ^
// 2 1000000000 ^