#include<bits/stdc++.h>
using namespace std;
int main(){
string s,olds;
cin>>s;
olds = s;
int ans = 0;
//排好序后方便使用next_permutation进行排序
sort(s.begin(),s.end());
do{
//找到目标字符串
if(s==olds) break;
ans++;
}while(next_permutation(s.begin(),s.end()));
printf("%d",ans);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int a[100000];
int main(){
int n,m; cin>>n>>m;
//输入要排列数
for(int i = 0; i < n; i++) cin>>a[i];
//排序
//且sort和next_permutation范围不包含右边界
sort(a,a+n);
//一直排列到m
for(int i = 0; i < m; i++) next_permutation(a,a+n);
//输出第m的排列
for(int i = 0; i < n; i++) cout<<a[i]<<" ";
return 0;
}