#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:2000000")
int main() {
  int number1[110001];
  int number2[110001];
  {
    char c = 'l';
    while ((c != '0') && (c != '1')) scanf("%c", &c);
    char s[110000];
    int dl = 0;
    for (;;) {
      s[dl] = c;
      dl++;
      scanf("%c", &c);
      if ((c != '0') && (c != '1')) {
        break;
      }
    }
    for (int i = 0; i < (110001 - dl); i++) number1[i] = 0;
    for (int i = (110001 - dl); i < 110001; i++) {
      if (s[i - 110001 + dl] == '1') number1[i] = 1;
      if (s[i - 110001 + dl] == '0') number1[i] = 0;
    }
  }
  {
    char c = 'l';
    while ((c != '0') && (c != '1')) scanf("%c", &c);
    char s[110000];
    int dl = 0;
    for (;;) {
      s[dl] = c;
      dl++;
      scanf("%c", &c);
      if ((c != '0') && (c != '1')) {
        break;
      }
    }
    for (int i = 0; i < (110001 - dl); i++) number2[i] = 0;
    for (int i = (110001 - dl); i < 110001; i++) {
      if (s[i - 110001 + dl] == '1') number2[i] = 1;
      if (s[i - 110001 + dl] == '0') number2[i] = 0;
    }
  }
  for (int i = 1; i < 110000; i++) {
    if ((number1[i] == 1) && (number1[i + 1] == 1)) {
      int j = i;
      for (;;) {
        if ((number1[j] == 1) && (number1[j + 1] == 1)) {
          number1[j] = 0;
          number1[j + 1] = 0;
          number1[j - 1] = 1;
          j -= 2;
        } else
          break;
      }
    }
    if ((number2[i] == 1) && (number2[i + 1] == 1)) {
      int j = i;
      for (;;) {
        if ((number2[j] == 1) && (number2[j + 1] == 1)) {
          number2[j] = 0;
          number2[j + 1] = 0;
          number2[j - 1] = 1;
          j -= 2;
        } else
          break;
      }
    }
  }
  for (int i = 0; i < 110001; i++) {
    if (number1[i] > number2[i]) {
      printf(">");
      return 0;
    }
    if (number1[i] < number2[i]) {
      printf("<");
      return 0;
    }
  }
  printf("=");
  return 0;
}
