#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
int i,j,k,n;
cin>>s;
string u="";
vector<int>hash(27,0);
stack<char>st;
i=0;
for(i=0;i<s.size();i++)
hash[s[i]-'a'+1]++;
i=0;
int check;
while(i<s.size()){
check=0;
for(j=0;j<s[i]-'a'+1;j++)
{
if(hash[j]!=0) {check=1;break;}
}
if(check==1)
{ st.push(s[i]);
hash[s[i]-'a'+1]--;
i++;
}
else {u+=s[i]; hash[s[i]-'a'+1]--;i++;}
}
while(!st.empty())
{
u+=st.top();
st.pop();
}
cout<<u;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKc3RyaW5nIHM7CmludCBpLGosayxuOwpjaW4+PnM7CnN0cmluZyB1PSIiOwp2ZWN0b3I8aW50Pmhhc2goMjcsMCk7CnN0YWNrPGNoYXI+c3Q7Cmk9MDsKZm9yKGk9MDtpPHMuc2l6ZSgpO2krKykKICAgICAgaGFzaFtzW2ldLSdhJysxXSsrOwppPTA7CmludCBjaGVjazsKd2hpbGUoaTxzLnNpemUoKSl7CiBjaGVjaz0wOwpmb3Ioaj0wO2o8c1tpXS0nYScrMTtqKyspICAKeyAgICAgIAogaWYoaGFzaFtqXSE9MCkge2NoZWNrPTE7YnJlYWs7fQogfQogaWYoY2hlY2s9PTEpCiAgICAgIHsgICAgIHN0LnB1c2goc1tpXSk7CiAgICAgICAgICBoYXNoW3NbaV0tJ2EnKzFdLS07CiAgICAgICAgICAgICAgICAgICAgIGkrKzsgCiAgICAgICB9CiBlbHNlIHt1Kz1zW2ldOyAgaGFzaFtzW2ldLSdhJysxXS0tO2krKzt9Cn0gCndoaWxlKCFzdC5lbXB0eSgpKQogICAgICB7ICAgICAgCiAgICAgICAgICB1Kz1zdC50b3AoKTsKICAgICAgICAgICBzdC5wb3AoKTsKfQpjb3V0PDx1OwpyZXR1cm4gMDsKfQ==