#P5407. Breed Counting

Breed Counting

题目描述

农民约翰的N{N}头牛,方便地编号为1…{1…}N,{N,}都站成一排(他们似乎经常这样做,现在几乎不需要农民约翰的提示就可以把它们排成一行)。每头奶牛都有一个品种ID:{ID:}1{1}头用 于霍尔斯泰因牛,2{2}头用于根西岛牛,3{3}头用于球衣牛。农场主约翰希望您能帮助他计算在订购的特定时间间隔内每种奶牛的数量。

输入格式

第一行输入包含N{N}和Q({Q(}1≤{1≤}N≤{N≤}100,000,1≤{100,000, 1≤}Q≤{Q≤}100,000).{100,000).}

接下来的N{N}行包含一个1{1}、2{2}或3{3}的整数,在排序中给出了一头奶牛的品种ID{ID}。

接下来的Q{Q}行以两个整数a{a}、b{b}的形式描述查询(a≤{a≤}b){b)} 。

输出格式

对于每个Q{Q}查询(a,{a,}b){b)},打印一行包含三个数字:编号为a…{a…}b{b}的奶牛数量,这些奶牛是霍尔斯泰牛(品种1){1)}、根西岛牛(品种2){2)}和球衣牛(品种3){3)}。

样例

输入样例

6 3
2
1
1
3
2
1
1 6
3 3
2 4

输出样例

3 2 1
1 0 0
2 0 1