#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const double EPS = 1e-9;
const double PI = acos(-1.);
bool used[1000];
struct x {
  long long l, r;
  int val;
  x() {}
  x(long long _l, long long _r, int _val) {
    l = _l;
    r = _r;
    val = _val;
  }
} T[1000500];
int cntx;
long long frm[100500];
long long to[100500];
int val[1000500];
int cnt;
const long long MX = 1e14;
long long sq(long long x) {
  if ((double)x * x > MX) return MX;
  x = x * x;
  return x;
}
long long sq4(long long x) {
  long long ans = x;
  if ((double)ans * x > MX) return MX;
  ans = ans * x;
  if ((double)ans * x > MX) return MX;
  ans = ans * x;
  if ((double)ans * x > MX) return MX;
  ans = ans * x;
  return ans;
}
int main() {
  frm[0] = 1;
  to[0] = 3;
  val[0] = 0;
  cntx = 1;
  long long pos = 4;
  T[0] = x(4, 81, 0);
  cnt = 1;
  while (pos < MX) {
    memset(used, false, sizeof(used));
    for (int i = 0; i < cntx; ++i) {
      if (T[i].r < pos) {
        swap(T[i], T[cntx - 1]);
        --cntx;
        --i;
        continue;
      }
    }
    for (int i = 0; i < cntx; ++i) {
      if (T[i].l <= pos) used[T[i].val] = true;
    }
    int nval = 0;
    while (used[nval]) ++nval;
    long long npos = sq(pos);
    for (int i = 0; i < cntx; ++i) {
      if (T[i].l > pos && T[i].l < npos) npos = T[i].l;
      if (T[i].r + 1 > pos && T[i].r + 1 < npos) npos = T[i].r + 1;
    }
    --npos;
    T[cntx++] = x(sq(pos), sq4(npos), nval);
    frm[cnt] = pos;
    to[cnt] = npos;
    val[cnt] = nval;
    ++cnt;
    pos = npos + 1;
  }
  int N;
  scanf("%d", &N);
  int ans = 0;
  for (int i = 0; i < N; ++i) {
    long long v;
    scanf("%I64d", &v);
    int t = 0;
    while (to[t] < v) ++t;
    ans ^= val[t];
  }
  if (ans == 0)
    puts("Rublo");
  else
    puts("Furlo");
  return 0;
}
