#include using namespace std; #include using namespace atcoder; using ll=long long; using Graph=vector>; #define MOD 998244353 #define INF 1000000000000000000 #define MAX 1000000 ll gcd(ll a,ll b){ while(a%b!=0){ ll tmp=a%b; a=b; b=tmp; } return b; } int main(){ int N,M; ll K; cin>>N>>M>>K; char op; cin>>op; vector B(M),A(N); for(int i=0;i>B[i]; } for(int i=0;i>A[i]; } if(op=='+'){ for(int i=0;i divd; for(ll i=1;i*i<=K;i++){ if(K%i==0){ divd.push_back(i); if(K/i!=i){ divd.push_back(K/i); } } } sort(divd.begin(),divd.end()); int n=divd.size(); vector cnt(n); for(int i=0;i