/*
Migrated from Lutece 1939 能否被3整除2
Description
有数列定义为:F(0) = a, F(1) =b,F(n) = F(n-1)+F(n-2), 且0 < a < b < 20.现给出a, b, n,请问F(n)能否被3整除.Input
有多组测试数据.输入的第一行是整数T(1<=T<=20),表示随后测试数据的组数.
每组测试数据的第一行是正整数a, b, m, a,b的含义如前所述, m表示随后有m行,每行为前面所述的n, 0 < m < 100, 0 < n < 10^9.Output
对应每组测试数据,共输出m行,如果每行对应的F(n)能被3整除,则输出一行”Yes”,否则输出一行”No”.两组测试数据的输出间,请输出一行空行.
*//*
斐波那契数列对任意整数m取模后的结果是周期性的
不同的m对应不同的周期
对于m=3,周期为8
*/// 斐波那契数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
// 模3得到的数列 0, 1, 1, 2, 0, 2, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, ...
// 若斐波那契数列的初始两个数为 a, b
// (a+b)%m == (a%m + b%m)%m (mod m),这里的==指的是等式两边模m的余数相同
#include <iostream>
#include <vector>
#include <algorithm>
void solve(){int a,b,m;std::cin>>a>>b>>m;std::vector<int> vecN(m);for(auto& i : vecN)std::cin>>i;// curr -- aa%=3;b%=3;//ab : 00 11 22 01 10 12 21 02 20// 1 1 2 0 2 2 1 0 1 1 2 0 2 2 1 0 1 1 2 0 2 2 1 ... (mod 3)// 00 --> Yes// 01 02 --> Yes in [0,4,8,12,...]// 10 20 --> Yes in [1,5,9,13,...]// 12 21 --> Yes in [2,6,10,14,...]// 11 22 --> Yes in [3,7,11,15,...]if(a==0&&b==0){for(int i = 0;i<m;++i){std::cout<<"Yes"<<std::endl;} }else{int remain = 0;if(a==0){remain = 0;}else if(b==0){remain = 1;}else if(a!=b){remain = 2;}else if(a==b){remain = 3;}for(int i = 0;i<m;++i){if(vecN[i]%4==remain)std::cout<<"Yes"<<std::endl;else std::cout<<"No"<<std::endl;}}std::cout<<std::endl;
}
int main(){int t;std::cin>>t;while(t--){solve();}
}// // xf的代码
// #include <iostream>
// #include <vector>// int main(){
// int T;
// std::cin >> T;
// while(T--){
// std::vector<int> a(8);
// std::cin >> a[0] >> a[1];
// int m;
// std::cin >> m;
// a[0] %= 3,a[1] %= 3;
// for(int i = 2;i<10;i++){
// a[i] = (a[i - 1] + a[i - 2])%3;
// }
// while(m--){
// int n;
// std::cin >> n;
// if(a[n % 8] == 0){
// std::cout << "Yes" << std::endl;
// }
// else{
// std::cout << "No" << std::endl;
// }
// }// std::cout << std::endl;
// }
// }