#include <bits/stdc++.h>
using namespace std;
int main() {
  string s1, s2, f;
  int ls1, ls2, lf, i, j, k;
  bool forw, backw, flag1, flag2;
  while (cin >> f >> s1 >> s2) {
    lf = f.length();
    ls1 = s1.length();
    ls2 = s2.length();
    forw = backw = false;
    flag1 = flag2 = false;
    for (i = 0; i < lf; ++i) {
      j = i;
      k = 0;
      while (j < lf && k < ls1 && f[j] == s1[k]) {
        j++;
        k++;
      }
      if (k >= ls1) {
        flag1 = true;
        break;
      }
    }
    if (flag1)
      for (i = j; i < lf; ++i) {
        j = i;
        k = 0;
        while (j < lf && k < ls2 && f[j] == s2[k]) {
          j++;
          k++;
        }
        if (k >= ls2) {
          flag2 = true;
          break;
        }
      }
    if (flag1 && flag2) {
      forw = true;
    }
    flag1 = flag2 = false;
    for (i = lf - 1; i >= 0; --i) {
      j = i;
      k = 0;
      while (j >= 0 && k < ls1 && f[j] == s1[k]) {
        j--;
        k++;
      }
      if (k >= ls1) {
        flag1 = true;
        break;
      }
    }
    if (flag1)
      for (i = j; i >= 0; --i) {
        j = i;
        k = 0;
        while (j < lf && k < ls2 && f[j] == s2[k]) {
          j--;
          k++;
        }
        if (k >= ls2) {
          flag2 = true;
          break;
        }
      }
    if (flag1 && flag2) {
      backw = true;
    }
    if (forw && backw) {
      cout << "both\n";
      continue;
    }
    if (forw) {
      cout << "forward\n";
      continue;
    }
    if (backw) {
      cout << "backward\n";
      continue;
    }
    cout << "fantasy\n";
  }
  return 0;
}
