#include using namespace std; using ll = long long; #define mod99 998244353 #define mod107 1000000007 #define endl "\n" #define rep(i,n) for (int i = 0; (i) < (n); ++i) #define prep(i,a,n) for (int i = (a); i < (n); ++i) #define rrep(i,n) for (int i = n-1; i >= 0; --i) #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(), a.rend() #define si(x) ((int)(x).size()) //#define YN(bool) if(bool){cout<<"YES"< inline T gcd(T a,T b) {return (b==0)?a:gcd(b,a%b);} template inline T lcm(T a, T b) {return a/gcd(a,b)*b;} templatebool chmax(T &a, T b) { if (abool chmin(T &a, T b) { if (b> s; ll b;cin >> b; i128 n = 0; for(char c:s) n = n*10+(c-'0'); i128 x, y; i128 p = pgcd(n,b,x,y); if(p!=1) {cout << "NaN" << endl; return 0;} else {ll i=(x%b+b)%b; cout << i << endl; return 0;} cout << "NaN" << endl; }