#include <bits/stdc++.h>
using namespace std;
int n;
pair<int, int> arr[603];
void read() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> arr[i].first >> arr[i].second;
}
bool ans[603 * 2];
void solve() {
  int idx_open = 1;
  stack<pair<int, int> > st;
  for (int i = 1; i <= n * 2; i++) {
    if (st.empty() || i - st.top().second > arr[st.top().first].second ||
        i - st.top().second < arr[st.top().first].first) {
      st.push({idx_open, i});
      idx_open++;
      ans[i] = false;
    } else {
      st.pop();
      ans[i] = true;
    }
  }
  if (!st.empty())
    cout << "IMPOSSIBLE" << '\n';
  else {
    for (int i = 1; i <= 2 * n; i++) {
      if (ans[i])
        cout << ')';
      else
        cout << '(';
    }
    cout << '\n';
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  read();
  solve();
}
