#include <bits/stdc++.h>
using namespace std;
string normalize(string s) {
  for (int i = (int)s.length() - 3; i >= 0; i--) {
    int j = i;
    while (j + 2 < s.length() && s[j] == '1' && s[j + 1] == '0' &&
           s[j + 2] == '0') {
      s[j + 1] = s[j + 2] = '1', s[j] = '0';
      j += 2;
    }
  }
  return s;
}
const double q = (sqrt(5.0) + 1) / 2;
double compute(string s) {
  double ret = 0, p = 1;
  for (int i = s.length() - 1; i >= 0; i--) {
    ret = ret + p * (s[i] - '0');
    p *= q;
  }
  return ret;
}
string solve(string s1, string s2) {
  s1 = normalize(s1);
  s2 = normalize(s2);
  if (s1.length() > s2.length()) {
    string s;
    for (int i = 0; i < s1.length() - s2.length(); i++) s += "0";
    s2 = s + s2;
  } else {
    string s;
    for (int i = 0; i < s2.length() - s1.length(); i++) s += "0";
    s1 = s + s1;
  }
  if (s1 < s2) return "<";
  if (s1 == s2) return "=";
  return ">";
}
const int N = 10;
string take(int mask) {
  string ret = "";
  for (int i = 0; i < N; i++) {
    ret += (mask & (1 << i)) ? '1' : '0';
  }
  return ret;
}
string compare(double a, double b) {
  if (fabs(a - b) < 1e-10) {
    return "=";
  }
  if (a < b) return "<";
  return ">";
}
int main() {
  int n, i, j, k, m;
  string s1, s2;
  cin >> s1 >> s2;
  cout << solve(s1, s2) << endl;
  return 0;
}
