//#include <bits/stdc++.h>
//
//using namespace std;
//long long a[1000001],b,c,n,m,k,i,j;
//int main()
//{
//    cin >> n >> m >> k;
//    if(k>n and k<m)
//    {
//        if(m%k!=0) cout << m/k+1 << endl;
//        else cout << m/k << endl;
//    }
//    else if(k<n and k>m)
//    {
//        if(n%k!=0) cout << n/k+1 << endl;
//        else cout << n/k << endl;
//    }
//    else if(k>n and k>m) cout << "1\n";
//    else if(n%k!=0) cout << (n/k+1)*(m/k) << "\n";
//    else if(m%k!=0) cout << (n/k)*(m/k+1) << "\n";
//    else cout << (n/k)*(m/k) << "\n";
//    return 0;
//}
#include <bits/stdc++.h>

using namespace std;
long long a[1000001],b,c,n,m,k,i,j;
int main()
{
    cin >> n >> m >> k;
    if(n%k==0 and m%k==0)b=max(n/k,m/k),c=min(n/k,m/k);
    else if(n%k!=0 and m%k==0) b=max(n/k+1,m/k),c=min(n/k+1,m/k);
    else if(n%k==0 and m%k!=0) b=max(n/k,m/k+1),c=min(n/k,m/k+1);
    else if(n%k!=0 and m%k!=0) b=max(n/k+1,m/k+1),c=min(n/k+1,m/k+1);
    cout << b*c << "\n";
    return 0;
}
