func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   inline bool read(T &ret) {     char c;     int sgn;     if (c = getchar(), c == EOF) return false;     while (c !=  -  && (c <  0  || c >  9 )) c = getchar();     sgn = (c ==  - ) ? -1 : 1;     ret = (c ==  - ) ? 0 : (c -  0 );     while (c = getchar(), c >=  0  && c <=  9 ) ret = ret * 10 + (c -  0 );     ret *= sgn;     return true;   }   inline long long qmul(long long, long long, long long);   inline long long qpow_qmul(long long, long long, long long);   inline long long qpow(long long, long long, long long);   inline long long gcd(long long, long long);   const int N = 1e5 + 10;   const long long INF = -0x3f3f3f3f;   const long long mod = 1e9 + 7;   const double PI = acos(-1.0);   int boy[N], girl[N];   int main() {     int n, m, num, idx, cnt, cnt1;     memset(boy, 0, sizeof(boy));     memset(girl, 0, sizeof(girl));     scanf( %d%d , &n, &m);     scanf( %d , &num);     cnt = num;     for (int i = 0; i < num; i++) scanf( %d , &idx), boy[idx] = 1;     scanf( %d , &num);     cnt1 = num;     for (int i = 0; i < num; i++) scanf( %d , &idx), girl[idx] = 1;     int x, y;     for (int i = 0; i < n * m * max(n, m); i++) {       x = i % n;       y = i % m;       if (boy[x] || girl[y]) {         if (!boy[x]) cnt++;         if (!girl[y]) cnt1++;         boy[x] = 1;         girl[y] = 1;       }       if (cnt == n && cnt1 == m) break;     }     if (cnt == n && cnt1 == m) {       printf( Yes n );     } else {       printf( No n );     }     return 0;   }   inline long long qmul(long long a, long long b, long long mod) {     long long ans = 0, x = a;     while (b) {       if (b & 1) {         ans += x % mod;         ans %= mod;       }       x *= 2;       x %= mod;       b >>= 1;     }     return ans % mod;   }   inline long long qpow_qmul(long long x, long long n, long long mod) {     long long ans = 1, a = x % mod;     while (n) {       if (n & 1) {         ans = qmul(ans, a, mod);         ans %= mod;       }       a = qmul(a, a, mod);       a %= mod;       n >>= 1;     }     return ans;   }   inline long long qpow(long long x, long long n, long long mod) {     long long ans = 1, a = x % mod;     while (n) {       if (n & 1) {         ans *= a % mod;         ans %= mod;       }       a *= a % mod;       a %= mod;       n >>= 1;     }     return ans;   }   inline long long gcd(long long m, long long n) {     return n == 0 ? m : gcd(n, m % n);   }   