#include <bits/stdc++.h>
using namespace std;
vector<int> ans;
int bs(long long rem) {
  int h = 1500000000;
  int l = 1;
  while (h - l > 1) {
    int mid = (h + l) / 2;
    long long a = (1LL * mid * (mid - 1)) / 2;
    if (a <= rem)
      l = mid;
    else
      h = mid;
  }
  return l;
}
int main() {
  int n;
  long long k;
  cin >> n >> k;
  if (k > 1LL * n * (n - 1) / 2) {
    puts("Impossible");
    return 0;
  }
  int c = bs(k);
  int rem = k - (1LL * c * (c - 1) / 2);
  string ans = string(c, '(');
  int lev = 0;
  int cont = 0;
  int ob = c;
  while (ob) {
    if (rem >= c - lev) {
      ans += "()";
      rem -= c - lev;
      cont++;
    } else {
      ans += ')';
      lev++;
      ob--;
    }
  }
  while (ans.length() < 2 * n) ans += "()";
  if (ans.length() == 2 * n)
    cout << ans << endl;
  else
    puts("Impossible");
  cout << endl;
  return 0;
}
