#include <iostream>
using namespace std;
const long long M=200907;
long long quickpow(long long a,long long b){
long long ret=1;
while(b){
if(b%2==1) ret=(ret*a%M)%M;
a=a*a%M;
b/=2;
}
return ret%M;
}
long long a,b,c;
long long k;
long long t;
int main(){
cin>>t;
while(t--){
cin>>a>>b>>c>>k;
if(b-a==c-b) {
long long d=(b-a)%M;
cout<<((k-1)%M*d+a%M)%M<<endl;;
}else{
long long d=b/a%M;
cout<<(quickpow(d,k-1)*a%M)%M<<endl;
}
}
return 0;
}
一本通1615:【例 1】序列的第 k 个数
最新推荐文章于 2025-07-28 17:30:49 发布