/*两个子函数,当输入序列时,从序列后面往前遍历,找他后面比他大的数的个数,然后用总数减掉这个数,和比他大的个数,放入对应的数组中,另一个子函数从前面遍历*/
#include<cstdio> #include<iostream> #include<cstring> #include<string>
using namespace std;
int a[55],b[55];
void workp(int n){ int cnt; for(int i=1;i<=n;i++){ cnt=0; for(int j=1;j<=n;j++){ if(b[j]>i) cnt++; if(b[j]==i) break; } a[i]=cnt; } }
void worki(int n){ int cnt; memset(a,0,sizeof(a)); for(int i=1;i<=n;i++){ cnt=0; for(int j=1;j<=n;j++){ if(a[j]==0)cnt++; if(cnt>b[i]){ a[j]=i; break; } } } }
int main(){ int n,i; char s; while(~scanf("%d",&n),n){ cin>>s;getchar(); for(i=1;i<=n;i++) cin>>b[i]; if(s=='P') workp(n); if(s=='I') worki(n); for(i=1;i<n;i++) cout<<a[i]<<' '; cout<<a[i]<<endl; } return 0; }