#include <bits/stdc++.h>
using namespace std;
long long convertToNum(string s) {
  long long val = 0;
  for (int i = 0; i < (s.size()); i++) val = val * 10 + s[i] - '0';
  return val;
}
char bu[50];
string convertToString(int a) {
  sprintf(bu, "%d", a);
  return string(bu);
}
long long GCD(long long x, long long y) {
  if (!x) return y;
  if (!y) return x;
  if (x == y) return x;
  if (x < y)
    return GCD(x, y % x);
  else
    return GCD(x % y, y);
}
long long POW(long long x, long long y, long long Base) {
  if (!y) return 1;
  long long u = POW(x, y / 2, Base);
  u = (u * u) % Base;
  if (y & 1)
    return (u * x) % Base;
  else
    return u;
}
void extended_euclid(long long A, long long B, long long &x, long long &y) {
  if (A == 1 && B == 0) {
    x = 1;
    y = 0;
    return;
  }
  if (A < B)
    extended_euclid(B, A, y, x);
  else {
    long long xx, yy;
    extended_euclid(A % B, B, xx, yy);
    x = xx;
    y = yy - (A / B) * xx;
  }
}
void OPEN() {
  freopen("test.in", "r", stdin);
  freopen("test.out", "w", stdout);
}
int g[100001];
struct Point {
  long long x, y;
  Point() { x = y = 0; }
  Point(long long x, long long y) : x(x), y(y) {}
  Point operator+(Point B) { return Point(x + B.x, y + B.y); }
  Point operator-(Point B) { return Point(x - B.x, y - B.y); }
  Point operator*(long long k) { return Point(x * k, y * k); }
};
vector<pair<Point, int> > ds;
long long MAX = 777777777777LL;
bool dd[1000];
long long a[1000];
const long long dx[7] = {0, 4, 16, 82, 6724, 50626, 2562991876LL};
const long long dy[7] = {3, 15, 81, 6723, 50625, 2562991875LL, 777777777777LL};
const long long val[7] = {0, 1, 2, 0, 3, 1, 2};
int main() {
  int n;
  scanf("%d", &n);
  int s = 0;
  long long u;
  for (int i = (1); i <= (n); i++) {
    scanf("%I64d", &u);
    for (int j = 0; j < (7); j++)
      if (dx[j] <= u && u <= dy[j]) s ^= val[j];
  }
  if (s)
    cout << "Furlo" << endl;
  else
    cout << "Rublo" << endl;
  return 0;
}
