C
#include<iostream>
#include<cstring>
#include<algorithm>
#include<set>
#include<map>
#include<unordered_map>
#include<cmath>
#include<unordered_set>
#include<queue>
using namespace std;
#define int long long
typedef long long ll;
#define x first
#define y second
typedef pair<int ,int > PII;
int gcd(int a,int b){
return b ? gcd(b,a % b) : a;
}
int qmi(int a,int b){
int res = 1;
while(b){
if(b & 1) res = res * a