Problem:


A - D's Ambition / Dのやぼう

Story

あいずにゃんは若ヶ松高校のプログラミングコンテスト部、通称ぷろこん部に所属する2年生である。かわいい。Dのひとは天使のごとくかわいいあいずにゃんにぞっこんであり、隙あらばぺろぺろしようと画策する変態である。その愛は猟奇的であり、あいずにゃんを自分色に染めようと、"AIZUNYAN"という文字列を見る度"AIDUNYAN"に書き換えてしまう。さらにあいずにゃんを自分だけのものにするため、他の人に気づかれないようにその文字列をバラバラに並べ替えてしまう。プロコンの名門・律命館大学中等部卒のエリート競技プログラマであり、ぷろこん部の部長であるりっつちゃんは、あいずにゃんをDのひとの魔の手から救うため、Dのひとが改変した文字列をすべて復元することにした。

Problem

英大文字のみからなる文字列Zがある。文字列Z中に現れるすべての部分文字列"AIZUNYAN"に対し、個別に"AIDUNYAN"の任意のアナグラムを生成し、置き換えることで得られた文字列をDとする。ここで、文字列Sのアナグラムとは、Sに現れる文字を並び替えて得られる文字列のことをいう。文字列Dが入力として与えられるので、文字列Zを復元せよ。 ただし、文字列Dに含まれる"AIDUNYAN"のアナグラムはすべて、"AIZUNYAN"から置き換えられたもののみであると仮定してよい。また、D中の任意の文字D_iについて、D_iを含み、かつ"AIDUNYAN"のアナグラムである部分文字列は高々1つしかないと仮定してよい。

Input

D

入力は1行で与えられ、英大文字のみからなる文字列Dを含む。文字列Dの長さ|D|は1 \leq |D| \leq 10^3を満たす。

Output

Dを復元した文字列Zを1行に出力せよ。行の最後では必ず改行を行うこと。

Sample Input 1

AIDUNYAN

Sample Output 1

AIZUNYAN

Dの魔の手から救うことができた。

Sample Input 2

ZDD

Sample Output 2

ZDD

文字列長が8文字未満であったり、"AIDUNYAN"のアナグラムを含まないこともある。

Sample Input 3

AADINNUYHAMAJIDETENSHIDAKARANYANAIDUPEROPEROSHITAI

Sample Output 3

AIZUNYANHAMAJIDETENSHIDAKARAAIZUNYANPEROPEROSHITAI

2箇所以上含まれている場合はすべて復元する。ぺろぺろ。

Sample Input 4

NYANAIDUAIDU

Sample Output 4

AIZUNYANAIDU

復元後の文字列Zに"AIDUNYAN"のアナグラムが現れる場合もあるが、復元前の文字列Dにおいてアナグラムでない部分ならば変更しないことに注意せよ。


Sample input:
AIDUNYAN


Sample output:
AIZUNYAN

Submission status: Wrong Answer

Solution code:
d = input()
key = "AIDUNYAN"
dict = {"A":0,"I":0,"D":0,"U":0,"N":0,"Y":0}
mi = -1
ma = -1
ans = ""
for i in range(len(d)):
    if d[i] in key:
        if ma == -1:
            ma = i
        if mi == -1:
            mi = i
        dict[d[i]] += 1
        flag = True
        for j in dict.values():
            if j == 0:
                flag = False
        if flag and dict["A"] >= 2 and dict["N"] >= 2:
            sum = 0
            for j in dict.values():
                sum += j
            while sum > 8:
                dict[d[mi]]-=1
                sum-=1
                mi += 1
                ans += d[ma:mi]
            ans += "AIZUNYAN"
            dict["A"] = 0
            dict["I"] = 0
            dict["D"] = 0
            dict["U"] = 0
            dict["N"] = 0
            dict["Y"] = 0
            ma = -1
            mi = -1
    else:
        ans += d[ma:i]
        ma = -1
        mi = -1
        ans += d[i]
        dict["A"] = 0
        dict["I"] = 0
        dict["D"] = 0
        dict["U"] = 0
        dict["N"] = 0
        dict["Y"] = 0
if ma != -1:
    ans += d[ma:]
print(ans)

Submission status: Wrong Answer

Solution code:
ref = list("AADINNUY")
aizu = "AIZUNYAN"
inp = raw_input()
if len(inp) < 8:
	print inp
else:
	ans = ""
	i = 0
	while i <= len(inp) - 8:
		if sorted(inp[i:i+8]) == ref:
			ans += aizu
			i += 8
		else:
			ans += inp[i]
			i += 1
	print ans

Submission status: Accepted

Solution code:
ref = list("AADINNUY")
aizu = "AIZUNYAN"
inp = raw_input()
if len(inp) < 8:
	print inp
else:
	ans = ""
	l = len(inp)
	i = 0
	while i < l:
		if i <= l - 8 and sorted(inp[i:i+8]) == ref:
			ans += aizu
			i += 8
		else:
			ans += inp[i]
			i += 1
	print ans