#include <bits/stdc++.h>
using namespace std;
int a[1000005], q[1000005];
int gcd(int a, int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int gcd(int n) {
  int i = 0, r = 0, j, k;
  while (!a[i]) i++;
  for (i = 0; i < 1000005; i++) {
    r = (r * 10 + a[i]) % n;
  }
  return r;
}
int divide(int n) {
  int i = 0, r, j = 0;
  r = 0;
  while (!a[i]) i++;
  for (; i < 1000005; i++) {
    r = (r * 10 + a[i]);
    q[j++] = r / n;
    r = r % n;
  }
  return j;
}
int main() {
  int i, j, k, p, x, flag = 0;
  int g, val;
  scanf("%d %d", &p, &x);
  if (p < 2) {
    if (p == 1 && x == 1)
      printf("1\n");
    else
      printf("Impossible\n");
    return 0;
  }
  for (i = 0; i < 1000005; i++) {
    a[i] = 0;
    q[i] = 0;
  }
  j = 0;
  i = 1000005 - 1;
  while (j < p - 1) {
    a[i--] = 9;
    j++;
  }
  a[1000005 - 1] = 10 - x;
  i = 0;
  val = 10 * x - 1;
  g = gcd(gcd(val), val);
  val = val / g;
  j = divide(g);
  if (val > 9) {
    printf("Impossible");
  } else {
    if (q[0] == 0) printf("%d", val);
    for (i = 0; i < j; i++) printf("%d", q[i]);
    if (q[0] != 0) printf("%d", val);
  }
  printf("\n");
  return 0;
}
