额 找找规律吧 要用long long 才过。
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
long long m,n,s;
scanf("%I64d%I64d%I64d",&m,&n,&s);
if(m < n)
swap(m, n);
if(s >= m && s >= n)
printf("%I64d\n",m*n);
else if(s < m && s >= n)
printf("%I64d\n",((m-1)%s+1)*((m-1)/s+1)*n);
else
printf("%I64d\n",((m-1)%s+1)*((m-1)/s+1)*((n-1)%s+1)*((n-1)/s+1));
return 0;
}