Problem:
Score : 100 points

Problem Statement

On some day in January 2018, Takaki is writing a document. The document has a column where the current date is written in yyyy/mm/dd format. For example, January 23, 2018 should be written as 2018/01/23.

After finishing the document, she noticed that she had mistakenly wrote 2017 at the beginning of the date column. Write a program that, when the string that Takaki wrote in the date column, S, is given as input, modifies the first four characters in S to 2018 and prints it.

Constraints

S is a string of length 10.

The first eight characters in S are 2017/01/.

The last two characters in S are digits and represent an integer between 1 and 31 (inclusive).

Input

Input is given from Standard Input in the following format:

S

Output

Replace the first four characters in S with 2018 and print it.

Sample Input 1

2017/01/07

Sample Output 1

2018/01/07

Sample Input 2

2017/01/31

Sample Output 2

2018/01/31

Solution in Go (1.6) (judge verdict: Runtime Error)

package main

import (
	"bufio"
	"os"
	"strconv"
	"fmt"
)

var sc = bufio.NewScanner(os.Stdin)

func nextInt() int {
	sc.Scan()
	i, e := strconv.Atoi(sc.Text())
	if e != nil {
		panic(e)
	}
	return i
}

func main() {
	sc.Split(bufio.ScanWords)

	maiInt := nextInt()
	yenInt := nextInt()
	yenIntRaw := yenInt

	if yenInt%1000 != 0 {
		fmt.Println("-1 -1 -1")
		return
	}

	yenInt /= 1000

	yen10 := 0
	yen5 := 0
	yen1 := 0

	if yenInt > 10 {
		yen10 = (yenInt - yenInt%10) / 10
		yenInt -= yen10 * 10
	}

	if yenInt > 5 {
		yen5 = (yenInt - yenInt%5) / 5
		yenInt -= yen5 * 5
	}

	if yenInt > 1 {
		yen1 = yenInt
	}

	is10 := false
	is5 := false
reCheck:
	if maiInt > yen1+yen5+yen10 {
		if is5 {
			if yen1 < 10{
				fmt.Println("-1 -1 -1")
				return
			}else {
				yen1 -= 10
				yen10 += 1
			}
		} else if is10 || yen10 == 0 {
			yen5 -= 1
			yen1 += 5
			is10 = false
			if yen5 == 0 {
				is5 = true
			}
		} else {
			yen10 -= 1
			yen5 += 2
			is10 = true
		}
		goto reCheck
	}

	if yen10*10000+yen5*5000+yen1*1000 != yenIntRaw {
		fmt.Println("-1 -1 -1")
	} else {
		fmt.Printf("%d %d %d", yen10, yen5, yen1)
	}
}