#include #include #pragma GCC optimize("O3") using namespace std; using namespace atcoder; using ll = long long; using ull = unsigned long long; using vi = vector; using vll = vector; using vull = vector; using vs = vector; using vb = vector; using vc = vector; using vf = vector; using vd = vector; using vvi = vector>; using vvll = vector>; using vvull = vector>; using vvs = vector>; using vvc = vector>; using vvb = vector>; using vvf = vector>; using vvd = vector>; using pi = pair; using pll = pair; using vpi = vector; using vpll = vector; #define cYes cout << "YES\n" #define cNo cout << "NO\n" #define cyes cout << "Yes\n" #define cno cout << "No\n" #define fi first #define se second #define pb push_back #define eb emplace_back #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() template inline istream& operator >> (istream& is, vector& v){ for(size_t i=0; i> v[i]; } return is; } template inline istream& operator >> (istream& is, vector>& v){ for(size_t i=0; i> v[i].first >> v[i].second; } return is; } template inline istream& operator >> (istream& is, vector>& v){ for(size_t i=0; i> v[i][j]; } } return is; } template inline istream& operator >> (istream& is, vector, pair>>& v){ for(size_t i=0; i> v[i].first.first >> v[i].first.second >> v[i].second.first >> v[i].second.second; } return is; } const double PI = 3.14159265359; vi dx = {0, -1, 0, 1}; vi dy = {1, 0, -1, 0}; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string M, D; cin >> M >> D; for(int i=2; i*i