Problem:
Score: 100 points

Problem Statement

The weather in Takahashi's town changes day by day, in the following cycle: Sunny, Cloudy, Rainy, Sunny, Cloudy, Rainy, ...

Given is a string S representing the weather in the town today. Predict the weather tomorrow.

Constraints

S is Sunny, Cloudy, or Rainy.

Input

Input is given from Standard Input in the following format:

S

Output

Print a string representing the expected weather tomorrow, in the same format in which input is given.

Sample Input 1

Sunny

Sample Output 1

Cloudy

In Takahashi's town, a sunny day is followed by a cloudy day.

Sample Input 2

Rainy

Sample Output 2

Sunny

Solution in Kotlin (1.0.0) (judge verdict: Runtime Error)

import java.util.*
import java.lang.Math.*

fun main(args:Array<String>){
  val reader = System.`in`.bufferedReader()
  val N = reader.readLine()!!.toInt()
  val S = reader.readLine()!!
  val dp = Array(N+1){Array(N+1){0}}
  var answer = 0
  for(i in 1 until N+1){
    for(j in i+1 until N+1){
      if(S[i-1]==S[j-1]){
        dp[i][j] = min(dp[i-1][j-1]+1,j-i)
        answer = max(dp[i][j],answer)
      }
    }
  }
  println(answer)
}