Today is Chef's birthday. His mom decided to surprise him with a truly fantastic gift: his favourite binary string B. But, unfortunately, all the stocks of binary string B have been sold out, and only a binary string A (A ≠ B) is available in the market.
She purchases the string A and tries to convert it to string B by applying any of following three operations zero or more times.
AND Operation:
She will choose a pair of indices i and j such that i != j and perform following sequence of operations.

-  result = Ai & Aj 
-  Ai = result & Ai 
-  Aj = result & Aj 

OR Operation:
She will choose a pair of indices i and j such that i != j and perform following sequence of operations.

-  result = Ai | Aj 
-  Ai = result | Ai 
-  Aj = result | Aj 

XOR Operation:
She will choose a pair of indices i and j such that i != j and perform following sequence of operations.

-  result = Ai ^ Aj 
-  Ai = result ^ Ai 
-  Aj = result ^ Aj 

Chef's mom is eagerly waiting to surprise him with his favourite gift and therefore, she wants to convert string A to string B as fast as possible. Can you please help her by telling her the minimum number of operations she will require? If it is impossible to do so, then let Chef's mom know about it.

-----Input-----
First line of input contains a single integer T denoting the number of test cases. T test cases follow.
First line of each test case, will contain binary string A.
Second line of each test case, will contain binary string B.

-----Output-----
For each test case, Print "Lucky Chef" (without quotes) in first line and minimum number of operations required to convert string A to sting B in second line if conversion is possible. Print "Unlucky Chef" (without quotes) in a new line otherwise.

-----Constraints-----
- 1 ≤ T ≤ 105
- 1 ≤ |A| ≤ 106
- 1 ≤ |B| ≤ 106
- A != B
- |A| = |B|
- sum of |A| over all test cases does not exceed 106
- sum of |B| over all test cases does not exceed 106

-----Subtasks-----
-  Subtask #1 (40 points) : Sum of |A| & |B| over all test cases does not exceed 103
-  Subtask #2 (60 points) : Sum of |A| & |B| over all test cases does not exceed 106

-----Example-----
Input
2
101
010
1111
1010
Output
Lucky Chef
2
Unlucky Chef

-----Explanation-----
Example case 1.
- Applying XOR operation with indices i = 1 and j = 2. Resulting string will be 011.
- Then, Applying AND operation with indices i = 1 and j = 3. Resulting string will be 010.

Example case 2.
- It is impossible to convert string A to string B.

Source: codechef | Difficulty: MEDIUM
Tags: Bit manipulation

Mathematics


Solutions:
t = int(input())
while t:
	t -= 1
	a = input()
	b = input()
	x = True
	y = False
	ans1 = 0
	ans2 = 0
	for i in range(len(a)):
		x = x and int(a[i])
		y = y or int(a[i])
		if a[i] == '1' and b[i] == '0':
			ans1 += 1
		if a[i] == '0' and b[i] == '1':
			ans2 += 1
	if not x and y:
		print('Lucky Chef')
		ma = max(ans1, ans2)
		print(ma)
	else:
		print('Unlucky Chef')


t = int(input())
while t:
	A = input()
	B = input()
	mp1 = 0
	p1 = 0
	mp0 = 0
	p0 = 0
	for i in range(len(B)):
		if A[i] == B[i] and B[i] == '1':
			p1 += 1
		elif A[i] == B[i] and B[i] == '0':
			p0 += 1
		elif A[i] != B[i] and B[i] == '1':
			mp0 += 1
		else:
			mp1 += 1
	if mp0 + p0 == len(A) or mp1 + p1 == len(A):
		con = False
	elif mp1 + p0 >= mp0 + p0:
		con = True
		op = mp1 - mp0
		mp1 -= op
		op += mp1
	else:
		con = True
		op = mp0 - mp1
		mp0 -= op
		op += mp0
	if con:
		print('Lucky Chef')
		print(op)
	else:
		print('Unlucky Chef')
	t -= 1


for _ in range(int(input())):
	s1 = input()
	s2 = input()
	su1 = 0
	su2 = 0
	for i in range(len(s1)):
		su1 += ord(s1[i]) - ord('0')
		su2 += ord(s2[i]) - ord('0')
	if su1 == 0 and su2 > 0 or (su1 == len(s1) and su2 < len(s1)):
		print('Unlucky Chef')
		continue
	else:
		print('Lucky Chef')
	a = 0
	_0 = 0
	_1 = 0
	for i in range(len(s1)):
		if s1[i] != s2[i]:
			if s1[i] == '0':
				_0 += 1
			else:
				_1 += 1
	a = abs(_0 - _1) + min(_0, _1)
	print(a)


t = int(input())
while t > 0:
	a = input()
	b = input()
	if len(set(list(a))) != 1:
		dist = []
		for (i, j) in zip(a, b):
			if i != j:
				dist.append(i)
		print('Lucky Chef')
		d = dist.count('1')
		e = dist.count('0')
		print(max(d, e))
	else:
		print('Unlucky Chef')
	t -= 1


test = int(input().strip())
for each in range(test):
	A = input().strip()
	B = input().strip()
	e0 = '0' in A
	e1 = '1' in A
	if not (e0 and e1):
		print('Unlucky Chef')
		continue
	n0 = 0
	n1 = 0
	for i in range(len(A)):
		if not A[i] == B[i]:
			if A[i] == '0':
				n0 += 1
			else:
				n1 += 1
	print('Lucky Chef')
	if n0 == n1:
		print(n0)
	elif n0 > n1:
		print(n0)
	else:
		print(n1)


for i in range(0, int(input())):
	a = input()
	b = input()
	c = 0
	d = 0
	if len(a) != len(b):
		print('Unlucky Chef')
		print(1)
	else:
		for i in a:
			if i == '0':
				c = c + 1
			else:
				d = d + 1
		if c == 0 or d == 0:
			print('Unlucky Chef')
		else:
			print('Lucky Chef')
			e = []
			for i in range(0, len(a)):
				if a[i] != b[i]:
					e.append(int(a[i]))
			l1 = e.count(1)
			l0 = e.count(0)
			if l1 > l0:
				print(len(e) - l0)
			else:
				print(len(e) - l1)


T = int(input())
for _ in range(T):
	A = input()
	B = input()
	(A_zero, A_one, miss0, miss1) = (0, 0, 0, 0)
	for (a, b) in zip(A, B):
		if a == '0':
			A_zero += 1
			if b == '1':
				miss1 += 1
		else:
			A_one += 1
			if b == '0':
				miss0 += 1
	xor_count = min(miss0, miss1)
	miss0 -= xor_count
	miss1 -= xor_count
	if miss1 == miss0:
		print('Lucky Chef')
		print(xor_count)
	elif miss1 != 0:
		if A_one == 0:
			print('Unlucky Chef')
		else:
			print('Lucky Chef')
			print(xor_count + miss1)
	elif A_zero == 0:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(xor_count + miss0)


t = int(input())
for _t in range(t):
	A = input()
	B = input()
	(l, c01, c10) = (len(A), 0, 0)
	if A == '0' * l or A == '1' * l:
		print('Unlucky Chef')
		continue
	else:
		for i in range(l):
			(a, b) = (A[i], B[i])
			if a == '0' and b == '1':
				c01 += 1
			if a == '1' and b == '0':
				c10 += 1
		print('Lucky Chef')
		print(abs(c01 - c10) + min(c10, c01))


for t in range(int(input())):
	a = list(input())
	b = list(input())
	zero_present = any(map(lambda x: x == '0', a))
	one_present = any(map(lambda x: x == '1', a))
	one_count = sum(map(lambda x, y: 1 if x == '0' and y == '1' else 0, b, a))
	zero_count = sum(map(lambda x, y: 1 if x == '1' and y == '0' else 0, b, a))
	ans = 0
	if one_count < zero_count:
		zero_count -= one_count
		ans += one_count
		one_count = 0
	else:
		one_count -= zero_count
		ans += zero_count
		zero_count = 0
	ok = True
	if one_count > 0:
		if zero_present:
			ans += one_count
		else:
			ok = False
	elif zero_count > 0:
		if one_present:
			ans += zero_count
		else:
			ok = False
	if not ok:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(ans)


def fun(a, b):
	if '1' not in a or '0' not in a:
		return 'Unlucky Chef'
	at = tuple(a)
	bt = tuple(b)
	a1 = 0
	a0 = 0
	for i in range(len(at)):
		if at[i] != bt[i]:
			if at[i] == '1':
				a1 += 1
			else:
				a0 += 1
	return min(a0, a1) + abs(a0 - a1)
t = int(input())
for i in range(t):
	a = input()
	b = input()
	ans = fun(a, b)
	if ans == 'Unlucky Chef':
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(ans)


T = int(input())
aList = []
bList = []
for i in range(T):
	aList.append(input())
	bList.append(input())
for i in range(T):
	a = aList[i]
	b = bList[i]
	temp = ''
	for j in range(len(a)):
		if a[j] != b[j]:
			temp = temp + a[j]
	oneCount = temp.count('1')
	zeroCount = len(temp) - oneCount
	totalLength = len(temp)
	if oneCount > zeroCount:
		minimum = zeroCount
	else:
		minimum = oneCount
	if oneCount == totalLength:
		if '0' in a:
			print('Lucky Chef')
			print(totalLength)
		else:
			print('Unlucky Chef')
	elif zeroCount == totalLength:
		if '1' in a:
			print('Lucky Chef')
			print(totalLength)
		else:
			print('Unlucky Chef')
	else:
		print('Lucky Chef')
		answer = minimum + (totalLength - 2 * minimum)
		print(answer)


t = int(input())
for _ in range(t):
	a = str(input())
	b = str(input())
	cnt = 0
	cnt1 = 0
	for i in range(len(a)):
		if a[i] == '0' and b[i] == '1':
			cnt += 1
		elif a[i] == '1' and b[i] == '0':
			cnt1 += 1
	x = max(cnt, cnt1)
	if a.count('1') == len(a) or a.count('0') == len(a):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(x)


T = int(input())
for t in range(T):
	A = input()
	B = input()
	N = len(A)
	(c0, c1, c01, c10) = (0, 0, 0, 0)
	for i in range(N):
		if A[i] == '0':
			c0 += 1
			c01 += B[i] == '1'
		else:
			c1 += 1
			c10 += B[i] == '0'
	if c01 and c0 == N or (c10 and c1 == N):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(max(c01, c10))


t = int(input())
for T in range(t):
	c0to1 = 0
	c1to0 = 0
	a = input()
	b = input()
	for i in range(len(a)):
		if a[i] == '1' and b[i] == '0':
			c1to0 = c1to0 + 1
		elif a[i] == '0' and b[i] == '1':
			c0to1 += 1
	c = list(a)
	if '1' in c and '0' not in c or ('0' in c and '1' not in c):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(max(c0to1, c1to0))


for w in range(int(input())):
	i = input()
	f = input()
	i0 = 0
	i1 = 0
	zeroto1 = 0
	up = 0
	down = 0
	move = 0
	diff = 0
	for p in range(len(i)):
		if i[p] == '0':
			i0 = 1
		if i[p] == '1':
			i1 = 1
		if i[p] == '0' and f[p] == '1':
			up += 1
		if i[p] == '1' and f[p] == '0':
			down += 1
	move = min(up, down) + abs(up - down)
	if i0 == 1 and i1 == 1:
		print('Lucky Chef')
		print(move)
	else:
		print('Unlucky Chef')


from bisect import bisect_left, bisect_right
import math
from sys import maxsize
from collections import defaultdict
from bisect import bisect_left
from heapq import heapify, heappush, heappop
from collections import deque
import sys
from math import gcd, sqrt, log10, log2, floor, ceil, sqrt
from collections import deque, defaultdict
input = sys.stdin.readline

def il():
	return [int(a) for a in input().strip().split()]

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

def ii():
	return int(input())

def ot(in_p, *args, e=' '):
	if type(in_p) == list:
		print(*in_p, end=e)
	if type(in_p) == str or type(in_p) == int:
		print(in_p, end=e)
		for l in args:
			print(l, end=e)
	print()

def a_pwr_n(a, n, mod):
	if n == 1:
		return a % mod
	if n % 2 == 0:
		val = a_pwr_n(a, n // 2, mod)
		return val % mod * val % mod
	else:
		return a % mod * a_pwr_n(a, n - 1, mod) % mod

def rg(*ag):
	if len(ag) == 3:
		return range(ag[0], ag[1], ag[2])
	elif len(ag) == 2:
		return range(ag[0], ag[1])
	elif len(ag) == 1:
		return range(ag[0])
	else:
		raise 'invalid input'

def ispal(i, j, st):
	while i <= j:
		if st[i] == st[j]:
			i = i + 1
			j = j - 1
		else:
			return False
	return True
mod = 1000000000 + 7
dx = [-1, -2, 1, 2, 2, -2, -1, 1]
dy = [2, 1, 2, 1, -1, -1, -2, -2]
for _ in range(ii()):
	a = ip()
	b = ip()
	o = 0
	z = 0
	s = set(a)
	if len(s) < 2:
		print('Unlucky Chef')
	else:
		l = len(a)
		for j in range(l):
			if a[j] != b[j]:
				if a[j] == '0':
					z += 1
				else:
					o += 1
		count = abs(z - o) + min(z, o)
		print('Lucky Chef')
		print(count)


try:
	for _ in range(int(input())):
		a = input()
		b = input()
		n = len(a)
		(zeroes, ones) = (0, 0)
		for i in a:
			if i == '0':
				zeroes = 1
			else:
				ones = 1
		if zeroes == 0 or ones == 0:
			print('Unlucky Chef')
		else:
			expected = [0, 0]
			(n1, n2) = (0, 0)
			for i in range(n):
				e = a[i]
				if e == '1' and e != b[i]:
					n1 += 1
				elif e == '0' and e != b[i]:
					n2 += 1
			print('Lucky Chef')
			temp = max(n1, n2)
			print(temp)
except:
	pass


for t in range(int(input())):
	a = input()
	b = input()
	f0 = f1 = c10 = c01 = 0
	for i in range(len(a)):
		if a[i] == '0':
			f0 = 1
			if b[i] == '1':
				c01 += 1
		else:
			f1 = 1
			if b[i] == '0':
				c10 += 1
	if f0 == 0 or f1 == 0:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(min(c10, c01) + abs(c10 - c01))


T = int(input())
while T > 0:
	T -= 1
	A = input()
	B = input()
	p = 0
	q = 0
	o = 0
	z = 0
	for i in range(len(A)):
		if A[i] == B[i]:
			if A[i] == '1' and B[i] == '1':
				o += 1
			elif A[i] == '0' and B[i] == '0':
				z += 1
		elif A[i] == '1' and B[i] == '0':
			p += 1
		elif A[i] == '0' and B[i] == '1':
			q += 1
	if p == q:
		print('Lucky Chef')
		print(p)
	elif p != 0 and q != 0:
		print('Lucky Chef')
		print(max(p, q))
	elif p == 0 and o != 0:
		print('Lucky Chef')
		print(q)
	elif q == 0 and z != 0:
		print('Lucky Chef')
		print(p)
	else:
		print('Unlucky Chef')


def main():
	from sys import stdin, stdout
	for _ in range(int(stdin.readline())):
		a = stdin.readline().strip()
		b = stdin.readline().strip()
		count = 0
		ac1 = a.count('1')
		ac0 = a.count('0')
		a1 = 0
		a0 = 0
		for i in range(len(a)):
			if a[i] != b[i]:
				if a[i] == '1':
					a1 += 1
				else:
					a0 += 1
		if ac1 and ac0:
			stdout.write('Lucky Chef\n' + str(max(a1, a0)) + '\n')
		else:
			stdout.write('Unlucky Chef\n')
main()


import sys
T = int(sys.stdin.readline())
for _ in range(0, T):
	A = list(sys.stdin.readline().rstrip())
	B = list(sys.stdin.readline().rstrip())
	if A[0] == '0':
		firstCharComplement = '1'
	else:
		firstCharComplement = '0'
	if not firstCharComplement in A:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		zeroes = 0
		ones = 0
		mismatches = 0
		for i in range(0, len(A)):
			if A[i] != B[i]:
				if A[i] == '0':
					zeroes += 1
				else:
					ones += 1
		print(zeroes + ones - min(zeroes, ones))


T = int(input())
for tc in range(T):
	A = [int(x) for x in list(input())]
	B = [int(x) for x in list(input())]
	if len(B) != len(A):
		print('Unlucky Chef')
		continue
	ln = len(B)
	if 0 not in A or 1 not in A:
		print('Unlucky Chef')
		continue
	count = 0
	same = 0
	for i in range(ln):
		if A[i] == 0 and B[i] == 1:
			count += 1
		elif A[i] == 1 and B[i] == 0:
			count -= 1
		else:
			same += 1
	if count < 0:
		count *= -1
	swaps = ln - count - same
	if swaps % 2 != 0:
		print('ERROR')
	count += swaps // 2
	print('Lucky Chef')
	print(count)


for i in range(int(input())):
	a = input()
	b = input()
	if '0' not in a and '0' in b or ('1' not in a and '1' in b):
		print('Unlucky Chef')
	else:
		count = 0
		onee = 0
		for j in range(len(a)):
			if a[j] != b[j]:
				if a[j] == '0':
					count += 1
				else:
					onee += 1
		print('Lucky Chef')
		print(max(count, onee))


def check(a):
	x = a[0]
	for n in a:
		if n != x:
			return False
	return True
t = int(input().strip())
while t:
	a = input().strip()
	b = input().strip()
	if check(a):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		xor = 0
		a1 = 0
		b1 = 0
		a0 = 0
		b0 = 0
		for i in range(0, len(a)):
			if a[i] != b[i]:
				xor += 1
			if a[i] == '1':
				a1 += 1
			if b[i] == '1':
				b1 += 1
		oa = abs(b1 - a1)
		xor = (xor - oa) / 2
		print(int(xor + oa))
	t -= 1


import sys
import math
from queue import Queue
import heapq

def main(a, b):
	n1 = False
	n2 = False
	for e in a:
		if e == '1':
			n2 = True
		else:
			n1 = True
	if n2 == False or n1 == False:
		print('Unlucky Chef')
		return
	n1 = 0
	n2 = 0
	for i in range(len(a)):
		e = a[i]
		if e == '1' and e != b[i]:
			n1 += 1
		elif e == '0' and e != b[i]:
			n2 += 1
	print('Lucky Chef')
	print(max(n1, n2))
	return
t = int(input())
for i in range(t):
	a = input()
	b = input()
	main(a, b)


for _ in range(int(input())):
	result = None
	(a, b) = (input(), input())
	if len(a) == len(b):
		c = [x == '1' for (x, y) in zip(a, b) if x != y]
		(zeros, ones) = (len(c) - sum(c), sum(c))
		if ones > zeros and any((x == '0' for x in a)):
			result = ones
		elif zeros > ones and any((x == '1' for x in a)):
			result = zeros
		elif ones == zeros:
			result = ones
	if result is not None:
		print('Lucky Chef')
		print(result)
	else:
		print('Unlucky Chef')


t = int(input())
while t:
	t -= 1
	a = input()
	b = input()
	n = len(a)
	c1a = 0
	c1b = 0
	cdiff = 0
	for i in range(n):
		if a[i] == '1':
			c1a += 1
		if b[i] == '1':
			c1b += 1
		if b[i] != a[i]:
			cdiff += 1
	c1diff = abs(c1a - c1b)
	if c1a == n or c1a == 0:
		print('Unlucky Chef')
	else:
		ctot = c1diff + cdiff
		ctot = ctot // 2
		print('Lucky Chef')
		print(ctot)


t = int(input())
while t > 0:
	a = list(input())
	b = list(input())
	r = 0
	q = 0
	x = a.count('1')
	y = a.count('0')
	z = b.count('0')
	for i in range(len(a)):
		if a[i] == '1' and b[i] == '0':
			r += 1
		if a[i] == '0' and b[i] == '1':
			q += 1
	if x == len(a) or y == len(a):
		print('Unlucky Chef')
	elif x != len(a) and y != len(a) and (z == len(b)):
		print('Lucky Chef')
		print(x)
	else:
		print('Lucky Chef')
		print(max(r, q))
	t = t - 1


T = int(input())
for i in range(T):
	A = input()
	B = input()
	if '0' not in A or '1' not in A:
		print('Unlucky Chef')
	else:
		to1 = 0
		to0 = 0
		for i in range(len(A)):
			if not A[i] == B[i]:
				if A[i] == '0':
					to1 += 1
				else:
					to0 += 1
		moves = max(to1, to0)
		print('Lucky Chef', moves, sep='\n')


t = int(input())
while t:
	countone = 0
	countzero = 0
	flag1 = 0
	flag2 = 0
	str1 = input()
	str2 = input()
	length = len(str1)
	for i in range(length):
		if str1[i] == '1':
			flag1 = 1
		elif str1[i] == '0':
			flag2 = 1
	if flag1 == 1 and flag2 == 1:
		for i in range(length):
			if str1[i] == '1' and str2[i] == '0':
				countone = countone + 1
			elif str1[i] == '0' and str2[i] == '1':
				countzero = countzero + 1
		print('Lucky Chef')
		print(max(countone, countzero))
	else:
		print('Unlucky Chef')
	t = t - 1


def solve(a, b):
	if '0' not in a:
		return 0
	if '1' not in a:
		return 0
	zc = oc = 0
	otz = 0
	zto = 0
	for i in range(len(a)):
		if a[i] == '0':
			zc += 1
			if a[i] != b[i]:
				zto += 1
		elif a[i] == '1':
			oc += 1
			if a[i] != b[i]:
				otz += 1
	return max(otz, zto)
t = int(input())
for i in range(t):
	s1 = input()
	s2 = input()
	ans = solve(s1, s2)
	if ans == 0:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(ans)


for _ in range(int(input())):
	a = input()
	b = input()
	n = len(a)
	if '1' not in a or '0' not in a:
		print('Unlucky Chef')
		continue
	cnt_1 = 0
	cnt_2 = 0
	for i in range(n):
		if a[i] == '0' and b[i] == '1':
			cnt_1 += 1
		elif a[i] == '1' and b[i] == '0':
			cnt_2 += 1
	print('Lucky Chef')
	print(min(cnt_1, cnt_2) + abs(cnt_1 - cnt_2))


def is_possible(a, b):
	return set(a) >= set(b)
t = int(input())
for _ in range(t):
	a = input()
	b = input()
	if not is_possible(a, b):
		print('Unlucky Chef')
		continue
	wrong_ones = sum((1 for (x, y) in zip(a, b) if x == '1' and y == '0'))
	wrong_zeroes = sum((1 for (x, y) in zip(a, b) if x == '0' and y == '1'))
	swaps = sum((1 for (x, y) in zip(a, b) if x != y))
	print('Lucky Chef')
	print(swaps - min(wrong_ones, wrong_zeroes))


def same(a):
	x = a[0]
	for i in range(1, len(a)):
		if x != a[i]:
			return False
	return True
t = int(input())
while t:
	a = input()
	b = input()
	count = 0
	a1 = ''
	if same(a) == True:
		print('Unlucky Chef')
		t -= 1
		continue
	for i in range(len(a)):
		if a[i] != b[i]:
			count += 1
			a1 += a[i]
	if same(a1) == True:
		print('Lucky Chef')
		print(len(a1))
		t -= 1
		continue
	c = a1.count('1')
	d = len(a1) - c
	if c < d:
		print('Lucky Chef')
		print(c + (d - c))
		t -= 1
		continue
	if d < c:
		print('Lucky Chef')
		print(d + (c - d))
		t -= 1
		continue
	if d == c:
		print('Lucky Chef')
		print(d)
		t -= 1
		continue


for _ in range(int(input())):
	(r, a, b) = (None, input(), input())
	if len(a) == len(b):
		c = [x == '1' for (x, y) in zip(a, b) if x != y]
		(z, o) = (len(c) - sum(c), sum(c))
		if o > z and '0' in a:
			r = o
		elif z > o and '1' in a:
			r = z
		elif o == z:
			r = o
	if r is not None:
		print('Lucky Chef')
		print(r)
	else:
		print('Unlucky Chef')


t = int(input())
for i in range(t):
	a = input()
	b = input()
	o = 0
	z = 0
	s = set(a)
	if len(s) < 2:
		print('Unlucky Chef')
	else:
		l = len(a)
		for j in range(l):
			if a[j] != b[j]:
				if a[j] == '0':
					z += 1
				else:
					o += 1
		count = abs(z - o) + min(z, o)
		print('Lucky Chef')
		print(count)


tests = int(input())
for i in range(tests):
	A = input()
	B = input()
	if '0' not in A and '0' in B or ('1' not in A and '1' in B):
		print('Unlucky Chef')
	else:
		ans = 0
		zeroes_required = 0
		ones_required = 0
		length = len(A)
		for j in range(length):
			if A[j] != B[j]:
				if A[j] == '0':
					ones_required += 1
				else:
					zeroes_required += 1
		ans += max(zeroes_required, ones_required)
		print('Lucky Chef')
		print(ans)


t = int(input())
while t != 0:
	t -= 1
	s1 = input()
	s2 = input()
	i = 0
	i0 = 0
	i1 = 0
	while i < len(s1):
		if s1[i] != s2[i]:
			if s1[i] == '0':
				i0 += 1
			else:
				i1 += 1
		i += 1
	k0 = s1.count('0')
	k1 = s1.count('1')
	ans = min(i0, i1) + abs(i1 - i0)
	if i1 > i0:
		if k0 >= 1:
			print('Lucky Chef')
			print(ans)
		else:
			print('Unlucky Chef')
	elif i1 == i0:
		print('Lucky Chef')
		print(ans)
	elif k1 >= 1:
		print('Lucky Chef')
		print(ans)
	else:
		print('Unlucky Chef')


t = input()
t = int(t)
while t > 0:
	a = list(input())
	b = list(input())
	if '1' in b and '1' not in a or ('0' in b and '0' not in a):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		ans = 0
		zero_to_one = 0
		one_to_zero = 0
		i = 0
		n = len(a)
		while i < n:
			if a[i] == '1' and b[i] == '0':
				one_to_zero += 1
			elif a[i] == '0' and b[i] == '1':
				zero_to_one += 1
			i += 1
		ans += min(one_to_zero, zero_to_one)
		ans += max(one_to_zero, zero_to_one) - min(one_to_zero, zero_to_one)
		print(ans)
	t -= 1


import sys
t = int(input())
while t > 0:
	a = input()
	b = input()
	j = 0
	diff_0 = 0
	diff_1 = 0
	diff = 0
	while j < len(a) - 1:
		if a[j] != a[j + 1]:
			diff = 1
			j += 1
			break
		j += 1
	i = 0
	while i < len(a):
		if a[i] != b[i]:
			if a[i] == '1':
				diff_1 += 1
			else:
				diff_0 += 1
		i += 1
	t -= 1
	if diff == 0:
		if max(diff_1, diff_0) == 0:
			print('Lucky Chef')
			print('0')
		else:
			print('Unlucky Chef')
	elif max(diff_1, diff_0) == 0:
		print('Lucky Chef')
		print('0')
	else:
		print('Lucky Chef')
		print(max(diff_1, diff_0))


import math
t = int(input())
for _ in range(0, t):
	a = input()
	b = input()
	s = []
	r = []
	for i in range(0, len(a)):
		s.append(int(a[i]))
		r.append(int(b[i]))
	count1 = 0
	count0 = 0
	e = 0
	f = 0
	for i in range(0, len(s)):
		if s[i] == 0:
			e += 1
		else:
			f += 1
	for i in range(0, len(s)):
		if s[i] != r[i]:
			if s[i] == 0:
				count0 += 1
			else:
				count1 += 1
	l = len(r)
	if e == l or f == l:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(max(count0, count1))


import math
for _ in range(int(input())):
	s = input()
	s1 = input()
	OOOP = 0
	ZOOP = 0
	for i in range(len(s)):
		if s[i] == '1' and s1[i] == '0':
			OOOP += 1
		elif s[i] == '0' and s1[i] == '1':
			ZOOP += 1
	op = 0
	op += min(OOOP, ZOOP)
	OOOP -= op
	ZOOP -= op
	op += ZOOP + OOOP
	if s.count('0') == 0 and s1.count('0') != 0:
		op = -1
	if s.count('1') == 0 and s1.count('1') != 0:
		op = -1
	if op != -1:
		print('Lucky Chef')
		print(op)
	else:
		print('Unlucky Chef')


for i in range(int(input())):
	a = input()
	b = input()
	a1 = a[0]
	temp = 0
	c = list(a)
	if c.count(a1) == len(a):
		print('Unlucky Chef')
	else:
		cnt1 = 0
		cnt2 = 0
		for j in range(len(a)):
			if a[j] == '0' and b[j] == '1':
				cnt1 += 1
			elif a[j] == '1' and b[j] == '0':
				cnt2 += 1
		print('Lucky Chef')
		print(min(cnt1, cnt2) + abs(cnt1 - cnt2))


for t in range(int(input())):
	a = [int(j) for j in input()]
	b = [int(j) for j in input()]
	x = y = c = 0
	if 0 in a and 1 in a:
		for i in range(len(a)):
			if a[i] != b[i]:
				if a[i] == 1:
					x += 1
				else:
					y += 1
		while x > 0 and y > 0:
			c += 1
			x -= 1
			y -= 1
		if x > 0:
			c += x
		if y > 0:
			c += y
		print('Lucky Chef')
		print(c)
	else:
		print('Unlucky Chef')


def fun():
	f = input()
	t = input()
	(zero, one) = (0, 0)
	(noz, noo) = (0, 0)
	for i in range(len(f)):
		if f[i] is '0':
			noz += 1
		else:
			noo += 1
		if f[i] is not t[i]:
			if f[i] is '0':
				zero += 1
			else:
				one += 1
	if not noz or not noo:
		print('Unlucky Chef')
		return
	print('Lucky Chef')
	print(max(zero, one))
t = int(input())
while t:
	fun()
	t -= 1


t = int(input())
for i in range(t):
	a = str(input())
	b = str(input())
	if a == b:
		print('Lucky Chef')
		print(0)
		continue
	z = a.count('0')
	o = a.count('1')
	if z == len(a) or o == len(a):
		print('Unlucky Chef')
	else:
		ones = 0
		zeros = 0
		for (i, j) in enumerate(a):
			if a[i] != b[i]:
				if a[i] == '0':
					zeros += 1
				else:
					ones += 1
		print('Lucky Chef')
		print(max(ones, zeros))


t = int(input())
while t > 0:
	a = input()
	b = input()
	l = len(a)
	count1 = 0
	count0 = 0
	ans = 0
	c = 0
	d = 0
	for i in range(l):
		if a[i] == '1':
			c = c + 1
			if b[i] == '0':
				count1 = count1 + 1
		else:
			d = d + 1
			if b[i] == '1':
				count0 = count0 + 1
	if c == l or d == l:
		print('Unlucky Chef')
	else:
		minimum = min(count1, count0)
		ans = ans + minimum
		left = abs(count1 - count0)
		ans = ans + left
		print('Lucky Chef')
		print(ans)
	t = t - 1


from collections import Counter

def min_operations(a, b):
	is_same = True
	for i in range(len(a)):
		if a[i] != b[i]:
			is_same = False
			break
	if is_same:
		return 'Lucky Chef\n0'
	if len(set(a)) == 1:
		return 'Unlucky Chef'
	(num_zeros, num_ones) = (0, 0)
	for i in range(len(a)):
		if a[i] != b[i]:
			if a[i] == 0:
				num_zeros += 1
			else:
				num_ones += 1
	return 'Lucky Chef\n' + str(max(num_ones, num_zeros))
T = int(input())
for i in range(T):
	a = [int(x) for x in list(input())]
	b = [int(x) for x in list(input())]
	print(min_operations(a, b))


T = int(input())
for t in range(T):
	A = input()
	B = input()
	n = len(A)
	a = 0
	b = 0
	d = 0
	if A == '1' * n or A == '0' * n:
		print('Unlucky Chef')
	else:
		for i in range(n):
			if A[i] != B[i]:
				d += 1
				if A[i] == '1':
					a += 1
				else:
					b += 1
		c = min(a, b)
		ans = d - c
		print('Lucky Chef')
		print(ans)


t = int(input())
while t > 0:
	t -= 1
	a = list(input())
	b = list(input())
	a0 = 0
	a1 = 0
	b0 = 0
	b1 = 0
	mismatch = [0, 0]
	for i in range(len(a)):
		if a[i] == '1':
			a1 += 1
		else:
			a0 += 1
		if b[i] == '1':
			b1 += 1
		else:
			b0 += 1
		if a[i] != b[i]:
			if a[i] == '0':
				mismatch[0] += 1
			else:
				mismatch[1] += 1
	if a1 == 0 and b1 > 0 or (a0 == 0 and b0 > 0):
		print('Unlucky Chef')
		continue
	print('Lucky Chef')
	ans = max(mismatch)
	print(ans)


for _ in range(int(input())):
	a = input()
	b = input()
	(c, d) = (0, 0)
	for i in range(len(a)):
		if a[i] == '0':
			c += 1
		else:
			d += 1
	if c == 0 or d == 0:
		print('Unlucky Chef')
		continue
	(c, d) = (0, 0)
	for i in range(len(a)):
		if a[i] != b[i]:
			if a[i] == '0':
				c += 1
			else:
				d += 1
	c += d - min(c, d)
	print('Lucky Chef')
	print(c)


t = int(input())
for i in range(0, t):
	a = input()
	b = input()
	l = len(a)
	o = 0
	z = 0
	po = 0
	pz = 0
	for j in range(0, l):
		if a[j] == '1':
			po += 1
		else:
			pz += 1
	for j in range(0, l):
		if a[j] == '0' and b[j] == '1':
			z += 1
		elif a[j] == '1' and b[j] == '0':
			o += 1
	x = min(z, o)
	s = x
	z -= x
	o -= x
	if z > 0 and po >= 1:
		s += z
		po += z
		z = 0
	elif o > 0 and pz >= 1:
		s += o
		pz += o
		o = 0
	if o == 0 and z == 0:
		print('Lucky Chef')
		print(s)
	else:
		print('Unlucky Chef')


t = int(input())
while t > 0:
	t = t - 1
	a = str(input())
	b = str(input())
	f = len(a)
	c = a.count('1')
	d = a.count('0')
	e = b.count('1')
	g = b.count('0')
	z = 0
	x = 0
	y = 0
	k = 0
	if f == 1:
		k = 1
	elif a == b:
		k = 2
		y = 1
	elif c == f or d == f:
		k = 1
	else:
		k = 2
		for i in range(0, f):
			if a[i] == '0' and b[i] == '1':
				z = z + 1
			if a[i] == '1' and b[i] == '0':
				x = x + 1
		if z == x:
			y = z
		elif z > x:
			y = z
		else:
			y = x
	if k == 1:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(y)


N = int(input())
gifts = []
for index in range(0, 2 * N):
	gifts.append(input())

def numbers_in_binary(A_string, B_string):
	zero_to_one = 0
	one_to_zero = 0
	zeroesA = 0
	onesA = 0
	zeroesB = 0
	onesB = 0
	for x in range(0, len(A_string)):
		if A_string[x] == '0':
			zeroesA += 1
		elif A_string[x] == '1':
			onesA += 1
		if B_string[x] == '0':
			zeroesB += 1
		elif B_string[x] == '1':
			onesB += 1
		if A_string[x] == '0' and B_string[x] == '1':
			zero_to_one += 1
		elif A_string[x] == '1' and B_string[x] == '0':
			one_to_zero += 1
	return (zero_to_one, one_to_zero, zeroesA, onesA, zeroesB, onesB)

def number_of_ops(zero_to_one, one_to_zero):
	operations = 0
	while zero_to_one != 0 or one_to_zero != 0:
		if zero_to_one > 0 and one_to_zero > 0:
			operations += 1
			zero_to_one -= 1
			one_to_zero -= 1
		elif zero_to_one > 0 and one_to_zero == 0:
			operations += 1
			zero_to_one -= 1
		elif one_to_zero > 0 and zero_to_one == 0:
			operations += 1
			one_to_zero -= 1
	print('Lucky Chef')
	print(operations)
for index in range(0, len(gifts)):
	if index % 2 == 0:
		A = gifts[index]
		B = gifts[index + 1]
		(zero_to_one, one_to_zero, zeroesA, onesA, zeroesB, onesB) = numbers_in_binary(A, B)
		if one_to_zero > 0 and zeroesA == 0 or (zero_to_one > 0 and onesA == 0):
			print('Unlucky Chef')
		else:
			number_of_ops(zero_to_one, one_to_zero)


for j in range(int(input())):
	a = input()
	b = input()
	(c, d) = (0, 0)
	a0 = a.count('0')
	a1 = a.count('1')
	if a0 == len(a) or a1 == len(a):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		for i in range(len(a)):
			if a[i] != b[i]:
				if a[i] == '0':
					c += 1
				else:
					d += 1
		print(max(c, d))


def yes(n):
	print('Lucky Chef')
	print(n)

def no():
	print('Unlucky Chef')
for _ in range(int(input())):
	(a, b) = (input(), input())
	zes = True if '0' in a else False
	ones = True if '1' in a else False
	if len(a) == 1:
		no()
		continue
	ctr = 0
	os = 0
	zs = 0
	for (ai, bi) in zip(a, b):
		if ai != bi:
			if bi == '1':
				os += 1
			else:
				zs += 1
	if zs > 0 and (not zes):
		no()
	elif os > zs:
		if ones:
			yes(os)
		else:
			no()
	else:
		yes(zs)


t = int(input())
for i in range(t):
	zeroes = 0
	ones = 0
	zflag = 0
	oflag = 0
	a = str(input())
	b = str(input())
	for i in range(0, len(a)):
		if a[i] == '0':
			zflag = 1
		if a[i] == '1':
			oflag = 1
		if a[i] != b[i]:
			if b[i] == '1':
				zeroes = zeroes + 1
			else:
				ones = ones + 1
	if oflag == 0 or zflag == 0:
		print('Unlucky Chef')
	else:
		ans = min(zeroes, ones)
		ans = ans + max(zeroes, ones) - min(zeroes, ones)
		print('Lucky Chef')
		print(str(ans))


t = int(input())
for i in range(t):
	a = input()
	b = input()
	if a == b:
		print('Lucky Chef')
		print(0)
	elif a.count('1') == len(a) or a.count('0') == len(b):
		print('Unlucky Chef')
	else:
		count1 = 0
		count2 = 0
		for j in range(0, len(a)):
			if a[j] == '0' and b[j] == '1':
				count1 += 1
			elif a[j] == '1' and b[j] == '0':
				count2 += 1
		print('Lucky Chef')
		print(max(count1, count2))


t = int(input())
while t != 0:
	zero = 0
	one = 0
	t = t - 1
	A = input()
	B = input()
	for i in range(len(A)):
		if A[i] != B[i]:
			if A[i] == '0':
				zero = zero + 1
			else:
				one = one + 1
	if '0' not in A or '1' not in A:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(min(zero, one) + abs(zero - one))


for t in range(int(input())):
	a = input()
	b = input()
	if a == b:
		print('Lucky Chef')
		print(0)
	elif max(a.count('0'), a.count('1')) == len(a):
		print('Unlucky Chef')
	else:
		zeros = 0
		ones = 0
		for (i, j) in zip(a, b):
			if i == j:
				continue
			elif i == '0':
				zeros += 1
			else:
				ones += 1
		print('Lucky Chef')
		print(min(zeros, ones) + abs(zeros - ones))


T = int(input())
ZERO_TO_ONE = -1
ONE_TO_ZERO = 1
LUCKY_CHEF = 'Lucky Chef'
UNLUCKY_CHEF = 'Unlucky Chef'

def compare(A, B):
	for (a, b) in zip(A, B):
		if a == '0' and b == '1':
			yield ZERO_TO_ONE
		if a == '1' and b == '0':
			yield ONE_TO_ZERO
for i in range(0, T):
	A = input()
	B = input()
	ops = list(compare(A, B))
	result = sum(ops)
	if result == 0:
		print(LUCKY_CHEF)
		print(len(ops) // 2)
	elif result > 0 and '0' in A:
		print(LUCKY_CHEF)
		print((len(ops) + result) // 2)
	elif result < 0 and '1' in A:
		print(LUCKY_CHEF)
		print((len(ops) - result) // 2)
	else:
		print(UNLUCKY_CHEF)


def ops(a, b):
	n = len(a)
	azeroes = a.count('0')
	aones = n - azeroes
	bzeroes = b.count('0')
	bones = n - bzeroes
	if azeroes == 0 or aones == 0:
		return 0
	c0 = 0
	c1 = 0
	for i in range(n):
		if a[i] == b[i]:
			continue
		if a[i] == '0':
			c0 += 1
		else:
			c1 += 1
	return max(c0, c1)
t = int(input())
for i in range(t):
	a = input()
	b = input()
	res = ops(a, b)
	if res == 0:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(res)


for z in range(int(input())):
	a = input()
	b = input()
	count0 = 0
	count1 = 0
	if a.count('1') == len(a) or a.count('0') == len(a):
		print('Unlucky Chef')
	else:
		for i in range(len(a)):
			if a[i] != b[i] and b[i] == '0':
				count0 += 1
			elif a[i] != b[i] and b[i] == '1':
				count1 += 1
			else:
				continue
		print('Lucky Chef')
		print(max(count0, count1))


def solve(A, B):
	count = [0, 0]
	(o, moves) = (0, 0)
	for i in range(len(A)):
		if A[i]:
			o += 1
	if o == len(A) or o == 0:
		return 'Unlucky Chef'
	for i in range(len(A)):
		op = not A[i]
		if A[i] == B[i]:
			continue
		if count[op]:
			count[op] -= 1
			moves += 1
		else:
			count[A[i]] += 1
	return 'Lucky Chef\n%d' % (moves + count[0] + count[1])
t = int(input())
getBoolList = lambda : [i == '1' for i in input()]
for _ in range(t):
	(A, B) = (getBoolList(), getBoolList())
	print(solve(A, B))


def main():
	T = int(input())
	result = []
	for x in range(0, T):
		A = input()
		B = input()
		c = 0
		Count1 = 0
		Count0 = 0
		CountA1 = 0
		CountA0 = 0
		for x in range(0, len(A)):
			if A[x] == '0':
				CountA0 = CountA0 + 1
			else:
				CountA1 = CountA1 + 1
			if A[x] == '0' and B[x] == '1':
				Count0 = Count0 + 1
			if A[x] == '1' and B[x] == '0':
				Count1 = Count1 + 1
		if CountA0 == len(A) or CountA1 == len(A):
			result.append('Unlucky Chef')
			continue
		if Count1 > Count0:
			c = Count1
		else:
			c = Count0
		result.append('Lucky Chef')
		result.append(c)
	for x in result:
		print(x)
main()


n = int(input())
for i in range(n):
	a = 0
	b = 0
	f1 = 0
	f2 = 0
	str1 = input()
	str2 = input()
	for j in range(0, len(str1)):
		if str1[j] == '1':
			f1 = 1
		else:
			f2 = 1
		if str1[j] != str2[j]:
			if str1[j] == '1':
				a = a + 1
			else:
				b = b + 1
	if a != 0 and f2 == 0 or (b != 0 and f1 == 0):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(a + b - 2 * min(a, b) + min(a, b))


t = int(input())
for i in range(t):
	a = input()
	b = input()
	n = len(a)
	(z, o) = (0, 0)
	for j in a:
		if j == '0':
			z = 1
		else:
			o = 1
	if z == 0 or o == 0:
		print('Unlucky Chef')
	else:
		(n1, n2) = (0, 0)
		for j in range(n):
			e = a[j]
			if e == '1' and e != b[j]:
				n1 += 1
			elif e == '0' and e != b[j]:
				n2 += 1
		print('Lucky Chef')
		ans = max(n1, n2)
		print(ans)


def zero_and_one_count(string):
	zero = 0
	one = 0
	for char in string:
		if char == '0':
			zero += 1
		else:
			one += 1
	return (zero, one)

def right_position(string1, string2):
	zero = 0
	one = 0
	for i in range(len(string1)):
		zero += string1[i] == string2[i] and string1[i] == '0'
		one += string1[i] == string2[i] and string1[i] == '1'
	return (zero, one)
T = int(input())
for _ in range(T):
	A = input().strip()
	B = input().strip()
	(zero_a, one_a) = zero_and_one_count(A)
	(zero_b, one_b) = zero_and_one_count(B)
	(zero_rght, one_rght) = right_position(A, B)
	ans = min(zero_a, zero_b) - zero_rght
	one_rght += ans
	zero_rght += ans
	ans += one_b - one_rght
	ans += zero_b - zero_rght
	if zero_a == 0 and zero_b != 0 or (one_a == 0 and one_b != 0):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		print(ans)


for _ in range(0, int(input())):
	(a, b) = (input(), input())
	zero = one = 0
	if a.count('1') == len(a) or a.count('0') == len(a):
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		i = 0
		while i < len(a):
			if a[i] != b[i]:
				if a[i] == '1':
					one += 1
				else:
					zero += 1
			i += 1
		print(max(zero, one))


for _ in range(int(input())):
	A = input()
	B = input()
	cnt0 = 0
	cnt1 = 0
	if '0' not in A or '1' not in A:
		print('Unlucky Chef')
		continue
	for i in range(len(A)):
		if A[i] == '0' and B[i] == '1':
			cnt0 += 1
		elif A[i] == '1' and B[i] == '0':
			cnt1 += 1
	print('Lucky Chef')
	print(max(cnt0, cnt1))


import math
t = input()
while int(t) > 0:
	A = str(input())
	B = str(input())
	A = list(A)
	B = list(B)
	c = 0
	if A.count('1') == len(A) or A.count('0') == len(A):
		print('Unlucky Chef')
	else:
		for i in range(0, len(A)):
			if A[i] != B[i]:
				break
		j = int(i)
		z = 0
		o = 0
		while int(j) < len(A):
			if A[j] != B[j] and int(A[j]) == 0:
				z = int(z) + 1
			elif A[j] != B[j] and int(A[j]) == 1:
				o = int(o) + 1
			j = int(j) + 1
		if int(z) < int(o):
			c = int(z)
		else:
			c = int(o)
		c = int(c) + abs(int(z) - int(o))
		print('Lucky Chef')
		print(c)
	t = int(t) - 1


for _ in range(int(input())):
	a = input()
	b = input()
	ali = []
	for i in a:
		ali.append(i)
	if len(set(ali)) == 1:
		print('Unlucky Chef')
	else:
		cnt0 = 0
		cnt1 = 0
		for i in range(len(ali)):
			if a[i] == '0' and b[i] != '0':
				cnt0 += 1
			elif a[i] == '1' and b[i] != '1':
				cnt1 += 1
		print('Lucky Chef')
		print(max(cnt0, cnt1))


import sys
import numpy as np
f = sys.stdin

def getbin(s):
	return np.array([int(x) for x in s if x == '0' or x == '1'])
n = int(f.readline())
for i in range(n):
	x = getbin(f.readline())
	y = getbin(f.readline())
	if np.all(x) and (not np.all(y)):
		print('Unlucky Chef')
	elif np.all(1 - x) and (not np.all(1 - y)):
		print('Unlucky Chef')
	else:
		a = np.sum(x != y)
		b = np.sum(x > y)
		print('Lucky Chef')
		print(max(b, a - b))


for _ in range(int(input())):
	result = None
	(a, b) = ([c == '1' for c in input()] for _ in range(2))
	if len(a) == len(b):
		c = list(map(lambda x: x[0], filter(lambda x: x[0] != x[1], zip(a, b))))
		ones = sum(c)
		zeros = len(c) - ones
		if ones > zeros:
			if not all(a):
				result = ones
		elif ones < zeros:
			if any(a):
				result = zeros
		else:
			result = ones
	if result is not None:
		print('Lucky Chef')
		print(result)
	else:
		print('Unlucky Chef')


t = int(input())
for _ in range(t):
	a = input()
	b = input()
	t = 0
	(za, zb) = (0, 0)
	(oa, ob) = (0, 0)
	n = len(a)
	ans = 0
	for i in range(n):
		if a[i] != b[i]:
			t += 1
		if a[i] == '0':
			za += 1
		else:
			oa += 1
		if b[i] == '0':
			zb += 1
		else:
			ob += 1
	if za == n and ob > 0 or (oa == n and zb > 0):
		print('Unlucky Chef')
	else:
		for i in range(n):
			if za == zb and oa == ob:
				break
			else:
				ans += 1
				t -= 1
				if za > zb:
					za -= 1
					oa += 1
				else:
					za += 1
					oa -= 1
		print('Lucky Chef')
		print(ans + t // 2)


t = int(input())
for i in range(t):
	a = list(input())
	b = list(input())
	l = len(a)
	ctr0 = 0
	ctr1 = 0
	for i in range(0, l):
		if a[i] != b[i]:
			if a[i] == '0':
				ctr0 += 1
			else:
				ctr1 += 1
	ctr = max(ctr0, ctr1)
	if '1' in a and '0' in a:
		print('Lucky Chef')
		print(ctr)
	else:
		print('Unlucky Chef')


def main():
	testCases = int(input())
	results = []
	for i in range(testCases):
		a = input()
		b = input()
		a0 = 0
		a1 = 0
		a0_1 = 0
		a1_0 = 0
		for j in range(len(a)):
			aj = a[j]
			bj = b[j]
			if aj == bj:
				if aj == '0':
					a0 += 1
				else:
					a1 += 1
			elif aj == '0':
				a0_1 += 1
			else:
				a1_0 += 1
		if a0_1 != 0 and a1_0 != 0:
			results.append('Lucky Chef')
			results.append(a0_1 + a1_0 - min(a0_1, a1_0))
		elif a0_1 != 0 and a1 != 0:
			results.append('Lucky Chef')
			results.append(a0_1)
		elif a1_0 != 0 and a0 != 0:
			results.append('Lucky Chef')
			results.append(a1_0)
		else:
			results.append('Unlucky Chef')
	for i in results:
		print(i)
main()


for _ in range(int(input())):
	s1 = input()
	s2 = input()
	cnt0 = 0
	cnt1 = 0
	oc1 = s1.count('1')
	zc1 = s1.count('0')
	from math import ceil
	oc2 = s2.count('1')
	zc2 = s2.count('0')
	n = len(s1)
	if zc1 == n or oc1 == n:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		for i in range(len(s1)):
			if s1[i] != s2[i]:
				if s1[i] == '0':
					cnt0 += 1
				else:
					cnt1 += 1
		print(max(cnt0, cnt1))


T = int(input())
for t in range(T):
	s1 = list(map(int, list(input())))
	s2 = list(map(int, list(input())))
	s3 = map(lambda x, y: x ^ y, s1, s2)
	n1 = sum(s1)
	n2 = sum(s2)
	n3 = sum(s3)
	l1 = len(s1)
	if n1 == 0 or n1 == l1:
		print('Unlucky Chef')
	else:
		print('Lucky Chef')
		d = abs(n2 - n1)
		print((n3 + d) // 2)