// #define DEBUGGING
#include <bits/stdc++.h>
#define endl '\n'
#define ALL(V) (V).begin(), (V).end()
#define ALLR(V) (V).rbegin(), (V).rend()
using ll = std::int64_t;
using ull = std::uint64_t;
using PLL = std::pair<ll, ll>;
using TLL = std::tuple<ll, ll, ll>;
template <typename T> using V = std::vector<T>;
template <typename T> using VV = V<V<T>>;
template <typename T> const T& var_min(const T &t) { return t; }
template <typename T> const T& var_max(const T &t) { return t; }
template <typename T, typename... Tail> const T& var_min(const T &t, const Tail&... tail) { return std::min(t, var_min(tail...)); }
template <typename T, typename... Tail> const T& var_max(const T &t, const Tail&... tail) { return std::max(t, var_max(tail...)); }
template <typename T, typename... Tail> void chmin(T &t, const Tail&... tail) { t = var_min(t, tail...); }
template <typename T, typename... Tail> void chmax(T &t, const Tail&... tail) { t = var_max(t, tail...); }
template <typename T> const T& clamp(const T &t, const T &low, const T &high) { return std::max(low, std::min(high, t)); }
template <typename T> void chclamp(T &t, const T &low, const T &high) { return t = clamp(t, low, high); }
namespace init__ { struct InitIO { InitIO() { std::cin.tie(nullptr); std::ios_base::sync_with_stdio(false); std::cout << std::fixed << std::setprecision(30); } } init_io; }
#define mv_rec make_v(init, tail...)
template <typename T> T make_v(T init) { return init; }
template <typename T, typename... Tail> auto make_v(T init, size_t s, Tail... tail) { return V<decltype(mv_rec)>(s, mv_rec); }
#undef mv_rec
using namespace std;

#ifdef DEBUGGING
#include "../../debug/debug.cpp"
#else
#define DEBUG(...) 0
#define DEBUG_SEPARATOR_LINE 0
#endif

using i128 = __int128_t;

istream& operator >>(istream &is, i128 &a) {
    int64_t i;
    is >> i;
    a = i;
    return is;
}

ostream& operator <<(ostream &os, i128 a) {
    auto i = (int64_t)a;
    os << i;
    return os;
}

i128 count_len(i128 mid) {
    i128 ret = 0;
    i128 bound = 1;
    i128 len = 1;
    i128 fs = 0, bs = 0, fbs = 0;
    mid++;
    while (bound < mid) {
        i128 tmp = min(bound * 10, mid);
        i128 cnt = tmp - bound;
        bound = tmp;
        i128 fb = (bound - 1) / 15 - fbs;
        fbs = bound / 15;
        i128 f = (bound - 1) / 3 - fbs - fs;
        fs += f;
        i128 b = (bound - 1) / 5 - fbs - bs;
        bs += b;
        cnt -= fb + f + b;
        ret += f * 4;
        ret += b * 4;
        ret += fb * 8;
        ret += len * cnt;
        len++;
    }
    return ret;
}

int main() {
    i128 s;
    cin >> s;
    ll ng = 1e18, ok = 0;
    while (1 < abs(ok - ng)) {
        i128 mid = (ok + ng) / 2;
        (count_len(mid) <= s ? ok : ng) = mid;
    }
    auto idx = count_len(ok);
    string S;
    for (ll i = ok; i < ok + 20; i++) {
        if (i % 15 == 0) S += "FizzBuzz";
        else if (i % 3 == 0) S += "Fizz";
        else if (i % 5 == 0) S += "Buzz";
        else S += to_string(i);
        if (i == ok) idx -= (S.size() - 1);
    }
    for (i128 i = 0; i < 100; i++) {
        auto cidx = idx + i;
        if (s <= cidx && cidx < s + 20) cout << S[i];
    }
    cout << endl;
    return 0;
}



Measured memory_bytes: 3292