#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // #include using namespace std; using ll = long long; using P = pair; constexpr ll INF = 9e18; constexpr int inf = 1e9; const double INFD = 1e100; const ll mod = 1000000007; const double PI = 3.1415926535897932384626433832795028841971; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }; // intやllをstringに変換 template inline string toString(const T &a){ ostringstream oss; oss << a; return oss.str(); }; // ---------------------------------------------------------------------------- // beetさんの素因数分解 template map factorize(T x){ map res; for(ll i=2;i*i<=x;i++){ while(x%i==0){ x/=i; res[i]++; } } if(x!=1) res[x]++; return res; } // 使用例 // vector cnt(111,0); // for(int i=1; i<=N; i++){ // for(auto p: factorize(i)){ // cnt[p.first] += p.second; // } // } int main(){ ll N,M,K; cin >> N >> M >> K; char c; cin >> c; vector B(M); for(int i=0; i> B[i]; } vector A(N); for(int i=0; i> A[i]; } if(c == '*'){ map mp_K; mp_K = factorize(K); map,ll> mp; for(int i=0; i rem_B(K,0); vector rem_A(K,0); for(int i=0; i