Homer has two friends Alice and Bob. Both of them are string fans.

One day, Alice and Bob decide to play a game on a string $s = s_1 s_2 \dots s_n$ of length $n$ consisting of lowercase English letters. They move in turns alternatively and Alice makes the first move.

In a move, a player must choose an index $i$ ($1 \leq i \leq n$) that has not been chosen before, and change $s_i$ to any other lowercase English letter $c$ that $c \neq s_i$.

When all indices have been chosen, the game ends.

The goal of Alice is to make the final string lexicographically as small as possible, while the goal of Bob is to make the final string lexicographically as large as possible. Both of them are game experts, so they always play games optimally. Homer is not a game expert, so he wonders what the final string will be.

A string $a$ is lexicographically smaller than a string $b$ if and only if one of the following holds:

$a$ is a prefix of $b$, but $a \ne b$;

in the first position where $a$ and $b$ differ, the string $a$ has a letter that appears earlier in the alphabet than the corresponding letter in $b$.


-----Input-----

Each test contains multiple test cases. The first line contains $t$ ($1 \le t \le 1000$)  — the number of test cases. Description of the test cases follows.

The only line of each test case contains a single string $s$ ($1 \leq |s| \leq 50$) consisting of lowercase English letters.


-----Output-----

For each test case, print the final string in a single line.


-----Examples-----

Input
3
a
bbbb
az
Output
b
azaz
by


-----Note-----

In the first test case: Alice makes the first move and must change the only letter to a different one, so she changes it to 'b'.

In the second test case: Alice changes the first letter to 'a', then Bob changes the second letter to 'z', Alice changes the third letter to 'a' and then Bob changes the fourth letter to 'z'.

In the third test case: Alice changes the first letter to 'b', and then Bob changes the second letter to 'y'.

Difficulty: EASY
Tags: String algorithms

Game theory

Greedy algorithms
Skill types: Greedy algorithms

Starter code:

Solutions:
test = int(input())
answer = []
for i in range(test):
	string = input()
	ans = ''
	for i in range(len(string)):
		if i % 2 == 0:
			ans += 'a' if string[i] != 'a' else 'b'
		else:
			ans += 'z' if string[i] != 'z' else 'y'
	answer.append(ans)
print('\n'.join(answer))


t = int(input())
for i in range(0, t):
	s = input()
	count = 0
	newStr = ''
	for i in range(0, len(s)):
		if count % 2 == 0:
			if s[i] == 'a':
				newStr += 'b'
			else:
				newStr += 'a'
		elif s[i] == 'z':
			newStr += 'y'
		else:
			newStr += 'z'
		count += 1
	print(newStr)


import sys
import math

def fn(s):
	s = list(s)
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] != 'a':
				s[i] = 'a'
			else:
				s[i] = 'b'
		elif s[i] != 'z':
			s[i] = 'z'
		else:
			s[i] = 'y'
	print(''.join(s))
input = sys.stdin.read()
data = list(map(str, input.split()))
t = int(data[0])
l = 0
for i in range(t):
	s = data[l + 1]
	l = l + 1
	fn(s)


for _ in range(int(input())):
	a = input()
	s = ''
	for i in range(len(a)):
		if i % 2 == 0:
			if a[i] == 'a':
				s += 'b'
			else:
				s += 'a'
		elif a[i] == 'z':
			s += 'y'
		else:
			s += 'z'
	print(s)


for _ in range(int(input())):
	S = list(input())
	for i in range(len(S)):
		if i % 2 == 0:
			if S[i] == 'a':
				S[i] = 'b'
			else:
				S[i] = 'a'
		elif S[i] == 'z':
			S[i] = 'y'
		else:
			S[i] = 'z'
	print(''.join(S))


n = int(input())
for i in range(n):
	s = list(str(input().strip()))
	for j in range(len(s)):
		if j % 2 == 0:
			if s[j] == 'a':
				s[j] = 'b'
			else:
				s[j] = 'a'
		elif s[j] == 'z':
			s[j] = 'y'
		else:
			s[j] = 'z'
	print(''.join(s))


t = int(input())
z = []
for test in range(t):
	s = list(input())
	l = len(s)
	k = 0
	while k < l:
		if s[k] != 'a':
			s[k] = 'a'
		else:
			s[k] = 'b'
		k += 1
		if k == l:
			break
		if s[k] != 'z':
			s[k] = 'z'
		else:
			s[k] = 'y'
		k += 1
	print(''.join(s))


from sys import stdin, stdout, setrecursionlimit
from math import floor, gcd, fabs, factorial, fmod, sqrt, inf, log
from random import seed, randint
from datetime import datetime
from collections import defaultdict as dd, deque
from heapq import merge, heapify, heappop, heappush, nsmallest
from bisect import bisect_left as bl, bisect_right as br, bisect
from collections import defaultdict as dd
mod = pow(10, 9) + 7
mod2 = 998244353

def inp():
	return stdin.readline().strip()

def iinp():
	return int(inp())

def out(var, end='\n'):
	stdout.write(str(var) + '\n')

def outa(*var, end='\n'):
	stdout.write(' '.join(map(str, var)) + end)

def lmp():
	return list(mp())

def mp():
	return map(int, inp().split())

def smp():
	return map(str, inp().split())

def l1d(n, val=0):
	return [val for i in range(n)]

def l2d(n, m, val=0):
	return [l1d(m, val) for j in range(n)]

def remadd(x, y):
	return 1 if x % y else 0

def ceil(a, b):
	return (a + b - 1) // b

def def_value():
	return 0
for _ in range(iinp()):
	s = inp()
	n = len(s)
	ans = ''
	for i in range(n):
		if i % 2 == 0:
			if s[i] != 'a':
				ans += 'a'
			else:
				ans += 'b'
		elif s[i] != 'z':
			ans += 'z'
		else:
			ans += 'y'
	print(ans)


from sys import stdin, stdout
input = stdin.readline
t = int(input())
from collections import Counter
for _ in range(t):
	s = input()
	ans = []
	count = 1
	for i in range(len(s) - 1):
		if count % 2:
			if s[i] == 'a':
				ans.append('b')
			else:
				ans.append('a')
		elif s[i] == 'z':
			ans.append('y')
		else:
			ans.append('z')
		count = count + 1
	for i in range(len(s) - 1):
		print(ans[i], end='')
	print()


import sys
from sys import stdin
tt = int(stdin.readline())
for loop in range(tt):
	s = list(stdin.readline()[:-1])
	c = 0
	for i in range(len(s)):
		if i % 2 == 0 and s[i] != 'a':
			s[i] = 'a'
		elif i % 2 == 0 and s[i] == 'a':
			s[i] = 'b'
		elif i % 2 == 1 and s[i] != 'z':
			s[i] = 'z'
		else:
			s[i] = 'y'
	print(''.join(s))


s = [input() for i in range(int(input()))]
for c in s:
	c = list(c)
	for i in range(len(c)):
		if i % 2 == 0:
			c[i] = 'a' if c[i] != 'a' else 'b'
		else:
			c[i] = 'z' if c[i] != 'z' else 'y'
	print(''.join(c))


for _ in range(int(input())):
	s = list(input())
	for (i, j) in enumerate(s):
		if i % 2:
			s[i] = 'z' if j != 'z' else 'y'
		else:
			s[i] = 'a' if j != 'a' else 'b'
	print(''.join(s))


t = int(input())
string = list()
for j in range(t):
	string.append(input())
for j in range(t):
	k = 0
	ans = ''
	for i in range(len(string[j])):
		if k == 0:
			if string[j][i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
			k = 1
		else:
			if string[j][i] == 'z':
				ans += 'y'
			else:
				ans += 'z'
			k = 0
	print(ans)


for _ in range(int(input())):
	s = list(input())
	l = len(s)
	for i in range(0, l, 2):
		if s[i] != 'a':
			s[i] = 'a'
		else:
			s[i] = 'b'
	for j in range(1, l, 2):
		if s[j] != 'z':
			s[j] = 'z'
		else:
			s[j] = 'y'
	print(''.join(s))


def solve(s):
	n = len(s)
	result = ''
	for i in range(n):
		if i % 2 == 0:
			result += 'a' if s[i] != 'a' else 'b'
		else:
			result += 'z' if s[i] != 'z' else 'y'
	return result
t = int(input())
for tc in range(t):
	s = input()
	result = solve(s)
	print(result)


def replace(string, index, value):
	string = string[:index] + value + string[index + 1:]
	return string
for _ in range(int(input())):
	string = input()
	for i in range(len(string)):
		if i % 2 == 0:
			char = string[i]
			if char == 'a':
				string = replace(string, i, 'b')
			else:
				string = replace(string, i, 'a')
		else:
			char = string[i]
			if char == 'z':
				string = replace(string, i, 'y')
			else:
				string = replace(string, i, 'z')
	print(string)


def game_o_strins():
	cases = int(input())
	for _ in range(cases):
		strin = str(input())
		count = 0
		new_strin = ''
		for char in strin:
			if count % 2 == 0:
				if 'a' == char:
					new_strin += 'b'
				else:
					new_strin += 'a'
			elif 'z' == char:
				new_strin += 'y'
			else:
				new_strin += 'z'
			count += 1
		print(new_strin)
game_o_strins()


my_value = []
for i in range(int(input())):
	my_str = list(input())
	for i in range(len(my_str)):
		if i % 2 == 0:
			if my_str[i] == 'a':
				temp = ord('a') + 1
				my_str[i] = chr(temp)
			else:
				my_str[i] = 'a'
		elif my_str[i] == 'z':
			temp = ord('z') - 1
			my_str[i] = chr(temp)
		else:
			my_str[i] = 'z'
	my_value.append(''.join(my_str))
for i in my_value:
	print(i)


def func(arr):
	sStr = str(input())
	n = len(sStr)
	for i in range(n):
		if i % 2 == 0:
			if sStr[i] == 'a':
				sStr = sStr[:i] + 'b' + sStr[i + 1:]
			else:
				sStr = sStr[:i] + 'a' + sStr[i + 1:]
		elif sStr[i] == 'z':
			sStr = sStr[:i] + 'y' + sStr[i + 1:]
		else:
			sStr = sStr[:i] + 'z' + sStr[i + 1:]
	arr.append(sStr)
mAns = []
t = int(input())
for i in range(t):
	func(mAns)
for i in range(t):
	print(mAns[i])


ask_me = int(input())
for i in range(ask_me):
	s = str(input())
	k = ''
	cnt = 0
	for i in s:
		if cnt % 2 == 0:
			if i == 'a':
				k += 'b'
			else:
				k += 'a'
		elif i == 'z':
			k += 'y'
		else:
			k += 'z'
		cnt += 1
	print(k)


t = int(input())
while t > 0:
	f = 0
	cnt = 0
	s1 = ''
	s = str(input())
	for i in range(0, len(s), 1):
		if i % 2 == 0:
			if s[i] == 'a':
				s1 += 'b'
			else:
				s1 += 'a'
		elif s[i] == 'z':
			s1 += 'y'
		else:
			s1 += 'z'
	print(s1)
	t -= 1


t = int(input())
for _ in range(t):
	s = input()
	t = ''
	for (i, c) in enumerate(s):
		t += ('b' if c == 'a' else 'a') if i % 2 == 0 else 'y' if c == 'z' else 'z'
	print(t)


def solve(n):
	s = ''
	for (i, p) in enumerate(n):
		if i % 2 == 0:
			if p == 'a':
				s += 'b'
			else:
				s += 'a'
		elif p == 'z':
			s += 'y'
		else:
			s += 'z'
	return s

def main():
	ans = []
	t = int(input())
	for _ in range(t):
		n = input()
		ans.append(solve(n))
	for a in ans:
		print(a)
main()


for _ in range(int(input())):
	string = list(input().strip())
	alphabets = 'abcdefghijklmnopqrstuvwxyz'
	a = 0
	b = -1
	for i in range(len(string)):
		if i % 2 == 0:
			if string[i] == alphabets[a]:
				a += 1
				string[i] = alphabets[a]
				a -= 1
			else:
				string[i] = alphabets[a]
		elif string[i] == alphabets[b]:
			b -= 1
			string[i] = alphabets[b]
			b += 1
		else:
			string[i] = alphabets[b]
	print(''.join(string))


t = int(input())
for _ in range(t):
	strr = input()
	ans = ''
	for i in range(len(strr)):
		if i % 2 == 0:
			if strr[i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif strr[i] == 'z':
			ans += 'y'
		else:
			ans += 'z'
	print(ans)


for i in range(int(input())):
	s = list(input())
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	for k in range(len(s)):
		print(s[k], end='')
	print()


t = int(input())
while t:
	s = input()
	n = len(s)
	ans = ''
	for i in range(n):
		if (i + 1) % 2 == 1:
			if s[i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif s[i] == 'z':
			ans += 'y'
		else:
			ans += 'z'
	print(ans)
	t -= 1


import sys
import math
from math import inf, gcd
from functools import *
from itertools import *
from collections import *
from typing import *
sys.setrecursionlimit(10 ** 7)
ti = int(input())
for ii in range(ti):
	s = list(input())
	for (i, j) in enumerate(s):
		if i % 2 == 0:
			s[i] = 'b' if j == 'a' else 'a'
		else:
			s[i] = 'z' if j != 'z' else 'y'
	print(''.join(s))


import math
import sys
from collections import Counter
from typing import List
input = sys.stdin.readline

def inp():
	return int(input())

def instr():
	return str(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(map(int, list(s[:len(s) - 1])))

def invr():
	return map(int, input().split())

def main():
	t = inp()
	for _ in range(t):
		s = instr()[:-1]
		r = []
		alice = True
		for c in s:
			if alice:
				if c == 'a':
					r.append('b')
				else:
					r.append('a')
			elif c == 'z':
				r.append('y')
			else:
				r.append('z')
			alice = not alice
		print(''.join(r))
main()


q = int(input())
for queries in range(0, q):
	s = input()
	ans = ''
	i = 0
	for c in s:
		if i == 0:
			if c == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif c == 'z':
			ans += 'y'
		else:
			ans += 'z'
		i = (i + 1) % 2
	print(ans)


def solve(s):
	chr1 = 'a'
	chr2 = 'z'
	n = len(s)
	for i in range(n):
		if i % 2 == 0:
			tmp = chr1
			while tmp == s[i]:
				tmp = chr(ord(tmp) + 1)
			s = s[:i] + tmp + s[i + 1:]
		else:
			tmp = chr2
			while tmp == s[i]:
				tmp = chr(ord(tmp) - 1)
			s = s[:i] + tmp + s[i + 1:]
	print(s)
t = int(input())
while t > 0:
	s = input()
	solve(s)
	t -= 1


for _ in range(int(input())):
	s = list(input())
	turn = True
	for i in range(len(s)):
		if turn:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
			turn = not turn
		else:
			if s[i] == 'z':
				s[i] = 'y'
			else:
				s[i] = 'z'
			turn = not turn
	for i in range(len(s)):
		print(s[i], end='')
	print()


def next_l(le):
	if le == 'z':
		return 'y'
	return 'z'

def prev_l(le):
	if le == 'a':
		return 'b'
	return 'a'
n = int(input())
res = []
for _ in range(n):
	a = input()
	l = []
	for (i, j) in enumerate(a):
		l.append(next_l(j) if i % 2 else prev_l(j))
	res.append(''.join(l))
for i in res:
	print(i)


t = int(input())
for _ in range(t):
	s = input()
	s = list(s)
	for i in range(len(s)):
		if i == 0:
			if s[i] == 'a':
				s[i] = 'b'
				continue
			else:
				s[i] = 'a'
				continue
		if i % 2 == 0 and i != 0:
			if s[i] != 'a':
				s[i] = 'a'
				continue
			else:
				s[i] = 'b'
				continue
		elif s[i] != 'z':
			s[i] = 'z'
			continue
		else:
			s[i] = 'y'
			continue
	print(*s, sep='')


t = int(input())
for _ in range(t):
	word = input()
	word = list(word)
	for ind in range(len(word)):
		if ind % 2 == 0:
			if word[ind] != 'a':
				word[ind] = 'a'
			else:
				word[ind] = 'b'
		elif ind % 2 == 1:
			if word[ind] != 'z':
				word[ind] = 'z'
			else:
				word[ind] = 'y'
	print(''.join(word))


for _ in range(int(input())):
	string = input()
	ans = ''
	for i in range(len(string)):
		if i % 2:
			if string[i] == 'z':
				ans += 'y'
			else:
				ans += 'z'
		elif string[i] == 'a':
			ans += 'b'
		else:
			ans += 'a'
	print(ans)


import math as math
testcase = int(input())
for i in range(testcase):
	string = input()
	new = ''
	for i in range(len(string)):
		if i % 2 == 0 and string[i] != 'a':
			new += 'a'
		elif i % 2 == 0 and string[i] == 'a':
			new += 'b'
		elif i % 2 == 1 and string[i] != 'z':
			new += 'z'
		elif i % 2 == 1 and string[i] == 'z':
			new += 'y'
	print(new)


from copy import copy
t = int(input())
while t > 0:
	lst = list(input())
	for i in range(len(lst)):
		if i % 2 == 0:
			if lst[i] == 'a':
				lst[i] = 'b'
			else:
				lst[i] = 'a'
		elif lst[i] == 'z':
			lst[i] = 'y'
		else:
			lst[i] = 'z'
	print(''.join(lst))
	t -= 1


x = int(input())
l = []
for i in range(x):
	l1 = [i for i in input()]
	l.append(l1)

def f(l):
	for i in range(0, len(l), 2):
		if l[i] == 'a':
			l[i] = 'b'
		else:
			l[i] = 'a'
	for i in range(1, len(l), 2):
		if l[i] == 'z':
			l[i] = 'y'
		else:
			l[i] = 'z'
	return l
for i in range(x):
	l1 = f(l[i])
	s = ''
	for j in range(len(l1)):
		s += l1[j]
	print(s)


def calculate_final_s(s):

	def change2less(letter):
		if letter == 'a':
			return 'b'
		return 'a'

	def change2more(letter):
		if letter == 'z':
			return 'y'
		return 'z'
	s = list(s)
	for idx in range(len(s)):
		if idx % 2 == 0:
			s[idx] = change2less(s[idx])
		else:
			s[idx] = change2more(s[idx])
	return ''.join(s)
n = int(input())
for i in range(n):
	s = input()
	print(calculate_final_s(s))


N = int(input())
for i in range(N):
	s = input()
	ans = ''
	for j in range(len(s)):
		if j & 1:
			ans += 'z' if s[j] != 'z' else 'y'
		else:
			ans += 'a' if s[j] != 'a' else 'b'
	print(ans)


for t in range(int(input())):
	s = input()
	s = list(s)
	n = len(s)
	for i in range(n):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	for ele in s:
		print(ele, end='')
	print()


def solve():
	t = int(input())
	for i in range(t):
		s = input()
		a = ''
		for j in range(len(s)):
			if j % 2 == 0:
				if s[j] == 'a':
					a += 'b'
				else:
					a += 'a'
			elif s[j] == 'z':
				a += 'y'
			else:
				a += 'z'
		print(a)
solve()


t = int(input())
alph = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for _ in range(t):
	s2 = input()
	s = list(s2.strip())
	for i in range(1, len(s) + 1):
		if i % 2 != 0:
			for j in range(len(alph)):
				if s[i - 1] == alph[j]:
					pass
				else:
					s.insert(i - 1, str(alph[j]))
					del s[i]
					break
		else:
			for k in range(len(alph) - 1, -1, -1):
				if s[i - 1] == alph[k]:
					pass
				else:
					s.insert(i - 1, str(alph[k]))
					del s[i]
					break
	print(''.join(s))


t = int(input())
for _ in range(t):
	n = list(input())
	a = ''
	for i in range(len(n)):
		v = ord(n[i])
		if (i + 1) % 2 == 0:
			if v < 122:
				n[i] = chr(122)
			else:
				n[i] = chr(121)
		elif v > 97:
			n[i] = chr(97)
		else:
			n[i] = chr(98)
		a += n[i]
	print(a)


def solve(s, n):
	alpha = 'abcdefghijklmnopqrstuvwxyz'
	(ls, ld) = (0, 25)
	res = ''
	for i in range(n):
		if i % 2 == 0:
			if s[i] != alpha[ls]:
				res += alpha[ls]
			elif s[i] == alpha[ls]:
				res += alpha[ls + 1]
		elif s[i] != alpha[ld]:
			res += alpha[ld]
		elif s[i] == alpha[ld]:
			res += alpha[ld - 1]
	return res

def main():
	T = int(input())
	for _ in range(T):
		s = input()
		n = len(s)
		out = solve(s, n)
		print(out)
main()


def lex(string):
	output = ''
	for i in range(len(string)):
		x = string[i]
		if i % 2 == 0:
			if x == 'a':
				output += 'b'
			else:
				output += 'a'
		elif x == 'z':
			output += 'y'
		else:
			output += 'z'
	return output
t = int(input())
for _ in range(t):
	print(lex(input()))


n = int(input())
for i in range(n):
	s = input()
	f = ''
	for j in range(len(s)):
		if j % 2 == 0 and s[j] == 'a':
			f += 'b'
		elif j % 2 == 0:
			f += 'a'
		elif j % 2 != 0 and s[j] == 'z':
			f += 'y'
		else:
			f += 'z'
	print(f)


import os
import sys
from io import BytesIO, IOBase
import math as M
import itertools as ITR
from collections import defaultdict as D
from collections import Counter as C
from collections import deque as Q
import threading
from functools import lru_cache, reduce
from functools import cmp_to_key as CMP
from bisect import bisect_left as BL
from bisect import bisect_right as BR
import random as R
import string
import cmath, time
enum = enumerate
start_time = time.time()
MOD = 1000000007
MA = float('inf')
MI = float('-inf')
di8 = ((1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1), (1, -1))
di4 = ((1, 0), (0, 1), (-1, 0), (0, -1))

def increase_stack():
	sys.setrecursionlimit(2 ** 32 // 2 - 1)
	threading.stack_size(1 << 27)

def binary(n):
	return bin(n)[2:]

def decimal(s):
	return int(s, 2)

def pow2(n):
	p = 0
	while n > 1:
		n //= 2
		p += 1
	return p

def maxfactor(n):
	q = []
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0:
			q.append(i)
	if q:
		return q[-1]

def factors(n):
	q = []
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0:
			q.append(i)
			q.append(n // i)
	return list(sorted(list(set(q))))

def primeFactors(n):
	l = []
	while n % 2 == 0:
		l.append(2)
		n = n / 2
	for i in range(3, int(M.sqrt(n)) + 1, 2):
		while n % i == 0:
			l.append(i)
			n = n / i
	if n > 2:
		l.append(int(n))
	l.sort()
	return l

def isPrime(n):
	if n == 1:
		return False
	else:
		root = int(n ** 0.5)
		root += 1
		for i in range(2, root):
			if n % i == 0:
				return False
		return True

def seive(n):
	a = []
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p ** 2, n + 1, p):
				prime[i] = False
		p = p + 1
	for p in range(2, n + 1):
		if prime[p]:
			a.append(p)
	prime[0] = prime[1] = False
	return (a, prime)

def maxPrimeFactors(n):
	maxPrime = -1
	while n % 2 == 0:
		maxPrime = 2
		n >>= 1
	for i in range(3, int(M.sqrt(n)) + 1, 2):
		while n % i == 0:
			maxPrime = i
			n = n / i
	if n > 2:
		maxPrime = n
	return int(maxPrime)

def countchar(s, i):
	c = 0
	ch = s[i]
	for i in range(i, len(s)):
		if s[i] == ch:
			c += 1
		else:
			break
	return c

def str_counter(a):
	q = [0] * 26
	for i in range(len(a)):
		q[ord(a[i]) - 97] = q[ord(a[i]) - 97] + 1
	return q

def lis(arr):
	n = len(arr)
	lis = [1] * n
	maximum = 0
	for i in range(1, n):
		for j in range(0, i):
			if arr[i] > arr[j] and lis[i] < lis[j] + 1:
				lis[i] = lis[j] + 1
				maximum = max(maximum, lis[i])
	return maximum

def gcd(a, b):
	if b == 0:
		return a
	else:
		return gcd(b, a % b)

def agcd(a, *b):
	for i in b:
		a = gcd(a, i)
	return a

def lcm(a, *b):
	val = a
	gc = a
	for i in b:
		gc = gcd(gc, i)
		val *= i
	return val // gc

def ncr(n, r):
	return M.factorial(n) // (M.factorial(n - r) * M.factorial(r))

def npr(n, r):
	return M.factorial(n) // M.factorial(n - r)

def IF(c, t, f):
	return t if c else f

def YES(c):
	print(IF(c, 'YES', 'NO'))

def Yes(c):
	print(IF(c, 'Yes', 'No'))

def yes(c):
	print(IF(c, 'yes', 'no'))

def JA(a, sep=' '):
	print(sep.join(map(str, a)))

def JAA(a, s='\n', t=' '):
	return s.join((t.join(map(str, b)) for b in a))

def PS(a, s=' '):
	print(str(a), end=s)

def I():
	return int(inp())

def F():
	return float(inp())

def LI():
	return list(map(int, inp().split()))

def LF():
	return list(map(float, inp().split()))

def MATI(n):
	return [LI() for i in range(n)]

def MATS(n):
	return [list(inp()) for i in range(n)]

def IV():
	return map(int, inp().split())

def FV():
	return map(float, inp().split())

def LS():
	return list(inp())

def S():
	return inp()
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
inp = lambda : sys.stdin.readline().rstrip('\r\n')
TestCases = 1
charr = [chr(i) for i in range(97, 97 + 26)]

def getter(x, flag):
	if flag:
		for i in charr:
			if i != x:
				return i
	else:
		for i in range(25, -1, -1):
			if charr[i] != x:
				return charr[i]

def solve():
	s = LS()
	n = len(s)
	for i in range(n):
		if i % 2 == 0:
			s[i] = getter(s[i], 1)
		else:
			s[i] = getter(s[i], 0)
	print(''.join(s))

def main():
	flag = 1
	try:
		sys.stdin = open('c:/Users/Manoj Chowdary/Documents/python/CodeForces/contest-div-2/input.txt', 'r')
		sys.stdout = open('c:/Users/Manoj Chowdary/Documents/python/CodeForces/contest-div-2/output.txt', 'w')
	except:
		flag = 0
	t = 1
	if TestCases:
		t = I()
	for _ in range(1, t + 1):
		solve()
	if flag:
		print('Time: %.4f sec' % (time.time() - start_time))
		localtime = time.asctime(time.localtime(time.time()))
		print(localtime)
		sys.stdout.close()
main()


for tt in range(int(input())):
	s = input()
	n = len(s)
	news = ''
	for i in range(n):
		if i % 2 == 0:
			if s[i] == 'a':
				news += 'b'
			else:
				news += 'a'
		elif s[i] == 'z':
			news += 'y'
		else:
			news += 'z'
	print(news)


t = int(input())
while t:
	s = input()
	new_s = ''
	turn = 1
	for i in range(len(s)):
		if turn == 1:
			if s[i] == 'a':
				new_s += 'b'
			elif s[i] != 'a':
				new_s += 'a'
			turn = 2
		elif turn == 2:
			if s[i] == 'z':
				new_s += 'y'
			elif s[i] != 'z':
				new_s += 'z'
			turn = 1
	print(new_s)
	t -= 1


t = input()
T = int(t)
for i in range(T):
	x = input()
	y = ''
	for j in range(len(x)):
		if j % 2:
			if x[j] == 'z':
				y += 'y'
			else:
				y += 'z'
		elif x[j] == 'a':
			y += 'b'
		else:
			y += 'a'
	print(y)


import sys

def main():
	s = sys.stdin.readline().strip()
	result = ''
	for (key, char) in enumerate(s):
		if key % 2 == 0:
			result += 'a' if char != 'a' else 'b'
		else:
			result += 'z' if char != 'z' else 'y'
	print(result)
n = int(sys.stdin.readline())
for _ in range(n):
	main()


for i in range(int(input())):
	s = input()
	l1 = []
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				l1.append('b')
			else:
				l1.append('a')
		if i % 2 == 1:
			if s[i] == 'z':
				l1.append('y')
			else:
				l1.append('z')
	x = ''.join(l1)
	print(x)


for _ in range(int(input())):
	s = input()
	turn = False
	new_s = ''
	for i in range(len(s)):
		if turn == False:
			turn = not turn
			if s[i] == 'a':
				new_s += 'b'
			else:
				new_s += 'a'
		else:
			turn = not turn
			if s[i] == 'z':
				new_s += 'y'
			else:
				new_s += 'z'
	print(new_s)


t = int(input())
test_cases = []
for test in range(t):
	example = list(input())
	iterator = 0
	while iterator < len(example):
		if iterator % 2 == 0:
			if example[iterator] == 'a':
				example[iterator] = 'b'
			else:
				example[iterator] = 'a'
		elif example[iterator] == 'z':
			example[iterator] = 'y'
		else:
			example[iterator] = 'z'
		iterator += 1
	print(''.join(example))


n_sets = int(input())
for _ in range(n_sets):
	s = input()
	for (i, x) in enumerate(s):
		if i % 2 == 0:
			if x == 'a':
				print('b', end='')
			else:
				print('a', end='')
		elif x == 'z':
			print('y', end='')
		else:
			print('z', end='')
	print()


for z in range(int(input())):
	l = list(input())
	for i in range(len(l)):
		if i % 2:
			l[i] = 'z' if l[i] != 'z' else 'y'
		else:
			l[i] = 'a' if l[i] != 'a' else 'b'
	print(''.join(l))


t = int(input())
for j in range(t):
	a = input()
	o = ''
	l = 0
	for i in range(len(a)):
		if l % 2 == 0:
			if a[i] == 'a':
				o = o + 'b'
			else:
				o = o + 'a'
		elif a[i] == 'z':
			o = o + 'y'
		else:
			o = o + 'z'
		l = l + 1
	print(o)


t = int(input())
for _ in range(t):
	l = list(input())
	n = len(l)
	alice = True
	for i in range(n):
		if alice:
			if l[i] == 'a':
				l[i] = 'b'
			else:
				l[i] = 'a'
		elif l[i] == 'z':
			l[i] = 'y'
		else:
			l[i] = 'z'
		alice = not alice
	print(''.join(l))


import sys
inf = sys.stdin
input = inf.readline

def read_one_int():
	return int(input().rstrip('\n'))

def read_list_of_ints():
	res = [int(val) for val in input().rstrip('\n').split(' ')]
	return res

def read_string():
	return input().rstrip('\n')

def check_seq(input_str):
	res = ''
	for (i, ch) in enumerate(input_str):
		if not i % 2:
			if ch != 'a':
				res += 'a'
			else:
				res += 'b'
		elif ch != 'z':
			res += 'z'
		else:
			res += 'y'
	return res

def main():
	samples = read_one_int()
	res = ''
	for _ in range(samples):
		input_str = read_string()
		res = check_seq(input_str)
		print(res)
main()


def fresh(s):
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	return s
t = int(input())
for i in range(t):
	s = fresh(list(str(input())))
	for j in range(len(s)):
		print('{}'.format(s[j]), end='')
	print('')


def alice_bob(s):
	count = 0
	res = ''
	for c in s:
		if count & 1 == 0:
			if ord(c) == 97:
				res += 'b'
			else:
				res += 'a'
		elif ord(c) == 122:
			res += 'y'
		else:
			res += 'z'
		count += 1
	return res
t = int(input())
for i in range(t):
	print(alice_bob(input()))


T = int(input())
for t in range(T):
	s = input()
	res = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				res += 'b'
			else:
				res += 'a'
		elif s[i] == 'z':
			res += 'y'
		else:
			res += 'z'
	print(res)


n = int(input())
for _ in range(n):
	s = input()
	new_s = ''
	cur_player = 0
	for i in range(len(s)):
		if cur_player == 0 and s[i] == 'a':
			new_s += 'b'
		elif cur_player == 0:
			new_s += 'a'
		elif cur_player == 1 and s[i] == 'z':
			new_s += 'y'
		elif cur_player == 1:
			new_s += 'z'
		cur_player = (cur_player + 1) % 2
	print(new_s)


t = int(input())
for k in range(t):
	s = input()
	r = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				r += 'b'
			else:
				r += 'a'
		elif s[i] == 'z':
			r += 'y'
		else:
			r += 'z'
	print(r)


def ls(s):
	st = ''
	for i in range(0, len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				st += 'b'
			else:
				st += 'a'
		elif s[i] == 'z':
			st += 'y'
		else:
			st += 'z'
	return st
t = int(input())
l = []
for i in range(0, t):
	x = str(input())
	x1 = ls(x)
	l.append(x1)
for c in l:
	print(c)


t = int(input())
for _ in range(t):
	s1 = input()
	res = ''
	for i in range(len(s1)):
		if i % 2 == 0:
			if s1[i] != 'a':
				res += 'a'
			else:
				res += 'b'
		elif s1[i] != 'z':
			res += 'z'
		else:
			res += 'y'
	print(res)


for t in range(int(input())):
	a = list(input())
	b = ''
	for i in range(len(a)):
		if i % 2 == 0:
			if a[i] == 'a':
				b += 'b'
			else:
				b += 'a'
		elif a[i] == 'z':
			b += 'y'
		else:
			b += 'z'
	print(b)


import sys

def input():
	return sys.stdin.readline().strip()

def iinput():
	return int(input())

def rinput():
	return map(int, sys.stdin.readline().strip().split())

def get_list():
	return list(map(int, sys.stdin.readline().strip().split()))
t = iinput()
for i in range(t):
	s = input()
	ans = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif s[i] == 'z':
			ans += 'y'
		else:
			ans += 'z'
	print(ans)


for j in range(int(input())):
	a = input()
	for i in range(len(a)):
		if i % 2 == 0:
			if a[i] == 'a':
				print('b', end='')
			else:
				print('a', end='')
		elif a[i] == 'z':
			print('y', end='')
		else:
			print('z', end='')
	print()


import time
for _ in range(int(input())):
	s = input()
	for i in range(0, len(s), 2):
		if s[i] == 'a':
			s = s[:i] + 'b' + s[i + 1:]
		else:
			s = s[:i] + 'a' + s[i + 1:]
	for i in range(1, len(s), 2):
		if s[i] == 'z':
			s = s[:i] + 'y' + s[i + 1:]
		else:
			s = s[:i] + 'z' + s[i + 1:]
	print(s)


t = int(input())
while t:
	s = input()
	strinig_list = []
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] != 'a':
				strinig_list.append('a')
			else:
				strinig_list.append('b')
		elif s[i] != 'z':
			strinig_list.append('z')
		else:
			strinig_list.append('y')
	for i in strinig_list:
		print(i, end='')
	print('\r')
	t -= 1


def listToString(s):
	str1 = ''
	return str1.join(s)
n = int(input())
for i in range(n):
	ch = input()
	ch = list(ch)
	for e in range(len(ch)):
		if e % 2 == 0:
			if ch[e] != 'a':
				ch[e] = 'a'
			else:
				ch[e] = 'b'
		elif ch[e] != 'z':
			ch[e] = 'z'
		else:
			ch[e] = 'y'
	print(listToString(ch))


try:
	for _ in range(int(input())):
		s = input()
		st = ''
		for i in range(len(s)):
			if i % 2 == 0:
				if s[i] == 'a':
					st += 'b'
				else:
					st += 'a'
			elif s[i] == 'z':
				st += 'y'
			else:
				st += 'z'
		print(st)
except:
	pass


t = int(input())
for _ in range(t):
	z = input()
	s = ''
	alice = True
	for i in z:
		if alice:
			if i == 'a':
				s += 'b'
			else:
				s += 'a'
		elif i == 'z':
			s += 'y'
		else:
			s += 'z'
		alice = not alice
	print(s)


from collections import Counter, OrderedDict
from itertools import permutations as perm
from fractions import Fraction
from collections import deque
from sys import stdin
from bisect import *
from heapq import *
from math import *
g = lambda : stdin.readline().strip()
gl = lambda : g().split()
gil = lambda : [int(var) for var in gl()]
gfl = lambda : [float(var) for var in gl()]
gcl = lambda : list(g())
gbs = lambda : [int(var) for var in g()]
mod = int(1000000000.0) + 7
inf = float('inf')
(t,) = gil()
for _ in range(t):
	s = gcl()
	n = len(s)
	m = 0
	for i in range(n):
		if m:
			s[i] = 'z' if s[i] != 'z' else 'y'
		else:
			s[i] = 'a' if s[i] != 'a' else 'b'
		m ^= 1
	print(''.join(s))


from sys import stdin, stdout

def main():
	input = iter(stdin.read().split())
	(t, write) = (next(input), stdout.write)
	for s in input:
		for (i, c) in enumerate(s):
			if i & 1 == 0:
				if c == 'a':
					write('b')
				else:
					write('a')
			elif c == 'z':
				write('y')
			else:
				write('z')
		write('\n')
main()


def changeString(s):
	res = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				res += 'b'
			else:
				res += 'a'
		elif s[i] == 'z':
			res += 'y'
		else:
			res += 'z'
	return res
t = int(input())
for i in range(t):
	s = input()
	print(changeString(s))


def main():
	for _ in range(int(input())):
		l = list(input())
		for i in range(0, len(l), 2):
			l[i] = 'a' if l[i] > 'a' else 'b'
		for i in range(1, len(l), 2):
			l[i] = 'z' if l[i] < 'z' else 'y'
		print(''.join(l))
main()


for _ in range(int(input())):
	s = list(input())
	n = len(s)
	for i in range(n):
		if i % 2:
			s[i] = 'y' if s[i] == 'z' else 'z'
		else:
			s[i] = 'b' if s[i] == 'a' else 'a'
	print(''.join(s))


for _ in range(int(input())):
	s = input()
	f = True
	ans = []
	for i in s:
		t = i
		if f:
			f = False
			if i == 'a':
				t = 'b'
			else:
				t = 'a'
		else:
			f = True
			if i == 'z':
				t = 'y'
			else:
				t = 'z'
		ans.append(t)
	print(*ans, sep='')


from math import *
from collections import defaultdict as dt
from sys import stdin
inp = lambda : stdin.readline().strip()
intinp = lambda : int(inp())
mapinp = lambda : map(int, stdin.readline().split())
listinp = lambda : list(map(int, stdin.readline().split()))
mod = 1000000009
inf = 100000000000000000000
ss = 'abcdefghijklmnopqrstuvwxyz'

def prime(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	c = []
	for p in range(2, n):
		if prime[p]:
			c.append(p)
	return c

def factors(n):
	i = 1
	p = []
	while i <= sqrt(n):
		if n % i == 0:
			p.append(i)
			if n / i != i:
				p.append(n // i)
		i = i + 1
	return p

def primefacfre(n):
	d = dt(lambda : 0)
	while n % 2 == 0:
		d[2] = d[2] + 1
		n = n / 2
	for i in range(3, int(sqrt(n)) + 1, 2):
		while n % i == 0:
			d[i] = d[i] + 1
			n = n / i
	if n > 2:
		d[n] = d[n] + 1
	return d

def sortvalues(x):
	return dict(sorted(x.items(), key=lambda item: item[1]))

def sortkeys(d):
	return dict(sorted(d.items()))

def solve():
	s = input()
	c = 0
	a = ''
	for i in s:
		if c % 2 == 0:
			if i == 'a':
				a = a + 'b'
			else:
				a = a + 'a'
		elif i == 'z':
			a = a + 'y'
		else:
			a = a + 'z'
		c = c + 1
	print(a)
tt = 1
tt = intinp()
for _ in range(tt):
	solve()


for s in [*open(0)][1:]:
	a = 'abzy'
	b = 2
	print(''.join((a[(c == a[(b := (b ^ 2))]) + b] for c in s[:-1])))


t = int(input())
q = 0
z = []
while q < t:
	s = list(input())
	for i in range(0, len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	si = ''.join(s)
	z.append(si)
	q = q + 1
for x in z:
	print(x)


import math
ans = []
t = int(input())

def doWork(input):
	s = input
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	return ''.join(s)
for _ in range(t):
	s = [x for x in input()]
	ans.append(doWork(s))
for ele in ans:
	print(ele)


t = int(input())
for j in range(t):
	s = input()
	a = list(s)
	l = len(a)
	for i in range(l):
		if i % 2 == 0:
			if a[i] == 'a':
				a[i] = 'b'
			else:
				a[i] = 'a'
		elif a[i] == 'z':
			a[i] = 'y'
		else:
			a[i] = 'z'
	s = ' '
	for p in a:
		s += p
	print(s)


for _ in range(int(input())):
	s = input()
	ans = ''
	for i in range(len(s)):
		if i & 1:
			if s[i] == 'z':
				ans += 'y'
			else:
				ans += 'z'
		elif s[i] == 'a':
			ans += 'b'
		else:
			ans += 'a'
	print(ans)


import sys
input = sys.stdin.readline

def inpit():
	return int(input())

def inplt():
	return list(map(int, input().split()))

def inpstr():
	s = input()
	return list(s[:len(s) - 1])

def inpspint():
	return map(int, input().split())
t = inpit()
for i in range(t):
	s = inpstr()
	a = True
	for (i, v) in enumerate(s):
		c = ord(v)
		if a:
			s[i] = chr(c + 1 if c == 97 else 97)
			a = False
		else:
			s[i] = chr(c - 1 if c == 122 else 122)
			a = True
	print(''.join(s))


tests = int(input())
for _ in range(tests):
	s = list(input())
	for i in range(len(s)):
		if not i & 1:
			s[i] = 'a' if s[i] > 'a' else 'b'
		else:
			s[i] = 'z' if s[i] < 'z' else 'y'
	print(''.join(s))


import sys

def rs():
	return sys.stdin.readline().rstrip()

def ri():
	return int(sys.stdin.readline())

def ria():
	return list(map(int, sys.stdin.readline().split()))

def ws(s):
	sys.stdout.write(s + '\n')

def wi(n):
	sys.stdout.write(str(n) + '\n')

def wia(a):
	sys.stdout.write(' '.join([str(x) for x in a]) + '\n')
import math
from collections import defaultdict, Counter
for _ in range(ri()):
	s = rs()
	ans = ''
	for i in range(len(s)):
		if i & 1 == 0:
			if s[i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif s[i] == 'z':
			ans += 'y'
		else:
			ans += 'z'
	ws(ans)


t = int(input())
for _ in range(t):
	s = list(input())
	for (i, c) in enumerate(s):
		if i % 2:
			if c != 'z':
				s[i] = 'z'
			else:
				s[i] = 'y'
		elif c != 'a':
			s[i] = 'a'
		else:
			s[i] = 'b'
	print(''.join(s))


def Alice_Turn(myNum):
	if myNum == 0:
		return True
	elif myNum % 2 == 0:
		return True
	else:
		return False

def Alice_Move(s):
	if s == 'a':
		return 'b'
	else:
		return 'a'

def Bob_Move(s):
	if s == 'z':
		return 'y'
	else:
		return 'z'
num_test = int(input())
test_str = []
i = 0
while i < num_test:
	temp_str = input()
	test_str.append(temp_str)
	i = i + 1
for input_str in test_str:
	list_out = []
	strlen = len(input_str)
	i = 0
	while i < strlen:
		if Alice_Turn(i):
			list_out.append(Alice_Move(input_str[i]))
		else:
			list_out.append(Bob_Move(input_str[i]))
		i = i + 1
	outStr = ''.join(list_out)
	print(outStr)


n = int(input())
for i in range(n):
	s = input()
	a = True
	out = ''
	for c in s:
		if a:
			if c == 'a':
				out += 'b'
			else:
				out += 'a'
		elif c == 'z':
			out += 'y'
		else:
			out += 'z'
		a = not a
	print(out)


def doit():
	s = input()
	print(''.join((('b' if x == 'a' else 'a') if i % 2 == 0 else 'y' if x == 'z' else 'z' for (i, x) in enumerate(s))))
T = int(input())
for _ in range(T):
	doit()


import sys
from math import *
for _ in range(int(input())):
	s = input()
	ans = ''
	for i in range(len(s)):
		if i & 1:
			if s[i] != 'z':
				ans += 'z'
			else:
				ans += 'y'
		elif s[i] != 'a':
			ans += 'a'
		else:
			ans += 'b'
	print(ans)


t = int(input())
for j in range(t):
	lst = list(input())
	l = len(lst)
	for i in range(0, l, 2):
		if lst[i] != 'a':
			lst[i] = 'a'
		else:
			lst[i] = 'b'
		if i + 1 < l:
			if lst[i + 1] != 'z':
				lst[i + 1] = 'z'
			else:
				lst[i + 1] = 'y'
	my_str = ''.join(lst)
	print(my_str)


from string import ascii_lowercase
t = int(input())
for _ in range(t):
	s = input()
	res = ''
	for (i, ch) in enumerate(s):
		if i % 2 == 0:
			res += 'b' if ch == 'a' else 'a'
		else:
			res += 'y' if ch == 'z' else 'z'
	print(res)


import sys
input = sys.stdin.readline
a = int(input())
for i in range(a):
	b = list(input().strip())
	l = [0] * 30
	af = len(b)
	for i in range(af):
		if i % 2 == 0:
			if b[i] == 'a':
				b[i] = 'b'
			else:
				b[i] = 'a'
		elif b[i] == 'z':
			b[i] = 'y'
		else:
			b[i] = 'z'
	for i in range(af):
		print(b[i], end='')
	print()


import math, sys
from collections import defaultdict, Counter, deque
from bisect import bisect_left, bisect_right
INF = float('inf')
MOD = int(1000000000.0) + 7
MAX = int(1000000.0) + 1

def solve():
	s = input()
	n = len(s)
	ans = []
	for i in range(n):
		if i % 2 == 0:
			if s[i] != 'a':
				ans.append('a')
			else:
				ans.append('b')
		elif s[i] != 'z':
			ans.append('z')
		else:
			ans.append('y')
	print(''.join(ans))

def main():
	t = 1
	t = int(input())
	for _ in range(t):
		solve()

def gcd(a, b):
	while b:
		(a, b) = (b, a % b)
	return a

def input():
	return sys.stdin.readline().rstrip('\n').strip()

def print(*args, sep=' ', end='\n'):
	first = True
	for arg in args:
		if not first:
			sys.stdout.write(sep)
		sys.stdout.write(str(arg))
		first = False
	sys.stdout.write(end)
primes = [1 for i in range(MAX)]

def sieve():
	global primes
	primes[0] = primes[1] = 0
	i = 2
	while i <= MAX ** 0.5:
		j = i * i
		while primes[i] and j < MAX:
			if j % i == 0:
				primes[j] = 0
			j += i
		i += 1

def vars():
	return map(int, input().split())

def array():
	return list(map(int, input().split()))
main()


def solve():
	T = int(input())
	for i in range(T):
		str = input()
		ans = ''
		check = 0
		for i in str:
			if check & 1:
				ans += 'z' if i != 'z' else 'y'
				check = 0
			else:
				ans += 'a' if i != 'a' else 'b'
				check = 1
		print(ans)
solve()


def doit():
	s = input()
	for i in range(len(s)):
		if i & 1 == 0:
			print('b' if s[i] == 'a' else 'a', end='')
		else:
			print('y' if s[i] == 'z' else 'z', end='')
	print('')
T = int(input())
for _ in range(T):
	doit()


def process_str(s):
	string = list(s)
	turn = 0
	for i in range(0, len(string)):
		if turn == 0:
			if string[i] == 'a':
				string[i] = 'b'
			else:
				string[i] = 'a'
		elif string[i] == 'z':
			string[i] = 'y'
		else:
			string[i] = 'z'
		turn = not turn
	return ''.join(string)
res = []
n = int(input())
for i in range(0, n):
	s = input()
	res.append(process_str(s))
for s in res:
	print(s)


def func(l):
	s = ''
	b = True
	for q in l:
		if b and q != 'a':
			s = s + 'a'
			b = False
		elif b and q == 'a':
			s = s + 'b'
			b = False
		elif not b and q != 'z':
			s = s + 'z'
			b = True
		else:
			s = s + 'y'
			b = True
	return s
t = int(input())
for e in range(0, t):
	print(func(str(input())))


for _ in range(int(input())):
	n = input()
	ans = ''
	turn = 1
	for i in n:
		if turn:
			if i == 'a':
				ans += 'b'
			else:
				ans += 'a'
			turn = 0
		else:
			if i == 'z':
				ans += 'y'
			else:
				ans += 'z'
			turn = 1
	print(ans)


import string
alph = string.ascii_lowercase
t = int(input())
ans = []
for i in range(t):
	ans.append('')
	s = input()
	for j in range(len(s)):
		if j % 2 == 0:
			if s[j] != 'a':
				ans[i] += 'a'
			else:
				ans[i] += 'b'
		elif s[j] != 'z':
			ans[i] += 'z'
		else:
			ans[i] += 'y'
for k in range(t):
	print(ans[k])


t = int(input())
for _ in range(t):
	s = input()
	r = []
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] != 'a':
				nc = 'a'
			else:
				nc = 'b'
		elif s[i] != 'z':
			nc = 'z'
		else:
			nc = 'y'
		r.append(nc)
	print(''.join(r))


count = int(input())
ans = list(range(0, count))
i = 0
while i < count:
	a = 0
	b = 1
	inStr = str(input())
	listStr = list(inStr)
	while a < len(inStr):
		if listStr[a] == 'a':
			listStr[a] = 'b'
		else:
			listStr[a] = 'a'
		a = a + 2
	while b < len(inStr):
		if listStr[b] == 'z':
			listStr[b] = 'y'
		else:
			listStr[b] = 'z'
		b = b + 2
	outStr = ''.join(listStr)
	ans[i] = outStr
	i = i + 1
for answer in ans:
	print(answer)


ans = []

def solve(c):
	c = list(c)
	for i in range(len(c)):
		if i % 2 != 0:
			if c[i] != 'z':
				c[i] = 'z'
			else:
				c[i] = 'y'
		elif c[i] != 'a':
			c[i] = 'a'
		else:
			c[i] = 'b'
	ans.append(''.join(c))
n = int(input())
for i in range(n):
	c = input()
	solve(c)
for i in ans:
	print(i)


from sys import maxsize, stdout, stdin, stderr
mod = int(1000000000.0 + 7)

def I():
	return int(stdin.readline())

def lint():
	return [int(x) for x in stdin.readline().split()]

def S():
	return input().strip()

def grid(r, c):
	return [lint() for i in range(r)]
from collections import defaultdict
import math
t = int(input())
for _ in range(t):
	s = input()
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				print('b', end='')
			else:
				print('a', end='')
		elif s[i] == 'z':
			print('y', end='')
		else:
			print('z', end='')
	print()


cases = int(input())
for i in range(0, cases):
	string = input()
	output = ''
	for j in range(0, len(string)):
		if j % 2 == 0:
			if string[j] != 'a':
				output = output + 'a'
			else:
				output = output + 'b'
		elif string[j] != 'z':
			output = output + 'z'
		else:
			output = output + 'y'
	print(output)


import sys, os, io
import math, bisect, operator
(inf, mod) = (float('inf'), 10 ** 9 + 7)
from itertools import groupby, accumulate
from heapq import heapify, heappop, heappush
from collections import deque, Counter, defaultdict
input = iter(sys.stdin.buffer.read().decode().splitlines()).__next__
Neo = lambda : list(map(int, input().split()))
(test,) = Neo()
for i in range(test):
	s = input()
	Ans = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] != 'a':
				Ans += 'a'
			else:
				Ans += 'b'
		elif s[i] != 'z':
			Ans += 'z'
		else:
			Ans += 'y'
	print(Ans)


t = int(input())
for i in range(t):
	s = input()
	c = []
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				c.append('b')
			else:
				c.append('a')
		elif s[i] == 'z':
			c.append('y')
		else:
			c.append('z')
	print(''.join(c))


import sys
import math
import collections
import operator as op
from collections import deque
from math import gcd, inf, sqrt, pi, cos, sin, ceil, log2, floor, log
from bisect import bisect_right, bisect_left, bisect
from functools import reduce
from sys import stdin, stdout, setrecursionlimit
setrecursionlimit(2 ** 20)

def ncr(n, r):
	r = min(r, n - r)
	numer = reduce(op.mul, range(n, n - r, -1), 1)
	denom = reduce(op.mul, range(1, r + 1), 1)
	return numer // denom

def prime_factors(n):
	i = 2
	factors = []
	while i * i <= n:
		if n % i:
			i += 1
		else:
			n //= i
			factors.append(i)
	if n > 1:
		factors.append(n)
	return list(factors)

def isPowerOfTwo(x):
	return x and (not x & x - 1)
MOD = 1000000007
PMOD = 998244353
N = 100000.0 + 1
LOGN = 30
alp = 'abcdefghijklmnopqrstuvwxyz'
T = 1
T = int(stdin.readline())
for _ in range(T):
	s = str(stdin.readline().strip('\n'))
	n = len(s)
	ans = ''
	for i in range(n):
		if i % 2 == 0:
			if s[i] == 'a':
				ans += 'b'
			else:
				ans += 'a'
		elif s[i] == 'z':
			ans += 'y'
		else:
			ans += 'z'
	print(ans)


from ctypes import pointer

def resolve(text: str):
	alph = 'abcdefghijklmnopqrstuvwxyz'
	text = list(text)
	is_alice = True
	alice_pointer = 0
	bob_pointer = len(text) - 1
	new_text = []
	for letter in text:
		alice_pointer = 0
		bob_pointer = len(alph) - 1
		if is_alice:
			while letter == alph[alice_pointer]:
				alice_pointer += 1
			new_text.append(alph[alice_pointer])
			is_alice = False
		else:
			while letter == alph[bob_pointer]:
				bob_pointer -= 1
			new_text.append(alph[bob_pointer])
			is_alice = True
	return ''.join(new_text)
N = int(input())
while N:
	string = input()
	print(resolve(string))
	N -= 1


t = int(input())
for _ in range(t):
	s = input()
	ss = ''
	for i in range(len(s)):
		if i % 2 == 0 and s[i] == 'a':
			ss += 'b'
		elif i % 2 == 0:
			ss += 'a'
		elif i % 2 == 1 and s[i] != 'z':
			ss += 'z'
		elif i % 2 == 1:
			ss += 'y'
	print(ss)


from sys import stdin
input = lambda : stdin.readline().strip()
lin = lambda : list(map(int, input().split()))
iin = lambda : int(input())
main = lambda : map(int, input().split())
from math import ceil, sqrt, factorial, log
from collections import deque
from bisect import bisect_left

def gcd(a, b):
	(a, b) = (max(a, b), min(a, b))
	while a % b != 0:
		(a, b) = (b, a % b)
	return b
mod = 998244353

def solve(we):
	s = list(input())
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	for i in s:
		print(i, end='')
	print()
qwe = 1
qwe = iin()
for _ in range(qwe):
	solve(_ + 1)


def optimize(phrase: str, optimal: str='') -> str:
	for (index, character) in enumerate(phrase):
		if index % 2:
			optimal += 'z' if character != 'z' else 'y'
			continue
		optimal += 'a' if character != 'a' else 'b'
	return optimal

def read_input(filename: str=None) -> None:
	from sys import stdin
	stdin = open(filename) if filename else stdin
	cases = int(stdin.readline())
	while cases:
		cases = cases - 1
		phrase = stdin.readline().strip()
		print(optimize(phrase))

def main():
	read_input()
main()


import math
from math import log
import os
import sys
from io import BytesIO, IOBase
from math import sqrt

def arr_input():
	return list(map(int, input().split()))

def mul_input():
	return map(int, input().split())

def int_inp():
	return int(input())

def solution():
	s = list(input())
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	for k in range(len(s)):
		print(s[k], end='')
	print()
	return

def main():
	testcases = 1
	testcases = int(input())
	for _ in range(testcases):
		solution()
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))

def input():
	return sys.stdin.readline().rstrip('\r\n')
main()


for _ in range(int(input())):
	s = str(input())
	l = list(s)
	n = len(s)
	for i in range(n):
		if i % 2 == 0:
			if l[i] == 'a':
				l[i] = 'b'
			else:
				l[i] = 'a'
		elif l[i] == 'z':
			l[i] = 'y'
		else:
			l[i] = 'z'
	print(''.join(l))


n = int(input())
for i in range(n):
	mot = list(input())
	for lettre in range(0, len(mot), 2):
		if mot[lettre] != 'a':
			mot[lettre] = 'a'
		elif mot[lettre] == 'a':
			mot[lettre] = 'b'
	for lettre in range(1, len(mot), 2):
		if mot[lettre] != 'z':
			mot[lettre] = 'z'
		elif mot[lettre] == 'z':
			mot[lettre] = 'y'
	print(''.join(mot))


import sys
input = lambda : sys.stdin.readline().strip()
t = int(input())
while t:
	t -= 1
	s = list(input())
	n = len(s)
	for i in range(n):
		if i % 2 == 0:
			if s[i] == 'a':
				s[i] = 'b'
			else:
				s[i] = 'a'
		elif s[i] == 'z':
			s[i] = 'y'
		else:
			s[i] = 'z'
	print(''.join(s))


def alice(c):
	if c == 'a':
		return 'b'
	return 'a'

def bob(c):
	if c == 'z':
		return 'y'
	return 'z'
t = int(input())
for _ in range(t):
	temp = input()
	s = ''
	for i in range(len(temp)):
		if i % 2 == 0:
			s = s + alice(temp[i])
		else:
			s = s + bob(temp[i])
	print(s)


def func(l):
	s = ''
	b = True
	for q in l:
		if b:
			if q != 'a':
				s += 'a'
			else:
				s += 'b'
		elif q != 'z':
			s += 'z'
		else:
			s += 'y'
		b = not b
	return s
for _ in range(int(input())):
	print(func(str(input())))


t = int(input())
while t > 0:
	s = input()
	li = []
	for i in s:
		li.append(i)
	for i in range(0, len(li)):
		if i % 2 == 0:
			if li[i] == 'a':
				li[i] = 'b'
			else:
				li[i] = 'a'
		elif li[i] == 'z':
			li[i] = 'y'
		else:
			li[i] = 'z'
	st = ''
	for i in li:
		st += i
	print(st)
	t = t - 1


for i in range(int(input())):
	x = list(str(input()))
	for i in range(len(x)):
		if i % 2 == 0:
			if x[i] == 'a':
				x[i] = 'b'
			else:
				x[i] = 'a'
		elif x[i] == 'z':
			x[i] = 'y'
		else:
			x[i] = 'z'
	print(''.join(x))


for T in range(int(input())):
	s = input()
	lst = [chr(x) for x in range(ord('a'), ord('z') + 1)]
	res = []
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				res.append('b')
			else:
				res.append('a')
		elif s[i] != 'z':
			res.append('z')
		else:
			res.append('y')
	ans = ''
	print(ans.join(res))


def solve(string):
	res = [l for l in string]
	for (i, a) in enumerate(res):
		if i % 2 == 0:
			if a == 'a':
				res[i] = 'b'
			else:
				res[i] = 'a'
		elif a == 'z':
			res[i] = 'y'
		else:
			res[i] = 'z'
	return ''.join(res)
T = int(input())
for _ in range(T):
	print(solve(input()))


for i in range(int(input())):
	s = list(input())
	turn = 1
	for j in range(0, len(s)):
		if turn == 1 and s[j] == 'a':
			s[j] = 'b'
			turn = 2
		elif turn == 1:
			s[j] = 'a'
			turn = 2
		elif turn == 2 and s[j] == 'z':
			s[j] = 'y'
			turn = 1
		elif turn == 2:
			s[j] = 'z'
			turn = 1
	print(''.join(s))


t = int(input())
while t > 0:
	t -= 1
	s = input()
	al = 0
	bob = 25
	p = ''
	for i in range(len(s)):
		if i % 2 == 0:
			als = chr(ord('a') + al)
			if s[i] == als:
				a = al + 1
				als = chr(ord('a') + a)
			p += als
		else:
			bobs = chr(ord('a') + bob)
			if s[i] == bobs:
				b = bob - 1
				bobs = chr(ord('a') + b)
			p += bobs
	print(p)


for _ in range(int(input())):
	s = str(input())
	c = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				c += 'b'
				continue
			c += 'a'
			continue
		if s[i] == 'z':
			c += 'y'
			continue
		c += 'z'
	print(c)


t = int(input())
for _ in range(t):
	s = input()
	ans = ''
	for i in range(len(s)):
		if i % 2 == 0:
			if s[i] == 'a':
				ans += 'b'
				continue
			ans += 'a'
			continue
		if s[i] == 'z':
			ans += 'y'
			continue
		ans += 'z'
	print(ans)


t = int(input())
for test in range(t):
	string = input()
	newStr = ''
	for ind in range(len(string)):
		ele = string[ind]
		if ind % 2 == 0:
			if ele == 'a':
				newStr += 'b'
			else:
				newStr += 'a'
		elif ele == 'z':
			newStr += 'y'
		else:
			newStr += 'z'
	print(newStr)


test_cases = int(input())
res = []
for test in range(test_cases):
	st = input()
	res_st = ''
	for i in range(len(st)):
		if i % 2 == 0:
			if st[i] == 'a':
				res_st += 'b'
			else:
				res_st += 'a'
		elif st[i] == 'z':
			res_st += 'y'
		else:
			res_st += 'z'
	res.append(res_st)
for value in res:
	print(value)


t = int(input())
for _ in range(t):
	n1 = ''
	n = input()
	i = 0
	while i < len(n) - 1:
		if n[i] != 'a':
			n1 = n1 + 'a'
		elif n[i] == 'a':
			n1 = n1 + 'b'
		if n[i + 1] == 'z':
			n1 = n1 + 'y'
		elif n[i + 1] != 'z':
			n1 = n1 + 'z'
		i = i + 2
	if len(n) % 2 == 0:
		print(n1)
	elif n[-1] == 'a':
		print(n1 + 'b')
	else:
		print(n1 + 'a')


for _ in range(int(input())):
	s = input()
	res = []
	for i in range(len(s)):
		if i % 2 == 0:
			ch = 'a'
			if s[i] == 'a':
				ch = 'b'
			res.append(ch)
		else:
			ch = 'z'
			if s[i] == 'z':
				ch = 'y'
			res.append(ch)
	print(''.join(res))


for _ in range(int(input())):
	s = input()
	ans = ''
	for (i, val) in enumerate(s):
		if i % 2 == 0:
			if val != 'a':
				ans += 'a'
			else:
				ans += 'b'
		elif val != 'z':
			ans += 'z'
		else:
			ans += 'y'
	print(ans)


t = int(input())
for _ in range(t):
	s = input()
	ls = list(s)
	for i in range(len(ls)):
		if i % 2 == 0:
			if ls[i] == 'a':
				ls[i] = 'b'
			else:
				ls[i] = 'a'
		elif ls[i] == 'z':
			ls[i] = 'y'
		else:
			ls[i] = 'z'
	print(''.join(ls))


t = int(input())
n = []
for i in range(t):
	s = input()
	l = list(s)
	k = len(l)
	m = ''
	for j in range(k):
		if j % 2 == 0:
			if l[j] != 'a':
				m = m + 'a'
			else:
				m = m + 'b'
		elif l[j] != 'z':
			m = m + 'z'
		else:
			m = m + 'y'
	n.append(m)
for b in range(t):
	print(n[b])


times = int(input().strip())
for t in range(times):
	result = ''
	word = input().strip()
	for i in range(len(word)):
		if i % 2 == 0:
			if word[i] == 'a':
				result += 'b'
			else:
				result += 'a'
		elif word[i] == 'z':
			result += 'y'
		else:
			result += 'z'
	print(result)


from sys import stdin, stdout
import math
from itertools import permutations, combinations
from collections import defaultdict
from collections import Counter
from bisect import bisect_left
import sys
from queue import PriorityQueue
import operator as op
from functools import reduce
import re
mod = 1000000007
iinp = lambda : int(sys.stdin.readline())
inp = lambda : sys.stdin.readline().strip()
strl = lambda : list(inp().strip().split(' '))
intl = lambda : list(map(int, inp().split(' ')))
mint = lambda : map(int, inp().split())
flol = lambda : list(map(float, inp().split(' ')))
flush = lambda : sys.stdout.flush()

def myCode():
	lst = list(inp())
	for i in range(len(lst)):
		if i % 2 == 0:
			if lst[i] == 'a':
				lst[i] = 'b'
			else:
				lst[i] = 'a'
		elif lst[i] == 'z':
			lst[i] = 'y'
		else:
			lst[i] = 'z'
	print(''.join(lst))

def main():
	for t in range(iinp()):
		myCode()
main()


t = int(input())
while t:
	t -= 1
	s = input()
	inc = False
	least = ord('a')
	most = ord('z')
	ans = ''
	for i in s:
		if not inc:
			if ord(i) == least:
				ans += chr(ord(i) + 1)
			else:
				ans += 'a'
		elif ord(i) == most:
			ans += chr(ord(i) - 1)
		else:
			ans += 'z'
		inc = not inc
	print(ans)


x = int(input())
L = [0] * x
for i in range(x):
	h = list(input())
	for j in range(len(h)):
		if j % 2 == 0:
			if h[j] == 'a':
				h[j] = 'b'
			else:
				h[j] = 'a'
		elif h[j] == 'z':
			h[j] = 'y'
		else:
			h[j] = 'z'
	L[i] = h
for g in L:
	print(''.join(g))


for s in [*open(0)][1:]:
	a = 'ab'
	b = 'zy'
	r = ''
	for c in s[:-1]:
		r += a[c == a[0]]
		(a, b) = (b, a)
	print(r)


s = input()
while True:
	try:
		s = input()
		l = ''
		for i in range(len(s)):
			if i & 1:
				if s[i] == 'z':
					l += 'y'
				else:
					l += 'z'
			elif s[i] == 'a':
				l += 'b'
			else:
				l += 'a'
		print(l)
	except:
		break