#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  long long no_ques = 0;
  set<pair<long long, long long>> st;
  long long c = 0;
  long long b = 0;
  for (long long i = 0; i < s.length(); i++) {
    if (s[i] == '?') {
      no_ques++;
      long long l, r;
      cin >> l >> r;
      st.insert(make_pair(l - r, i));
      c += r;
      s[i] = ')';
      b--;
    } else if (s[i] == '(') {
      b++;
    } else {
      b--;
    }
    while (b < 0 && st.size()) {
      c += (st.begin())->first;
      s[(st.begin())->second] = '(';
      st.erase(st.begin());
      b += 2;
    }
    if (b < 0) break;
  }
  if (b != 0) {
    cout << -1 << '\n';
    return 0;
  }
  cout << c << '\n' << s << '\n';
  return 0;
}
