//code of JUYU ^ ^ never doubt youself ! #include #define For(i,j,k) for(int i=j;i<=k;++i) #define Dow(i,j,k) for(int i=k;i>=j;--i) #define ms(a,b) memset(a,b,sizeof a) #define ll long long #define pa pair #define fir first #define sec second #define eb emplace_back #define pb push_back #define mk make_pair using namespace std; const int mod = 998244353; const int MOD = 1e9 + 7; const int N = 1e5 + 10; int ans; //exactly you can get the answer inline ll read() { ll t = 0, dp = 1; char c = getchar(); while(!isdigit(c)) {if (c == '-') dp = -1; c = getchar();} while(isdigit(c)) t = t * 10 + c - 48, c = getchar(); return t * dp; } inline void write(ll x){if (x < 0) {putchar('-'); x = -x;} if(x >= 10) write(x / 10); putchar(x % 10 + 48);} inline void writeln(ll x){write(x); puts("");} inline void write_p(ll x){write(x); putchar(' ');} int prime[N], cnt; bool st[N]; void get_prime(int x) { for (int i = 2; i <= x; i ++) { if (!st[i]) prime[cnt ++] = i; for (int j = 0; prime[j] <= x / i; j ++) { //对于任意一个合数x,假设pj为x最小质因子,当i