#include <iostream>
using namespace std;
typedef long long ll;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int  t;
    cin>>t;
    while(t--){
        ll l,r;
        cin>>l>>r;
        ll sum=(l+r)*(r-l+1)/2;
        int m;
        cin>>m;
        while(m--){
            ll x;
            cin>>x;
            ll tem=sum%x;
            if(tem==0)cout<<"0\n";
            else cout<<"1\n";
        }
    }
    return 0;
}

在模意义下取考虑问题(一个圈)

在开始与每次删去后(每次均是x倍数)故在模x意义下同余

如果模x为0 则可以整除,如果模x为v不为0,那么找到某个值模x为v 去掉后模x为0就可全部删掉 这时只剩下一个数

注意int会越界 故用long long (long long= int *int 在int *int过程中结果为int后才转为longlong )要么全程longlong要么(long long)转换