链接:https://ac.nowcoder.com/acm/contest/3003/G

牛可乐有七个整数 \text{}a,b,c,d,e,f,ga,b,c,d,e,f,g 并且他猜想 a^d+b^e+c^f=gad+be+cf=g。但  牛可乐无法进行如此庞大的计算。
请验证 牛可乐的猜想是否成立。

输入描述:

第一行一个正整数 T,表示有 T 组数据。
每组数据输入一行七个整数 \text{}a,b,c,d,e,f,ga,b,c,d,e,f,g 。
保证 1\leq T \leq 10001≤T≤1000 , -10^9\leq a,b,c,g\leq 10^9−109≤a,b,c,g≤109 , 0\leq d,e,f\leq 10^90≤d,e,f≤109 保证不会出现指数和底数同为 0 的情况。

输出描述:

每组数据输出一行,若猜想成立,输出 Yes ,否则输出 No。

示例1

输入

复制

2
1 1 4 5 1 4 258
114514 1919810 1 2 3 4 1

输出

复制

Yes
No

说明

 

1^5+1^1+4^4=25815+11+44=258

114514^2+1919810^3+1^4\neq 11145142+19198103+14​=1

#include<bits/stdc++.h>
using namespace std;
long long n,t,k,a,b,c,d,e,f,g,l,o,s,r,ans,ss,max1=0;
char x[10000001];
long long mod=1e9+7;
long long ppow(long long a, long long b, long long m){
    long long ans = 1;
    while(b > 0){
        if(b & 1){
            ans = ans * a % m;
        }
        a = a * a % m;
        b >>= 1;
    }
    return ans;
}
 
int main()
{
    cin>>t;
    while(t--)
    {
        cin>>a>>b>>c>>d>>e>>f>>g;
        s=ppow(a,d,mod)+ppow(b,e,mod)+ppow(c,f,mod)-g%mod;
        if(s==0)
        cout<<"Yes"<<endl;
        else
        cout<<"No"<<endl;
    }
}