#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int N = 15;
bool b[N];//有没有存过这个数字
int a[N], cnt = -1;//存下的无重复的可能的数字
int re[N];//每个数字对应在a[]中的角标
bool cmp(int a, int b){
return a > b;
}
int main(){
string s;
cin >> s;
for(int i = 0; i < s.size(); i ++ ){
int u = s[i] - '0';
if(!b[u]){
a[++ cnt] = u;
b[u] = true;
}
}
sort(a, a + cnt + 1, cmp);
for(int i = 0; i <= cnt; i ++ ){
re[a[i]] = i;
}
printf("int[] arr = new int[]{");
for(int i = 0; i < cnt; i ++ ){
cout << a[i] << ",";
}
cout << a[cnt] << "};" << endl;
printf("int[] index = new int[]{");
for(int i = 0; i < s.size() - 1; i ++ ){
int u = s[i] - '0';
cout << re[u] << ",";
}
cout << re[s[s.size() - 1] - '0'] << "};" << endl;
return 0;
}