#include <bits/stdc++.h>
#define int long long
using namespace std;
struct cow{
int o=0,t=0,e=0;
};
int n,q,s[10010],l,r;
cow b[10010],z[10010];
signed main(){
scanf("%lld",&n,&q);
for(int i=1;i<=n;i++){
scanf("%lld",&s[i]);
switch(s[i]){
case 1:b[i].o++;break;
case 2:b[i].t++;break;
case 3:b[i].e++;break;
}
z[i].o=z[i-1].o+s[i]+1;
z[i].t=z[i-1].t+s[i]+1;
z[i].e=z[i-1].e+s[i]+1;
}
cin.sync();
while(q--){
scanf("%lld%lld",&l,&r);
printf("%lld %lld %lld\n",z[r].o-z[l].o,z[r].t-z[l].t,z[r].e-z[l].e);
}
return 0;
}