Theatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city’s anniversary, a decision was taken to pave the Square with square granite flagstones. Each flagstone is of the size a × a.
What is the least number of flagstones needed to pave the Square? It’s allowed to cover the surface larger than the Theatre Square, but the Square has to be covered. It’s not allowed to break the flagstones. The sides of flagstones should be parallel to the sides of the Square.

Input

The input contains three positive integer numbers in the first line: n,  m and a (1 ≤  n, m, a ≤ 109).

Output

Write the needed number of flagstones.

Examples Input

6 6 4

Examples Output

4

解题思路

求出每行每列可以放多少个并相乘:若广场的长宽除以flagstone的边长余0,则刚好可以铺满;若余数不为0,则所得结果再加1,可以铺满且多出一部分;

#include <iostream>
using namespace std;

int main()
{
	long long int m,n,a,sum,x,y;
	while(cin>>m>>n>>a)
	{
		if(m%a==0)
		{
			x=m/a;
		}
		else x=m/a+1;
		if(n%a==0)
		{
			y=n/a;
		}
		else y=n/a+1;
		sum=x*y;
		cout<<sum<<endl; 
	}
}
收藏 打印