func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   constexpr ll mod = 1e9 + 7;   template <typename A, typename B>   string to_string(pair<A, B> p);   template <typename A, typename B, typename C>   string to_string(tuple<A, B, C> p);   template <typename A, typename B, typename C, typename D>   string to_string(tuple<A, B, C, D> p);   string to_string(const string& s) { return     + s +    ; }   string to_string(const char c) { return string(1, c); }   string to_string(const char* s) { return to_string((string)s); }   string to_string(bool b) { return (b ?  true  :  false ); }   string to_string(vector<bool> v) {     bool first = true;     string res =  { ;     for (int i = 0; i < static_cast<int>(v.size()); i++) {       if (!first) {         res +=  ,  ;       }       first = false;       res += to_string(v[i]);     }     res +=  } ;     return res;   }   template <size_t N>   string to_string(bitset<N> v) {     string res =   ;     for (int i = int(N) - 1; i >= 0; --i) {       res += static_cast<char>( 0  + v[i]);     }     return res;   }   template <typename A>   string to_string(A v) {     bool first = true;     string res =  { ;     for (const auto& x : v) {       if (!first) {         res +=  ,  ;       }       first = false;       res += to_string(x);     }     res +=  } ;     return res;   }   template <typename A, typename B>   string to_string(pair<A, B> p) {     return  (  + to_string(p.first) +  ,   + to_string(p.second) +  ) ;   }   template <typename A, typename B, typename C>   string to_string(tuple<A, B, C> p) {     return  (  + to_string(get<0>(p)) +  ,   + to_string(get<1>(p)) +  ,   +            to_string(get<2>(p)) +  ) ;   }   template <typename A, typename B, typename C, typename D>   string to_string(tuple<A, B, C, D> p) {     return  (  + to_string(get<0>(p)) +  ,   + to_string(get<1>(p)) +  ,   +            to_string(get<2>(p)) +  ,   + to_string(get<3>(p)) +  ) ;   }   void debug_out() { cerr <<   n ; }   template <typename Head, typename... Tail>   void debug_out(Head H, Tail... T) {     cerr <<     << to_string(H);     debug_out(T...);   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     ll n;     cin >> n;     string s;     cin >> s;     vector<ll> A(n);     for (auto& _a : A) cin >> _a;     vector<int> left, right;     for (int i = 0; i < n; ++i) {       if (s[i] ==  L ) {         left.push_back(A[i]);       } else {         right.push_back(A[i]);       }     }     if (0) {     };     if (0) {     };     sort(left.begin(), left.end());     sort(right.begin(), right.end());     int nl = left.size(), nr = right.size();     ll ans = INT_MAX;     for (int r = 0; r < nr; ++r) {       auto it = lower_bound(left.begin(), left.end(), right[r]);       if (it != left.end()) {         ans = min(ans, ll(*it - right[r]) / 2);       }     }     if (ans == INT_MAX) ans = -1;     cout << ans <<   n ;   }   