G - FESTIVAL Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

配点 : 1000

問題文

CODE FESTIVAL 2016 へようこそ! このコンテストを祝うために、以下の条件を満たす文字列 s を一つ見つけてください:

  • s の長さは 1 以上 5000 以下である。
  • s は英大文字のみからなる。
  • s は文字列 "FESTIVAL" をちょうど K 回部分列として含む。 言い換えると、 0 ≤ i_0 < i_1 < ... < i_7 ≤ |s|-1 かつ s[i_0]='F', s[i_1]='E', ..., s[i_7]='L' を満たすような組 (i_0, i_1, ..., i_7) がちょうど K 組存在する。

与えられた制約の元では、必ず解が存在することが証明できます。 複数通りの解が考えられる場合は、どれを出力してもかまいません。

制約

  • 1 ≤ K ≤ 10^{18}

入力

入力は以下の形式で標準入力から与えられる。

K

出力

条件を満たす文字列を一つ出力せよ。


入力例 1

7

出力例 1

FESSSSSSSTIVAL

入力例 2

256

出力例 2

FFEESSTTIIVVAALL

Score : 1000 points

Problem Statement

Welcome to CODE FESTIVAL 2016! In order to celebrate this contest, find a string s that satisfies the following conditions:

  • The length of s is between 1 and 5000, inclusive.
  • s consists of uppercase letters.
  • s contains exactly K occurrences of the string "FESTIVAL" as a subsequence. In other words, there are exactly K tuples of integers (i_0, i_1, ..., i_7) such that 0 ≤ i_0 < i_1 < ... < i_7 ≤ |s|-1 and s[i_0]='F', s[i_1]='E', ..., s[i_7]='L'.

It can be proved that under the given constraints, the solution always exists. In case there are multiple possible solutions, you can output any.

Constraints

  • 1 ≤ K ≤ 10^{18}

Input

The input is given from Standard Input in the following format:

K

Output

Print a string that satisfies the conditions.


Sample Input 1

7

Sample Output 1

FESSSSSSSTIVAL

Sample Input 2

256

Sample Output 2

FFEESSTTIIVVAALL