1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
#define ll long long 
using namespace std;

vector <ll> t;
ll w,h,res=0;
void f(ll x, ll &w, ll &h, ll i){
    int w1=w,h1=h;
    w/=x; w*=x;
    h/=x; h*=x;
    res+=((w1*h1)-(w*h))/(t[i-1]*t[i-1]);
    
    
    //cout<<res<<" "<<w<<" "<<h<<" "<<w1<<" "<<h1<<" "<<t[i-1]<<endl;
}
int main()
{
    int n; 
    cin>>w>>h>>n;
    for(int i=1; i<=n; i++){
        int x; cin>>x; t.push_back(x);
    }
    sort(t.begin(),t.end());
    if(w%t[0]!=0 || h%t[0]!=0){
        cout<<"-1";
        return 0;
    }
    ll *ith=&h;
    ll *itw=&w;
    for(int i=1; i<n; i++)
        f(t[i],w,h,i);
    
    res+=w*h/(t[n-1]*t[n-1]);
    cout<<res<<endl;
    return 0;
}