For this Question: Alice is rearranging her library. She takes the innermost shelf and reverses the order of books. She breaks the walls of the shelf. In the end, there will be only books and no shelf walls. Print the order of books.
Opening and closing walls of shelves are shown by '/' and '\' respectively whereas books are represented by lower case alphabets.The first line contains string s displaying her library.

<b>Constraints</b>
2 ≤ |s| ≤ 10<sup>3</sup>Print only one string displaying Alice's library after rearrangement.Sample input
/u/love\i\

Sample Output
iloveu

Explanation
/u/love\i\
Here Alice breaks the inner most shelf and reverse the order. So the library will be /uevoli\. 
Now she breaks the outermost wall and reverses the order. So the library will be iloveu., I have written this Solution Code: /**
 *    author:  tourist1256
 *    created: 2022-07-02 00:18:09
 **/

#include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

template <class T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

template <class key, class value, class cmp = std::less<key>>
using ordered_map = tree<key, value, cmp, rb_tree_tag, tree_order_statistics_node_update>;
// find_by_order(k)  returns iterator to kth element starting from 0;
// order_of_key(k) returns count of elements strictly smaller than k;

#ifdef LOCAL
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 2351
#endif

#define int long long

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

inline int64_t random_long(long long l = LLONG_MIN, long long r = LLONG_MAX) {
    uniform_int_distribution<int64_t> generator(l, r);
    return generator(rng);
}

class Solution {
   public:
    void solve() {
        string s;
        cin >> s;
        stack<char> st;
        string ans = "";
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == '\\') {
                string temp = "";
                while (st.top() != '/') {
                    temp += st.top();
                    st.pop();
                }
                st.pop();
                if (st.empty()) {
                    ans = temp;
                }
                for (int j = 0; j < temp.size(); j++) {
                    st.push(temp[j]);
                }
                debug(temp);
                continue;
            }
            st.push(s[i]);
        }
        cout << ans << "\n";
    }
};

int32_t main() {
    auto start = std::chrono::high_resolution_clock::now();
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    Solution solve = Solution();
    solve.solve();

    auto stop = std::chrono::high_resolution_clock::now();
    auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(stop - start);
    cerr << "Time taken : " << ((long double)duration.count()) / ((long double)1e9) << "s\n";
    return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?