#include<cstdio>
int main(){
int t;
scanf("%d",&t);
while(t--){
long long a,b,k;
long long sum=0,t;
scanf("%lld%lld%lld",&a,&b,&k);
t=a-b;
if(k%2==0){
sum=t*k/2;
}
else {
sum=t*(k/2)+a;
}
printf("%lld\n",sum);
}
}
#include<cstdio>
int a[105];
int main(){
int n,k=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=1;i<n;i++){
if(a[i-1]&&a[i+1]&&!a[i]){
k++;
a[i+1]=0;
}
}
printf("%d\n",k);
}
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
typedef long long ll;
ll a[N],b[N],ans[N];
int main(){
ll t=0,k=0;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
t+=a[i];
b[i]=a[i];
}
sort(b,b+n);
for(int i=0;i<n;i++){
if(t-a[i]==2*b[a[i]==b[n-1]?n-2:n-1]){
ans[k++]=i+1;
}
}
printf("%lld\n",k);
for(int i=0;i<k;i++)
printf("%lld ",ans[i]);
}
#include<bits/stdc++.h>
using namespace std;
const int N=200005;
struct node{
int a=0,b;
}t[N];
int cmp(node x,node y){
return x.a<y.a;
}
int main(){
int n,k,x;
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%d",&x);
t[x].a++;
t[x].b=x;
}
sort(t,t+N,cmp);
int l=1,r=n;
while(l+1<r){
int m=(l+r)/2;
x=0;
for(int i=N;i>=0;i--)
x+=t[i].a/m;
x>=k?l=m:r=m;
}
for(int i=N;i>0;i--){
for(int j=t[i].a/l;j>0&&k-->0;j--)
printf("%d ",t[i].b);
}
}