#include <bits/stdc++.h>
using namespace std;
int main() {
  int k, a, b, c, i;
  string s, p, q;
  int flag, flags, flagp, flagq;
  int arr[6][3] = {{0, 1, 2}, {0, 2, 1}, {1, 0, 2},
                   {1, 2, 0}, {2, 0, 1}, {2, 1, 0}};
  getline(cin, s);
  getline(cin, p);
  getline(cin, q);
  flag = 0;
  for (i = 0; i < 6; i++) {
    a = arr[i][0];
    b = arr[i][1];
    c = arr[i][2];
    flags = 0;
    flagp = 0;
    flagq = 0;
    if (s[0] == 'A' && s[1] == '>' && s[2] == 'B')
      if (a > b) flags = 1;
    if (s[0] == 'A' && s[1] == '>' && s[2] == 'C')
      if (a > c) flags = 1;
    if (s[0] == 'A' && s[1] == '<' && s[2] == 'B')
      if (a < b) flags = 1;
    if (s[0] == 'A' && s[1] == '<' && s[2] == 'C')
      if (a < c) flags = 1;
    if (s[0] == 'B' && s[1] == '>' && s[2] == 'A')
      if (b > a) flags = 1;
    if (s[0] == 'B' && s[1] == '>' && s[2] == 'C')
      if (b > c) flags = 1;
    if (s[0] == 'B' && s[1] == '<' && s[2] == 'A')
      if (b < a) flags = 1;
    if (s[0] == 'B' && s[1] == '<' && s[2] == 'C') {
      if (b < c) flags = 1;
    }
    if (s[0] == 'C' && s[1] == '>' && s[2] == 'A') {
      if (c > a) flags = 1;
    }
    if (s[0] == 'C' && s[1] == '>' && s[2] == 'B') {
      if (c > b) flags = 1;
    }
    if (s[0] == 'C' && s[1] == '<' && s[2] == 'A') {
      if (c < a) flags = 1;
    }
    if (s[0] == 'C' && s[1] == '<' && s[2] == 'B') {
      if (c < b) flags = 1;
    }
    if (p[0] == 'A' && p[1] == '>' && p[2] == 'B') {
      if (a > b) flagp = 1;
    }
    if (p[0] == 'A' && p[1] == '>' && p[2] == 'C') {
      if (a > c) flagp = 1;
    }
    if (p[0] == 'A' && p[1] == '<' && p[2] == 'B') {
      if (a < b) flagp = 1;
    }
    if (p[0] == 'A' && p[1] == '<' && p[2] == 'C') {
      if (a < c) flagp = 1;
    }
    if (p[0] == 'B' && p[1] == '>' && p[2] == 'A') {
      if (b > a) flagp = 1;
    }
    if (p[0] == 'B' && p[1] == '>' && p[2] == 'C') {
      if (b > c) flagp = 1;
    }
    if (p[0] == 'B' && p[1] == '<' && p[2] == 'A') {
      if (b < a) flagp = 1;
    }
    if (p[0] == 'B' && p[1] == '<' && p[2] == 'C') {
      if (b < c) flagp = 1;
    }
    if (p[0] == 'C' && p[1] == '>' && p[2] == 'A') {
      if (c > a) flagp = 1;
    }
    if (p[0] == 'C' && p[1] == '>' && p[2] == 'B') {
      if (c > b) flagp = 1;
    }
    if (p[0] == 'C' && p[1] == '<' && p[2] == 'A') {
      if (c < a) flagp = 1;
    }
    if (p[0] == 'C' && p[1] == '<' && p[2] == 'B') {
      if (c < b) flagp = 1;
    }
    if (q[0] == 'A' && q[1] == '>' && q[2] == 'B') {
      if (a > b) flagq = 1;
    }
    if (q[0] == 'A' && q[1] == '>' && q[2] == 'C') {
      if (a > c) flagq = 1;
    }
    if (q[0] == 'A' && q[1] == '<' && q[2] == 'B') {
      if (a < b) flagq = 1;
    }
    if (q[0] == 'A' && q[1] == '<' && q[2] == 'C') {
      if (a < c) flagq = 1;
    }
    if (q[0] == 'B' && q[1] == '>' && q[2] == 'A') {
      if (b > a) flagq = 1;
    }
    if (q[0] == 'B' && q[1] == '>' && q[2] == 'C') {
      if (b > c) flagq = 1;
    }
    if (q[0] == 'B' && q[1] == '<' && q[2] == 'A') {
      if (b < a) flagq = 1;
    }
    if (q[0] == 'B' && q[1] == '<' && q[2] == 'C') {
      if (b < c) flagq = 1;
    }
    if (q[0] == 'C' && q[1] == '>' && q[2] == 'A') {
      if (c > a) flagq = 1;
    }
    if (q[0] == 'C' && q[1] == '>' && q[2] == 'B') {
      if (c > b) flagq = 1;
    }
    if (q[0] == 'C' && q[1] == '<' && q[2] == 'A') {
      if (c < a) flagq = 1;
    }
    if (q[0] == 'C' && q[1] == '<' && q[2] == 'B') {
      if (c < b) flagq = 1;
    }
    if (flags == 1 && flagp == 1 && flagq == 1) {
      flag = 1;
      k = i;
      break;
    }
  }
  if (flag == 0)
    cout << "Impossible";
  else {
    for (int i = 0; i < 3; i++)
      if (arr[k][i] == 0) {
        char r = 'A' + i;
        cout << r;
      }
    for (int i = 0; i < 3; i++)
      if (arr[k][i] == 1) {
        char r = 'A' + i;
        cout << r;
      }
    for (int i = 0; i < 3; i++)
      if (arr[k][i] == 2) {
        char r = 'A' + i;
        cout << r;
      }
  }
  return 0;
}
