死亡笔记

You received a notebook which is called Death Note. This notebook has infinite number of pages. A rule is written on the last page (huh) of this notebook. It says: "You have to write names in this notebook during nn consecutive days. During the ii-th day you have to write exactly aiai names.". You got scared (of course you got scared, who wouldn't get scared if he just receive a notebook which is named Death Note with a some strange rule written in it?).

Of course, you decided to follow this rule. When you calmed down, you came up with a strategy how you will write names in the notebook. You have calculated that each page of the notebook can contain exactly mm names. You will start writing names from the first page. You will write names on the current page as long as the limit on the number of names on this page is not exceeded. When the current page is over, you turn the page. Note that you always turn the page when it ends, it doesn't matter if it is the last day or not. If after some day the current page still can hold at least one name, during the next day you will continue writing the names from the current page.

Now you are interested in the following question: how many times will you turn the page during each day? You are interested in the number of pages you will turn each day from 11 to nn.

Input

The first line of the input contains two integers nn, mm (1≤n≤2⋅1051≤n≤2⋅105, 1≤m≤1091≤m≤109) — the number of days you will write names in the notebook and the number of names which can be written on each page of the notebook.

The second line contains nn integers a1,a2,…,ana1,a2,…,an (1≤ai≤1091≤ai≤109), where aiai means the number of names you will write in the notebook during the ii-th day.

Output

Print exactly nn integers t1,t2,…,tnt1,t2,…,tn, where titi is the number of times you will turn the page during the ii-th day.

Examples

Input

3 5
3 7 9

Output

扫描二维码关注公众号,回复: 3185424 查看本文章
0 2 1 

Input

4 20
10 9 19 2

Output

0 0 1 1 

Input

1 100
99

Output

0 

Note

In the first example pages of the Death Note will look like this [1,1,1,2,2],[2,2,2,2,2],[3,3,3,3,3],[3,3,3,3][1,1,1,2,2],[2,2,2,2,2],[3,3,3,3,3],[3,3,3,3]. Each number of the array describes during which day name on the corresponding position will be written. It is easy to see that you should turn the first and the second page during the second day and the third page during the third day.

你收到了一个名为Death Note的笔记本。这款笔记本拥有无限数量的页面。规则写在这个笔记本的最后一页(呵呵)。它说:“你必须在连续几天内在这个笔记本上写名字。在第二天你必须准确写出aiai的名字。”你害怕了(当然你害怕,如果他刚刚收到一个名为死亡笔记的笔记本,并写入了一些奇怪的规则,谁就不会害怕?)。

当然,你决定遵循这条规则。当你平静下来时,你想出了一个如何在笔记本中写名字的策略。您已计算出笔记本的每个页面都可以包含正确的mm名称。您将从第一页开始编写名称。只要不超过此页面上的名称限制,您就会在当前页面上写入名称。当前页面结束时,您翻页。请注意,您总是在页面结束时翻页,如果是最后一天也无关紧要。如果在某一天之后当前页面仍然可以保留至少一个名称,那么在第二天您将继续从当前页面写入名称。

现在您对以下问题感兴趣:您每天会翻页多少次?您对每天从11到nn的页数感兴趣。

输入
输入的第一行包含两个整数nn,mm(1≤n≤2⋅1051≤n≤2⋅105,1≤m≤1091≤m≤109) - 您在笔记本中写入名称的天数和可以在笔记本的每个页面上写入的名称数量。

第二行包含nn个整数a1,a2,...,ana1,a2,...,an(1≤ai≤1091≤ai≤109),其中aiai表示在第ii天你将在笔记本中写的名字数。

产量
打印nn整数t1,t2,...,tnt1,t2,...,tn,其中titi是你在第ii天翻页的次数。

例子
输入
3 5
3 7 9
产量
0 2 1
输入
4 20
10 9 19 2
产量
0 0 1 1
输入
1 100
99
产量
0
注意
在第一个例子中,死亡笔记的页面将如下[1,1,1,2,2],[2,2,2,2,2],[3,3,3,3,3],[ 3,3,3,3] [1,1,1,2,2-],[2,2,2,2,2],[3,3,3,3,3],[3,3,3- ,3]。数组的每个数字都描述了在哪一天写入相应位置的名称。很容易看到你应该在第二天和第三天在第三天转动第一页和第二页。

#include<iostream>
#define ll long long
using namespace std;
int main()
{
       ll a,b;
	   
	while(cin>>a>>b)
	{   ll s[a];
	    ll y;
		ll  d=0;
		for(int i=0;i<a;i++)
		{
			cin>>s[i];
		}
		for(int j=0;j<a;j++)
		{   
		    d+=s[j];
			y=d/b;	 
			d%=b;
			if(j==(a-1)) 
			cout<<y<<endl;
			else
			cout<<y<<" ";
		
		}
	}
	
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/xyy19990130/article/details/82056207
今日推荐