#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
#define int long long

int pow10[20];

//1???n??§???????????°????????????
int getCnt(int n) {
	return n - n / 3 - n / 5 + n / 15;
}

//l???r??§???????????°????????????
int getCnt(int l, int r) {
	if (l > r) return 0;
	return getCnt(r) - getCnt(l - 1);
}

//FizzBuzz String(n)????????????1???n?????§?????????)
int getLength(int n) {
	int ret = 4 * (n / 3 + n / 5);
	for (int i = 0; pow10[i] <= n; i++) {
		ret += (i + 1) * getCnt(pow10[i], min(n, pow10[i + 1] - 1));
	}
	return ret;
}

//FizzBuzz String(n)????????? <= length?????????????????§???????????´??°n?????????
int getNum(int length) {
	int st = 0, ed = 200000000000000000, mid; //oooxxx
	while (ed - st >= 2) {
		mid = (st + ed) / 2;
		if (getLength(mid) <= length) st = mid;
		else ed = mid;
	}
	return st;
}

//???num???????¨??????????
string fizzBuzz(int num) {
	if (num == 0) return "";
	if (num % 3 == 0 && num % 5 == 0) return "FizzBuzz";
	if (num % 3 == 0) return "Fizz";
	if (num % 5 == 0) return "Buzz";
	
	string s;
	while (num > 0) {
		s += (char)('0' + num % 10);
		num /= 10;
	}
	string ret;
	for (int i = s.length() - 1; i >= 0; i--) ret += s[i];
	return ret;
}

signed main() {
	int s;
	cin >> s;
	
	pow10[0] = 1;
	for (int i = 1; i < 20; i++) pow10[i] = pow10[i - 1] * 10;
	
	int num = getNum(s - 1);
	string ans;
	for (int i = num + 1; i <= num + 20; i++) {
		ans += fizzBuzz(i);
	}
	
	int offset = s - 1 - getLength(num);
	for (int i = 0; i < 20; i++) {
		cout << ans[offset + i];
	}
	cout << endl;
	return 0;
}