#include <bits/stdc++.h>
using namespace std;
vector<long long> v;
int main() {
  long long n, k;
  cin >> n >> k;
  long long sum = k;
  long long last = 0;
  bool pos = true;
  v.push_back(0);
  for (long long i = n - 1; i >= 1; i--) {
    if ((i * last + (i * (i - 1)) / 2LL) >= sum) {
      sum -= last;
      v.push_back(last);
    } else if ((i * last + (i * (i + 1)) / 2LL) >= sum) {
      sum -= (last + 1);
      last++;
      v.push_back(last);
    } else {
      pos = false;
      break;
    }
  }
  assert(sum >= 0);
  if (pos == false or sum > 0) {
    printf("Impossible\n");
    return 0;
  }
  last = -1;
  for (int i = 0; i < v.size(); i++) {
    if (v[i] == last) {
      printf(")(");
    } else {
      last = v[i];
      printf("(");
    }
  }
  k = (int)v.size();
  k = v[k - 1];
  for (int i = 0; i <= k; i++) {
    printf(")");
  }
  printf("\n");
  return 0;
}
