Example #1
0
public class TaskC {
  private long[] fibonacci = IntegerUtils.generateFibonacci(46, -1);

  public void solve(int testNumber, InputReader in, PrintWriter out) {
    int stringIndex = in.readInt();
    long letterIndex = in.readLong();
    out.println(go(stringIndex, letterIndex));
  }

  private char go(int stringIndex, long letterIndex) {
    if (stringIndex < 2) return (char) ('a' + stringIndex);
    if (letterIndex <= fibonacci[stringIndex - 2]) return go(stringIndex - 2, letterIndex);
    return go(stringIndex - 1, letterIndex - fibonacci[stringIndex - 2]);
  }
}