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