#include <bits/stdc++.h>
using namespace std;
template <typename T>
using V = vector<T>;
const long long MOD = 1e9 + 7, INF = 9e18;
const int inf = 2e9;
string s;
void recurse(int l, int r, long long i, long long k) {
  if (i == 0) return;
  if (k < (i - 1)) {
    s[l] = '(';
    s[l + 1] = ')';
    l += 2;
    recurse(l, r, i - 1, k);
    return;
  }
  k -= (i - 1);
  s[l] = '(';
  s[r] = ')';
  l++;
  r--;
  recurse(l, r, i - 1, k);
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long n, k;
  cin >> n >> k;
  long long i = 0;
  if ((n * (n - 1) / 2) < k) {
    cout << "Impossible";
    return 0;
  }
  for (int j = 0; j < 2 * n; j++) s += ' ';
  recurse(0, 2 * n - 1, n, k);
  cout << s;
  return 0;
}
