#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3e5 + 4;
int ans[MAXN];
void solve() {
  long long n, k;
  cin >> n >> k;
  long long mx = n * (n - 1) / 2;
  if (mx < k) {
    cout << "Impossible";
    return;
  }
  if (!k) {
    string s = "";
    for (int i = 0; i < n; i++) s += "()";
    cout << s;
    return;
  }
  for (int i = 1; i <= n; i++) {
    long long s = 1ll * i * (i - 1) / 2;
    long long r = k - s;
    if (r <= 1ll * (n - i) * (i - 1)) {
      int nused = n - i;
      for (int j = 0; j <= i - 1; j++) {
        ans[j] = 1;
      }
      ans[i - 1] += r / (i - 1);
      nused -= r / (i - 1);
      r %= i - 1;
      if (r) {
        ans[r]++;
        nused--;
      }
      ans[0] += nused;
      string s = "";
      for (int j = 0; j < i; j++) {
        s += "(";
        ans[j]--;
      }
      for (int j = i - 1; j >= 0; j--) {
        s += ")";
        for (int h = 0; h < ans[j]; h++) {
          s += "()";
        }
      }
      cout << s;
      return;
    }
  }
  cout << "Impossible";
}
int main() {
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
