/*
刚开始以为要用大数呢,后来才发现是个水题。。。
需要用到二分幂。。
2013-04-22
*/
#include"stdio.h" #include"string.h" typedef __int64 int64; int64 fun(int64 a,int64 b) { int64 t,ans; ans=1; t=a%200907; while(b) { if(b%2==1)ans=(ans*t)%200907; t=(t*t)%200907; b/=2; } return ans; } int main() { int T; int64 ans; int64 a,b,c,k; scanf("%d",&T); while(T--) { scanf("%I64d%I64d%I64d%I64d",&a,&b,&c,&k); if(2*b==a+c) { ans=a%200907+((k-1)%200907)*((c-b)%200907)%200907; ans%=200907; } else { ans=(a*fun(b/a,k-1))%200907; } printf("%I64d\n",ans); } return 0; }