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
#include <iostream>
using namespace std;

long long tab[100];

int main()
{
    long long n, m, d, odp=0;
    cin>>n>>m>>d;
    for(int a=0; a<d; a++)
        cin>>tab[a];
    if(n%tab[0]!=0 || m%tab[0]!=0){
        cout<<-1<<"\n";
        return 0;
    }
    odp=(n/tab[0])*(m/tab[0]);
    for(int a=1; a<d; a++)
    {
        n=n-(n%tab[a]);
        m=m-(m%tab[a]);
        odp=odp-(n/tab[a-1])*(m/tab[a-1]);
        odp=odp+(n/tab[a])*(m/tab[a]);
    }
    cout<<odp;
}