def word_to_number(word): singles = { "zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9 } teens = { "ten": 10, "eleven": 11, "twelve": 12, "thirteen": 13, "fourteen": 14, "fifteen": 15, "sixteen": 16, "seventeen": 17, "eighteen": 18, "nineteen": 19 } tens = { "twenty": 20, "thirty": 30, "forty": 40, "fifty": 50, "sixty": 60, "seventy": 70, "eighty": 80, "ninety": 90 } parts = word.lower().split() number = 0 if len(parts) == 1: if parts[0] in singles: number = singles[parts[0]] elif parts[0] in teens: number = teens[parts[0]] elif parts[0] in tens: number = tens[parts[0]] elif len(parts) == 2: if parts[0] in tens and parts[1] in singles: number = tens[parts[0]] + singles[parts[1]] elif parts[0] in singles and parts[1] in singles: number = singles[parts[0]] # fall back, rare return number def chess_moves(x, y): if x == 0 and y == 0: return 0 rook = 1 if x == 0 or y == 0 else 2 if (x + y) % 2 != 0: bishop = float('inf') elif x == y or x == -y: bishop = 1 else: bishop = 2 return min(rook, bishop) # --- Main Program --- import sys input_line = sys.stdin.read().strip() parts = input_line.lower().split() try: # Try to parse as numbers like "1 1" if len(parts) == 2 and parts[0].isdigit() and parts[1].isdigit(): x = int(parts[0]) y = int(parts[1]) else: # Otherwise assume it's two words like "twenty three" if len(parts) == 2: x = word_to_number(parts[0]) y = word_to_number(parts[1]) elif len(parts) == 3: # e.g. "twenty one five" → 21, 5 x = word_to_number(" ".join(parts[:2])) y = word_to_number(parts[2]) elif len(parts) == 4: x = word_to_number(" ".join(parts[:2])) y = word_to_number(" ".join(parts[2:])) else: x = y = 0 # fallback except: x = y = 0 # fallback print(chess_moves(x, y))