#include <bits/stdc++.h>
using namespace std;
int main() {
  string s1, s2, s3;
  long long a = 0, b = 0, c = 0;
  string unia;
  cin >> s1 >> s2 >> s3;
  long long *trm1, *trm2;
  string *uni;
  uni = &unia;
  if (s1[0] == 'A')
    trm1 = &a;
  else if (s1[0] == 'B')
    trm1 = &b;
  else if (s1[0] == 'C')
    trm1 = &c;
  if (s1[2] == 'A')
    trm2 = &a;
  else if (s1[2] == 'B')
    trm2 = &b;
  else if (s1[2] == 'C')
    trm2 = &c;
  if (s1[1] == '>') {
    *uni += s1[0];
    *trm1 = *trm2 + 1 + *trm1;
  } else if (s1[1] == '<') {
    *uni += s1[2];
    *trm2 = *trm1 + 1 + *trm2;
  }
  if (s2[0] == 'A')
    trm1 = &a;
  else if (s2[0] == 'B')
    trm1 = &b;
  else if (s2[0] == 'C')
    trm1 = &c;
  if (s2[2] == 'A')
    trm2 = &a;
  else if (s2[2] == 'B')
    trm2 = &b;
  else if (s2[2] == 'C')
    trm2 = &c;
  if (s2[1] == '>') {
    *uni += s2[0];
    *trm1 = *trm2 + 1 + *trm1;
  } else if (s2[1] == '<') {
    *uni += s2[2];
    *trm2 = *trm1 + 1 + *trm2;
  }
  if (s3[0] == 'A')
    trm1 = &a;
  else if (s3[0] == 'B')
    trm1 = &b;
  else if (s3[0] == 'C')
    trm1 = &c;
  if (s3[2] == 'A')
    trm2 = &a;
  else if (s3[2] == 'B')
    trm2 = &b;
  else if (s3[2] == 'C')
    trm2 = &c;
  if (s3[1] == '>') {
    *uni += s3[0];
    *trm1 = *trm2 + 1 + *trm1;
  } else if (s3[1] == '<') {
    *uni += s3[2];
    *trm2 = *trm1 + 1 + *trm2;
  }
  long long unicnt = 0;
  long long repcnt = 0;
  for (long long i = 0; i < 3; i++) {
    if (i == 0)
      unicnt++;
    else {
      long long j;
      for (j = i - 1; j >= 0; j = j - 1) {
        if (unia[i] == unia[j]) {
          repcnt++;
          break;
        }
      }
      if (j < 0) unicnt++;
    }
  }
  if (repcnt != 1) {
    cout << "Impossible" << endl;
  } else {
    vector<pair<long long, char>> m;
    m.push_back(make_pair(a, 'A'));
    m.push_back(make_pair(b, 'B'));
    m.push_back(make_pair(c, 'C'));
    sort(m.begin(), m.end());
    for (long long i = 0; i < m.size(); i++) {
      cout << m[i].second;
    }
  }
  return 0;
}
