#include <bits/stdc++.h>
using namespace std;
pair<int,vector<int>>func(string s) {
int n=s.size();
vector<int>arr(n);
unordered_map<int,int>mp;
for(int i=0;i<n;i++) {
arr[i]=s[i]-'0';
mp[arr[i]]=i;
}
int minOperation=INT_MAX;
vector<int>ans;
for(int i=0;i<=n;i++) {
unordered_map<int,int>left;
bool left_part=true;
bool right_part=true;
for(int j=0;j<i;j++) {
left[arr[j]]=1;
}
for(auto&p:left) {
int digit=p.first;
if (mp[digit]>=i) {
left_part=false;
break;
}
}
for(int j=i+1;j<n;j++) {
if(arr[j]<arr[j-1]) {
right_part=false;
break;
}
}
if(left_part && right_part) {
minOperation=left.size();
break;
}
}
return {minOperation,ans};
}
int main() {
string input;
cin>>input;
auto ans=func(input);
cout<<ans.first<<"[";
for(int i=0;i<ans.second.size();i++) {
cout<<ans.second[i];
}
cout<<"]"<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpwYWlyPGludCx2ZWN0b3I8aW50Pj5mdW5jKHN0cmluZyBzKSB7CiAgICBpbnQgbj1zLnNpemUoKTsKICAgIHZlY3RvcjxpbnQ+YXJyKG4pOwogICAgdW5vcmRlcmVkX21hcDxpbnQsaW50Pm1wOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICBhcnJbaV09c1tpXS0nMCc7CiAgICAgICAgbXBbYXJyW2ldXT1pOwogICAgfQoKICAgIGludCBtaW5PcGVyYXRpb249SU5UX01BWDsKICAgIHZlY3RvcjxpbnQ+YW5zOwogICAgZm9yKGludCBpPTA7aTw9bjtpKyspIHsKICAgICAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bGVmdDsKICAgICAgICBib29sIGxlZnRfcGFydD10cnVlOwogICAgICAgIGJvb2wgcmlnaHRfcGFydD10cnVlOwoKICAgICAgICBmb3IoaW50IGo9MDtqPGk7aisrKSB7CiAgICAgICAgICAgIGxlZnRbYXJyW2pdXT0xOwogICAgICAgIH0KICAgICAgICBmb3IoYXV0byZwOmxlZnQpIHsKICAgICAgICAgICAgaW50IGRpZ2l0PXAuZmlyc3Q7CiAgICAgICAgICAgIGlmIChtcFtkaWdpdF0+PWkpIHsKICAgICAgICAgICAgICAgIGxlZnRfcGFydD1mYWxzZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaj1pKzE7ajxuO2orKykgewogICAgICAgICAgICBpZihhcnJbal08YXJyW2otMV0pIHsKICAgICAgICAgICAgICAgIHJpZ2h0X3BhcnQ9ZmFsc2U7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihsZWZ0X3BhcnQgJiYgcmlnaHRfcGFydCkgewogICAgICAgICAgICBtaW5PcGVyYXRpb249bGVmdC5zaXplKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgcmV0dXJuIHttaW5PcGVyYXRpb24sYW5zfTsKfQoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgaW5wdXQ7CiAgICBjaW4+PmlucHV0OwogICAgYXV0byBhbnM9ZnVuYyhpbnB1dCk7CiAgICBjb3V0PDxhbnMuZmlyc3Q8PCJbIjsKICAgIGZvcihpbnQgaT0wO2k8YW5zLnNlY29uZC5zaXplKCk7aSsrKSB7CiAgICAgICAgY291dDw8YW5zLnNlY29uZFtpXTsKICAgIH0KICAgIGNvdXQ8PCJdIjw8ZW5kbDsKICAgIHJldHVybiAwOwp9