#include "bits/stdc++.h"
using namespace std;
typedef long long ll;

ll kei[16]; //各桁ごとの合計
ll sz[16]; //各桁ごとの要素数
ll st[16]; //各桁のスタート地点
ll syou[16][2]; //各桁ごとの15ごとに何文字ずつあるか
int main()
{
	ll s;
	cin>>s;
	//s--;
	for(ll i=0;i<16;i++)
	{
		syou[i][0]=32+(i+2)*8; //大半はこっち
		syou[i][1]=32+(i+1)*5+(i+2)*3; //各桁の最初だけこれ
	}
	ll cnt=6;
	for(ll i=0;i<16;i++)
	{
		kei[i]=syou[i][1]+syou[i][0]*(cnt-1);
		sz[i]=cnt;
		cnt*=10;
	}
	cnt=90;
	st[0]=1;
	for(ll i=1;i<16;i++)
	{
		st[i]=cnt+1;
		cnt=cnt*10+90;
	}
	//どの桁で超過するか求める
	ll now=1;
	int keta=-1; //どの桁かを記録
	for(int i=0;i<16;i++)
	{
		if(s<now+kei[i])
		{
			keta=i;
			break;
		}
		now+=kei[i];
	}
	ll ban=-1; //何番目かを記録
	ll start=-1; //最終的なスタート地点（文字単位なので注意！）
	if(s-now<syou[keta][1])
	{
		ban=0;
		start=s-now;
	}else{
		now+=syou[keta][1];
		ban=(s-now)/syou[keta][0]+1;
		start=(s-now+syou[keta][0])%syou[keta][0];
	}
	//cerr<<now<<" "<<keta<<" "<<ban<<" "<<start<<endl;
	string ans; //答えを含む文字列
	//スタート地点を含む部分を記録
	for(ll i=0;i<15;i++)
	{
		ll tmp=i+st[keta]+ban*15;
		if(tmp%15==0)
			ans+="FizzBuzz";
		else if(tmp%5==0)
			ans+="Buzz";
		else if(tmp%3==0)
			ans+="Fizz";
		else
			ans+=to_string(tmp);
	}
	//その次の文字列を記録
	if(ban+1>sz[keta])
	{
		keta++;
		ban=0;
	}else{
		ban++;
	}
	for(ll i=0;i<15;i++)
	{
		ll tmp=i+st[keta]+ban*15;
		if(tmp%15==0)
			ans+="FizzBuzz";
		else if(tmp%5==0)
			ans+="Buzz";
		else if(tmp%3==0)
			ans+="Fizz";
		else
			ans+=to_string(tmp);
	}

	//答えの出力
	//指定された位置から20文字出せば良い
	for(int i=0;i<20;i++)
		cout<<ans[i+start];
	cout<<endl;
	return 0;
}
