#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
int main() {
  ios_base ::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, k;
  cin >> n >> k;
  long long nn = n, kk = k;
  if (n * (n - 1) / 2 < k) {
    cout << "Impossible";
    return 0;
  }
  long long cur = 1;
  while ((cur * (cur - 1) / 2) <= k) cur++;
  cur--;
  long long prcur = cur;
  string ans = "";
  for (long long i = 0; i < cur; i++) ans += '(';
  int x = cur - 1;
  k -= cur * (cur - 1) / 2;
  n -= cur;
  while (k > 0 && n > 0 && prcur > 0) {
    long long q = k / (x + 1);
    for (long long i = 0; i < min(n, q); i++) ans += "()";
    k -= min(n, q) * (x + 1);
    n -= min(n, q);
    x--;
    ans += ')';
    prcur--;
  }
  for (long long i = 0; i < prcur; i++) ans += ')';
  long long proove = 0;
  int kol = 0;
  for (int i = 0; i < ans.size(); i++) {
    if (ans[i] == '(')
      proove += kol * 1ll, kol++;
    else
      kol--;
  }
  long long anss = ans.size();
  if (proove == kk && (2ll * nn - ans.size()) % 2 == 0) {
    for (long long i = 0; i < (2ll * nn - anss) / 2; i++) ans += "()";
    cout << ans;
  } else
    cout << "Impossible";
  return 0;
}
