转盘打字机
题号:NC22582
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在人类未来的走向上,必定会出现一个好玩的东西——转盘打字机!
 这个东西怎么用呢?你将一个已经打印好的纸条按照一个圈安在这个转盘上,第 1个位置对准读数器,首尾相接。 
现在拉动转盘逆时针旋转,在转盘打字机的另一侧就会实时地打出来一个新的纸 条,上面每个位置的数字表示每个时刻读书器读的数。 
一个打字机的尺寸定义为可以缠绕在上面的纸条的长度 。假设我们有无限个尺寸的转盘打字机,初始时给你一个上面印有n个数字的纸条,纸条第i位的数字为i,现在将它缠绕在打字机上,给定q个操作,第i个操作会给你一个参数p_i表示你需要截取打印出来的字条的前p_i位重新缠绕到打字机 上,直到q个操作执行完毕,你需要回答d当前纸条上,1到n每个数字出现了多少次? 

输入描述:

第一行一个整数n表示序列长度。 
第二行一个整数q表示操作个数。 
第三行p_i个整数表示 。

输出描述:

一行n个数字表示答案,第i个数字表示数字i在原序列中的出现次数。
示例1

输入

复制
3
1
2

输出

复制
1
1
0

备注:

,