#include <bits/stdc++.h>
using namespace std;
long long n, k, sum[300005], in, vis[300005];
long long qm(long long x) { return (x * (x + 1)) / 2; }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  long long nn = n;
  for (long long i = 1; i <= n; i++) {
    sum[i] = qm(i - 1);
  }
  if (k > sum[n]) {
    cout << "Impossible" << endl;
    return 0;
  }
  sum[n + 1] = 999999999999999999;
  if (k != 0) {
    for (long long i = 2; i <= n; i++) {
      if (sum[i] <= k && sum[i + 1] > k) {
        k -= sum[i];
        nn = nn - i;
        in = i;
        break;
      }
    }
  }
  while (true) {
    if (nn < 0) break;
    if (k == 0) break;
    if (k > in) {
      k -= in;
      vis[in]++;
      nn--;
    } else {
      vis[k]++;
      k = 0;
      nn--;
    }
  }
  if (nn < 0) {
    cout << "Impossible" << endl;
    return 0;
  }
  while (nn--) cout << "()";
  for (long long i = 1; i <= in; i++) {
    cout << '(';
    while (vis[i]--) cout << "()";
  }
  for (long long i = 1; i <= in; i++) {
    cout << ')';
  }
  cout << endl;
  return 0;
}
