#include <bits/stdc++.h>   using namespace std;   const int N = (int)1e5 + 5, mod = (int)0;   int best[N], q[N];   int main() {     string s;     cin >> s;     int n = (int)s.size();     best[n] = 1e9;     for (int j = n - 1; j >= 0; --j) {       s[j] -=  a ;       best[j] = min(best[j + 1], (int)s[j]);     }     string res =   ;     int t = 0;     for (int j = 0; j < n; ++j) {       q[t++] = s[j];       while (t > 0 && q[t - 1] <= best[j + 1]) res += char(q[t - 1] +  a ), --t;     }     cout << res << endl;   }   