#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; typedef pair Pl; const ll MOD=1e9+7; ll gcd(ll a, ll b){ if(b==0) return a; return gcd(b, a%b); } ll powmod(ll a, ll k){ ll ap=a, ans=1; while(k){ if(k&1){ ans*=ap; ans%=MOD; } ap=ap*ap; ap%=MOD; k>>=1; } return ans; } ll inv(ll a){ return powmod(a, MOD-2); } vector dh, dw; int main() { ll h, w, k; cin>>h>>w>>k; for(ll i=1; i*i<=h; i++){ if(h%i==0){ dh.push_back(i); if(i*i=0; i--){ ct1[i]=h/dh[i]; for(int j=i+1; j=0; i--){ ct2[i]=w/dw[i]; for(int j=i+1; j