Problem:
 Score : 100 points    Problem Statement An uppercase or lowercase English letter \alpha will be given as input.
If \alpha is uppercase, print A ; if it is lowercase, print a .      Constraints  \alpha is an uppercase ( A - Z ) or lowercase ( a - z ) English letter.         Input Input is given from Standard Input in the following format:  α       Output If \alpha is uppercase, print A ; if it is lowercase, print a .        Sample Input 1 B      Sample Output 1 A  B is uppercase, so we should print A .       Sample Input 2 a      Sample Output 2 a  a is lowercase, so we should print a .

Solution (Python):
import sys
import numpy as np
from math import ceil
from collections import defaultdict as D

def S(): return sys.stdin.readline().rstrip().split(' ')
def Ss(): return list(S())
def I(): return _I(Ss())
def Is(): return list(I())
def _I(ss): return map(int, ss) if len(ss) > 1 else int(ss[0])

c = S()[0]
print('A' if c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' else 'a')

Solution (Python):
S=input()
if S.upper()==S:
  print("A")
else:
  print("a")

Solution (Python):

a = str(input())

if ord('A') <= ord(a) <= ord('Z'):
    print('A')
else:
    print('a')

Solution (Python):
a=input()

if a.islower():
    print("a")
elif a.isupper():
    print("A")

Solution (Python):
a = input()

if a.islower():
    print('a')
else:
    print('A')

Solution (Python):
alp = input()

if 'A' <= alp and alp <= 'Z':
  print('A')
else:
  print('a')

Solution (Python):
alpha=input()
print("a" if alpha.islower() else "A")

Solution (Python):
alpha=input()
Cap=["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"]
if alpha in Cap:
    print("a")
else:
    print("A")

Solution (Python):
if str.isupper(input())==True:
    print("A")
else:
    print("a")

Solution (Python):
s=input()
if s.isupper():
    print('A')
else:
    print('a')

Solution (Python):
s = input()
if s.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a = input()
if a.islower():
    print("a")
else:
    print("A")

Solution (Python):
a = input()
print('A' if a.isupper() else 'a')

Solution (Python):
def solve(string):
    return "A" if ord(string) < ord('a') else "a"


if __name__ == '__main__':
    import sys
    print(solve(sys.stdin.read().strip()))

Solution (Python):
s=input()
if(s.isupper()==True):
  print('A')
else:
  print('a')

Solution (Python):
a = str(input())
if a.islower():
    print('a')
else:
    print('A')

Solution (Python):
a = input()
print('A' if a.isupper() else 'a')

Solution (Python):
s = [chr(i) for i in range(97, 97+26)]
l = [chr(i) for i in range(65, 65+26)]
w = input()

if w in s:
  print('a')
if w in l:
  print('A')

Solution (Python):
s = input()
moji = 'abcdefghijklmnopqrstuvwxyz'
tmp = 0
for i in range(len(moji)):
  if s == moji[i]:
    tmp = 1
if tmp == 0:
  print('A')
else:
  print('a')

Solution (Python):

N = str(input().rstrip())
chr = ord(N)
if  chr > 64 and chr < 91:
    print("A")
elif chr > 86 and chr < 123:
    print("a")
else:
    pass

Solution (Python):
a = input()
if a.islower():
    print('a')
else:
    print('A')

Solution (Python):
alpha = input()
if str.isupper(alpha):
  print('A')
else:
  print('a')

Solution (Python):
α = str(input())
if α.isupper():
    print('A')
else:
    print('a')

Solution (Python):
α = str(input())
if α.isupper():
    print('A')
elif α.islower():
    print('a')

Solution (Python):
alpha = str(input())
if alpha.isupper():
  print("A")
else:
  print("a")

Solution (Python):
alpa = str(input())
if alpa.isupper():
    print("A")
else :
     print("a")

Solution (Python):
a=input()
if(a.islower()==True):
    print("a")
else:
    print("A")

Solution (Python):
a = input()
if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
L = input()
if L.isupper():
    print('A')
else:
    print('a')

Solution (Python):
s = input()

ascii_atoz = [chr(i) for i in range(97, 97+26)]

if s in ascii_atoz:
    print('a')
else:
    print('A')

Solution (Python):
s = input()
if 65<=ord(s)<=90:
  print("A")
else:
  print("a")

Solution (Python):
alpha = input()
if alpha.islower():
    print('a')
else:
    print('A')

Solution (Python):
a = input() 
print('a' if a.islower() else 'A')

Solution (Python):
a = input()
if a.isupper():
    print("A")
elif a.islower():
    print("a")
else:
    pass

Solution (Python):


alpha = input()

if alpha.isupper():
    print('A')

else:
    print('a')

Solution (Python):
S = input()
if S.isupper():
  print("A")
else:
  print("a")

Solution (Python):
a = input()

if a.islower():
    print("a")
elif a.isupper():
    print("A")

Solution (Python):
import string
a = input()
if a in string.ascii_uppercase:
    print("A")
else:
    print("a")

Solution (Python):
n = input()

if ord(n) >= 65 and ord(n) <= 90:
    print("A")
else:
    print("a")

Solution (Python):
from string import *
a = input()
if a in ascii_lowercase:
    print('a')
else:
    print('A')

Solution (Python):
a = input()
if a == a.lower():
    print("a")
else:
    print("A")

Solution (Python):
a = input()
if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
x=input()
if x>="a" :
  print("a")
else :
  print("A")

Solution (Python):
a = input()

oomoji = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
komoji = "abcdefghijklmnopqrstuvwxyz"

ans = "error"

if a in oomoji:
    ans = "A"
if a in komoji:
    ans = "a"

print(ans)

Solution (Python):
a=input()
if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a = input()

if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
s=str(input())
if s.isupper()==True:
  print("A")
else:
  print("a")

Solution (Python):
x = input()
print('A') if x.isupper() else print('a')

Solution (Python):
x = input()
if x.isupper() == True:
	print('A')
else:
	print('a')

Solution (Python):
import re
c = input()
if re.match(r"[a-z]", c):
  print("a")
else:
  print("A")

Solution (Python):
ini = lambda : int(input())
inm = lambda : map(int,input().split())
inl = lambda : list(map(int,input().split()))
gcd = lambda x,y : gcd(y,x%y) if x%y else y
a = input()
if ord(a) < ord('a'):
        print('A')
else:
        print('a')

Solution (Python):
import re

t = input()

pattern = r'[a-z]'

repattern = re.compile(pattern)

result = repattern.match(t)

if result:
    print('a')
else:
    print('A')

Solution (Python):
N=input()
if N==N.upper():
  print('A')
else :
  print('a')

Solution (Python):
s = input().rstrip()
if s.isupper() == True:
	print("A")
elif s.islower() == True:
	print("a")

Solution (Python):
a = input()
if a.isupper():
  print('A')
else:
  print('a')

Solution (Python):
a = input()

print('A' if a.isupper() else 'a')

Solution (Python):
a = input()
if str.isupper(a):
    print("A")
else:
    print("a")

Solution (Python):
a=input()

print('a' if a.islower() else 'A')

Solution (Python):
a = input()
print("a" if a.islower() else "A")

Solution (Python):
A = [chr(i) for i in range(97, 97+26)]
a = [chr(i) for i in range(65, 65+26)]

s = input()

if s in A:
  print("a")
else:
  print("A")

Solution (Python):
a = input()

if a.isupper():
    print("A")
else:
    print("a")

Solution (Python):
import re

def resolve():
    alpha = input()

    ans = "A" if re.match(r'[A-Z]', alpha) is not None else "a"
    print(ans)

if __name__ == "__main__":
    resolve()

Solution (Python):
data=input()
if data.isupper():
    print("A")
else:
    print("a")

Solution (Python):
n=input()
if n.isupper():
    print('A')
else:
    print('a')

Solution (Python):
s = input()

if s == s.upper():
    print('A')
else:
    print('a')

Solution (Python):
a = input()
if a.islower():
  print("a")
else:
  print("A")

Solution (Python):





































global FLAG_LOG
FLAG_LOG = False


def log(value):
    
    FLAG_LOG = False
    if FLAG_LOG:
        print(str(value))


def calculation(lines):
    A = lines[0]
    
    
    
    
    
    
    
    
    
    

    result = 'A'
    if A in 'abcdefghijklmnopqrstuvwxyz':
        result = 'a'

    return [result]



def get_input_lines(lines_count):
    lines = list()
    for _ in range(lines_count):
        lines.append(input())
    return lines



def get_testdata(pattern):
    if pattern == 1:
        lines_input = ['B']
        lines_export = ['A']
    if pattern == 2:
        lines_input = ['a']
        lines_export = ['a']
    return lines_input, lines_export



def get_mode():
    import sys
    args = sys.argv
    global FLAG_LOG
    if len(args) == 1:
        mode = 0
        FLAG_LOG = False
    else:
        mode = int(args[1])
        FLAG_LOG = True
    return mode



def main():
    import time
    started = time.time()
    mode = get_mode()
    if mode == 0:
        lines_input = get_input_lines(1)
    else:
        lines_input, lines_export = get_testdata(mode)

    lines_result = calculation(lines_input)

    for line_result in lines_result:
        print(line_result)

    
    
    
    
    
    
    
    
    
    
    



if __name__ == '__main__':
    main()

Solution (Python):
s = input()
if s == s.lower():
    print('a')
else:
    print('A')

Solution (Python):
x = input()
print("a") if "a" <= x <= "z" else print("A")

Solution (Python):



alpha = input()
import re

pattern1 = r"[A-Z]"
p1 = re.compile(pattern1)

if p1.match(alpha) is not None:
    print('A')
else:
    print('a')

Solution (Python):
a = input()
if 97 <= ord(a) <= 122:
    print('a')
elif 65 <= ord(a) <= 90:
    print('A')

Solution (Python):
a = input()
if a == a.lower():
  print('a')
else:
  print('A')

Solution (Python):
x = input()
if x.isupper():
  print("A")
else:
  print("a")

Solution (Python):
x = input()

if x in ["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"]:
  print('a')
else:
  print('A')

Solution (Python):
alpha = ord(input())
if alpha <= 90:
    print("A")
else:
    print("a")

Solution (Python):
a = input()

if a.isupper():
	print("A")
else:
	print("a")

Solution (Python):
s = input()
if s == s.upper(): print("A")
else: print("a")

Solution (Python):
a = input()
if 'a'<= a[0] :
    print("a")
else:
    print("A")

Solution (Python):
a = input()
print('a' if a.islower() else 'A')

Solution (Python):
alpha = input()
if 'a' <= alpha <= 'z':
  print('a')
else:
  print('A')

Solution (Python):
α = input()
list = 'abcdefghijklmnopqrstuvwxyz'
if list.find(α) != -1:
    print('a')
else:
    print('A')

Solution (Python):
import sys
i = input()
if not ( i.isupper() or i.islower() ): sys.exit()

if i.isupper(): print('A')
if i.islower(): print('a')

Solution (Python):
a = input()
if a.upper() == a:
    print('A')
else:
    print('a')

Solution (Python):
alpha = ord(input())

if alpha >= 97:
    print('a')
else:
    print('A')

Solution (Python):


def main():

    alpha = str(input())

    if alpha.isupper():
        ans = 'A'

    else:
        ans = 'a'

    print(ans)


if __name__ == "__main__":
    main()

Solution (Python):
letter=input()
if letter==letter.upper():
	print("A")
else:
	print("a")

Solution (Python):
a=str(input())
if (a.isupper()):
    print('A')
else:
    print('a')

Solution (Python):



s = input()

if s.isupper():
    print("A")
else:
    print("a")

Solution (Python):

from collections import defaultdict, Counter
from itertools import product, groupby, count, permutations, combinations
from math import pi, sqrt
from collections import deque
from bisect import bisect, bisect_left, bisect_right
from string import ascii_lowercase
from functools import lru_cache
import sys
sys.setrecursionlimit(10000)
INF = float("inf")
YES, Yes, yes, NO, No, no = "YES", "Yes", "yes", "NO", "No", "no"
dy4, dx4 = [0, 1, 0, -1], [1, 0, -1, 0]
dy8, dx8 = [0, -1, 0, 1, 1, -1, -1, 1], [1, 0, -1, 0, 1, 1, -1, -1]


def inside(y, x, H, W):
    return 0 <= y < H and 0 <= x < W


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


def sum_of_arithmetic_progression(s, d, n):
    return n * (2 * s + (n - 1) * d) // 2


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


def lcm(a, b):
    g = gcd(a, b)
    return a / g * b


def solve():
    a = input()
    if a.isupper():
        print("A")
    else:
        print("a")


def main():
    solve()


if __name__ == '__main__':
    main()

Solution (Python):
s = input()

if s == s.lower():
    print("a")
else:
    print("A")

Solution (Python):
inp = input()
if inp.islower():
    print("a")
else:
    print("A")

Solution (Python):
print('A'if(a:=input())==a.upper()else'a')

Solution (Python):
import math
import sys
from collections import Counter
readline = sys.stdin.readline


def main():
    s = readline().rstrip()
    print('A' if s.isupper() else 'a')


if __name__ == '__main__':
    main()

Solution (Python):
s = input()

if s.isupper():
    ans = 'A'
else:
    ans = 'a'
print(ans)

Solution (Python):


from typing import *
import itertools
import math
import sys

INF = float('inf')


def solve(C: str):
    return 'a' if C.islower() else 'A'


def main():

    sys.setrecursionlimit(10 ** 6)

    print(solve(input()))


if __name__ == '__main__':
    main()

Solution (Python):
import string
ch = input()
if ch in string.ascii_lowercase:
    print('a')
else:
    print('A')

Solution (Python):
s = input()
if s in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
  print('A')
else:
  print('a')

Solution (Python):
alpha = input()

if alpha.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a = input()
print('a' if a.islower() else 'A')

Solution (Python):
moji = input()
if moji.isupper():
    print('A')
else:
    print('a')

Solution (Python):
x = input()

if x.isupper():
	print("A")
else:
  	print("a")

Solution (Python):
alph = input()
if alph.isupper():
    print("A")
else:
    print("a")

Solution (Python):
print("A" if ord(input()) < 97 else "a")

Solution (Python):
S=input()
print("a" if S.islower() else "A")

Solution (Python):
a = input()

if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
print("A" if ord(input()) < 97 else "a")

Solution (Python):
X=str(input())

if X.isupper():
	print("A")
else:
	print("a")

Solution (Python):
alpha = ord(input())
if alpha <= 90:
    print("A")
else:
    print("a")

Solution (Python):


a = str(input())

if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a=input()

if(a.isupper()):
	print("A")
else:
	print("a")

Solution (Python):
a = input()
 
if a == a.upper():
	print('A')
else:
	print('a')

Solution (Python):
a = input()
ans = a.upper()
if a == ans:
  print("A")
else:
  print("a")

Solution (Python):
a = input()
if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a = input()

if a.isupper():
    print("A")
else:
    print("a")

Solution (Python):
a = input()
if a >= "a":
    print("a")
else:
    print("A")

Solution (Python):
a=input()
print("A" if a.lower()!=a else "a")

Solution (Python):
a = input()
if a.isupper():
    print("A")
else:
    print("a")

Solution (Python):
spam = input()
if spam == spam.upper():
    print('A')
else:
    print('a')

Solution (Python):
s=input()
a=list('sadfghjklqwertyuiopzxcvbnm')
b=list('QWERTYUIOPASDFGHJKLZXCVBNM')
if s in b:
  print("A")
else:
  print("a")

Solution (Python):
alp = input()

if alp in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
    print('A')
else:
    print('a')

Solution (Python):
a = input()
if a in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
    print('A')
else:
    print('a')

Solution (Python):
a = input()
alp = ["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"]
if a in  alp:
    print('a')
else:
    print('A')

Solution (Python):
alpha = input()
if alpha.isupper():
    print('A')
else:
    print('a')

Solution (Python):
class henkan:

    def __init__(self, a):

        if(a.islower()):
            henkan.upper1(a)
        else:
            henkan.lower1(a)
    
    def upper1(a):
        print("a")
    
    def lower1(a):
        print("A")



a = input()
henkan(a)

Solution (Python):
X = input()
if X.isupper():
  print("A")
else:
  print("a")

Solution (Python):
s=input()

if  s.isupper()==True:
	print("A")

else:
  	print("a")

Solution (Python):
from functools import reduce
from fractions import gcd
import math
import bisect
import itertools
import sys
input = sys.stdin.readline
INF = float("inf")



def main():
    S = input()[:-1]
    if S.isupper():
        print("A")
    else:
        print("a")


if __name__ == '__main__':
    main()

Solution (Python):
s = input()

if s.isupper():
    print('A')
else:
    print('a')

Solution (Python):
a=input()
upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if a in upper:
    print("A")
else:
    print("a")

Solution (Python):
S=input()
if S.isupper() :
    print("A")
else :
    print("a")

Solution (Python):
x = input()
y = x.upper()
if y == x:
  print("A")
else:
  print("a")

Solution (Python):
s=input()
if s.isupper():print("A")
else: print("a")

Solution (Python):
C = str(input())
ans = "A"
alpha = "abcdefghijklmnopqrstuvwxyz"

for i in alpha:
    if C == i:
        ans = "a"
        break

print(ans)

Solution (Python):
s = input()
print('a' if ord(s) >= 97 else 'A')

Solution (Python):
a = input()
if a.isupper():
    print('A')
else:
    print('a')

Solution (Python):
import sys
import numpy as np
from heapq import heappush, heappop 
from bisect import bisect_left as bi_l, bisect_right as bi_r
from collections import deque, Counter, defaultdict
from itertools import combinations, product
inf = float('inf')
MOD = 10**9+7



class NumberTheory():
  def __init__(self, n=2*10**6, numpy=True):
    self.n = n
    self.np_flg = numpy 
    self.is_prime_number, self.prime_numbers = self.sieve_of_eratosthenes(n)
  
  def sieve_of_eratosthenes(self, n):
    if self.np_flg:
      sieve = np.ones(n+1, dtype=np.int64); sieve[:2] = 0
      for i in range(2, int(n**.5)+1):
        if sieve[i]: sieve[i*2::i] = 0
      prime_numbers = np.flatnonzero(sieve)
    else:
      sieve = [1] * (n+1); sieve[0] = sieve[1] = 0
      for i in range(2, int(n**.5)+1):
        if not sieve[i]: continue
        for j in range(i*2, n+1, i): sieve[j] = 0
      prime_numbers = [i for i in range(2, n+1) if sieve[i]]
    return sieve, prime_numbers 

  def prime_factorize(self, n):
    res = dict()
    if n < 2: return res
    border = int(n**.5)
    for p in self.prime_numbers:
      if p > border: break
      while n % p == 0: res[p] = res.get(p, 0)+1; n //= p
      if n == 1: return res
    res[n] = 1; return res

  def prime_factorize_factorial(self, n):
    res = dict()
    for i in range(2, n+1):
      for p, c in self.prime_factorize(i).items(): res[p] = res.get(p, 0)+c
    return res
  
  @staticmethod
  def gcd(a, b): return gcd(b, a%b) if b else abs(a)

  @staticmethod
  def lcm(a, b): return abs(a // gcd(a, b) * b)

  @staticmethod
  def find_divisors(n):
    divisors = []
    for i in range(1, int(n**.5)+1):
      if n%i: continue
      divisors.append(i)
      j = n // i
      if j != i: divisors.append(j)
    return divisors
  
  @staticmethod
  def base_convert(n, b): 
    if not n: return '0'
    res = ''
    while n:
      n, r = divmod(n, b)
      if r < 0: n += 1; r -= b
      res += str(r)
    return res[::-1]


class UnionFind():
  def __init__(self, n=10**6):
    self.root = list(range(n))
    self.height = [0] * n 
    self.size = [1] * n 
  
  def find_root(self, u):
    if self.root[u] == u: return u
    self.root[u] = self.find_root(self.root[u])
    return self.root[u]
  
  def unite(self, u, v):
    ru = self.find_root(u)
    rv = self.find_root(v)
    if ru == rv: return 
    hu = self.height[ru]
    hv = self.height[rv]
    if hu >= hv:
      self.root[rv] = ru 
      self.size[ru] += self.size[rv]
      self.height[ru] = max(hu, hv+1)
    else:
      self.root[ru] = rv 
      self.size[rv] += self.size[ru]


class Combinatorics():
  def __init__(self, N=10**9, n=10**6, mod=10**9+7, numpy=True):
    self.mod = mod
    self.nCr = dict()
    self.np_flg=numpy
    self.make_mod_tables(N, n)

  sys.setrecursionlimit(10**6)
  def choose(self, n, r, mod=None): 
    if r > n or r < 0: return 0
    if r == 0: return 1
    if (n, r) in self.nCr: return self.nCr[(n, r)]
    if not mod:
      self.nCr[(n, r)] = (self.choose(n-1, r) + self.choose(n-1, r-1))
    else:
      self.nCr[(n, r)] = (self.choose(n-1, r, mod) + self.choose(n-1, r-1, mod)) % mod
    return self.nCr[(n,r)]
  
  def cumprod(self, a):
    p = self.mod
    l = len(a); sql = int(np.sqrt(l)+1)
    a = np.resize(a, sql**2).reshape(sql, sql)
    for i in range(sql-1): a[:, i+1] *= a[:, i]; a[:, i+1] %= p
    for i in range(sql-1): a[i+1] *= a[i, -1]; a[i+1] %= p
    return np.ravel(a)[:l]

  def make_mod_tables(self, N, n):
    p = self.mod
    if self.np_flg:
      fac = np.arange(n+1); fac[0] = 1; fac = self.cumprod(fac)
      ifac = np.arange(n+1, 0, -1); ifac[0] = pow(int(fac[-1]), p-2, p)
      ifac = self.cumprod(ifac)[n::-1]
      n_choose = np.arange(N+1, N-n, -1); n_choose[0] = 1;
      n_choose[1:] = self.cumprod(n_choose[1:])*ifac[1:n+1]%p
    else:
      fac = [None]*(n+1); fac[0] = 1
      for i in range(n): fac[i+1] = fac[i]*(i+1)%p
      ifac = [None]*(n+1); ifac[n] = pow(fac[n], p-2, p)
      for i in range(n, 0, -1): ifac[i-1] = ifac[i]*i%p
      n_choose = [None] * (n+1); n_choose[0] = 1
      for i in range(n): n_choose[i+1] = n_choose[i]*(N-i)%p
      for i in range(n+1): n_choose[i] = n_choose[i]*ifac[i]%p
    self.fac, self.ifac, self.mod_n_choose = fac, ifac, n_choose


def z_algorithm(s):
  n = len(s)
  a = [0] * n; a[0] = n
  l = r = -1
  for i in range(1, n):
    if r >= i: a[i] = min(a[i-l], r-i)
    while i + a[i] < n and s[i+a[i]] == s[a[i]]: a[i] += 1
    if i+a[i] >= r: l, r = i, i+a[i]
  return a


class ABC001():
  def A():
    h1, h2 = map(int, sys.stdin.read().split())
    print(h1-h2)

  def B(): pass
  def C(): pass 
  def D(): pass 


class ABC002():
  def A():
    x, y = map(int, sys.stdin.readline().split())
    print(max(x, y))

  def B():
    vowels = set('aeiou')
    s = sys.stdin.readline().rstrip() 
    t = ''
    for c in s:
      if c in vowels: continue 
      t += c 
    print(t)

  def C():
    *coords, = map(int, sys.stdin.readline().split())
    def triangle_area(x0, y0, x1, y1, x2, y2):
      x1 -= x0; x2 -= x0; y1 -= y0; y2 -= y0;
      return abs(x1*y2 - x2*y1) / 2
    print(triangle_area(*coords))

  def D():
    n, m = map(int, sys.stdin.readline().split())
    edges = set()
    for _ in range(m):
      x, y = map(int, sys.stdin.readline().split())
      x -= 1; y -= 1
      edges.add((x, y))
    cand = []
    for i in range(1, 1<<n):
      s = [j for j in range(n) if i>>j & 1]
      for x, y in combinations(s, 2):
        if (x, y) not in edges: break
      else:
        cand.append(len(s))
    print(max(cand))


class ABC003():
  def A():
    n = int(sys.stdin.readline().rstrip())
    print((n+1)*5000)

  def B():
    atcoder = set('atcoder')
    s, t = sys.stdin.read().split()
    for i in range(len(s)):
      if s[i] == t[i]: continue
      if s[i] == '@' and t[i] in atcoder: continue 
      if t[i] == '@' and s[i] in atcoder: continue
      print('You will lose')
      return 
    print('You can win')

  def C():
    n, k, *r = map(int, sys.stdin.read().split())
    res = 0
    for x in sorted(r)[-k:]:
      res = (res+x) / 2
    print(res)

  def D(): pass 


class ABC004():
  def A():
    print(int(sys.stdin.readline().rstrip())*2)

  def B():
    c = [sys.stdin.readline().rstrip() for _ in range(4)]
    for l in c[::-1]:
      print(l[::-1])

  def C():
    n = int(sys.stdin.readline().rstrip())
    n %= 30
    res = list(range(1, 7))
    for i in range(n):
      i %= 5
      res[i], res[i+1] = res[i+1], res[i]
    print(''.join(map(str, res)))

  def D(): pass 


class ABC005():
  def A():
    x, y = map(int, sys.stdin.readline().split())
    print(y//x)

  def B():
    n, *t = map(int, sys.stdin.read().split())
    print(min(t))

  def C():
    t = int(sys.stdin.readline().rstrip())
    n = int(sys.stdin.readline().rstrip())
    a = [int(x) for x in sys.stdin.readline().split()]
    m = int(sys.stdin.readline().rstrip())
    b = [int(x) for x in sys.stdin.readline().split()]
    i = 0
    for p in b:
      if i == n: print('no'); return 
      while p-a[i] > t:
        i += 1
        if i == n: print('no'); return 
      if a[i] > p: print('no'); return 
      i += 1
    print('yes')

  def D():
    n = int(sys.stdin.readline().rstrip())
    d = np.array([sys.stdin.readline().split() for _ in range(n)], np.int64)
    s = d.cumsum(axis=0).cumsum(axis=1)
    s = np.pad(s, 1)
    max_del = np.zeros((n+1, n+1), dtype=np.int64)
    for y in range(1, n+1):
      for x in range(1, n+1):
        max_del[y, x] = np.amax(s[y:n+1, x:n+1] - s[0:n-y+1, x:n+1] - s[y:n+1, 0:n-x+1] + s[0:n-y+1, 0:n-x+1])
    res = np.arange(n**2+1)[:, None]
    i = np.arange(1, n+1)
    res = max_del[i, np.minimum(res//i, n)].max(axis=1)
    q = int(sys.stdin.readline().rstrip())
    p = np.array(sys.stdin.read().split(), dtype=np.int64)
    print(*res[p], sep='\n')


class ABC006():
  def A():
    n = sys.stdin.readline().rstrip()
    if '3' in n: print('YES')
    elif int(n)%3 == 0: print('YES')
    else: print('NO')

  def B():
    mod = 10007
    t = [0, 0, 1]
    for _ in range(1001001):
      t.append(t[-1]+t[-2]+t[-3]); t[-1] %= mod
    n = int(sys.stdin.readline().rstrip())
    print(t[n-1])
    
  def C():
    n, m = map(int, sys.stdin.readline().split())
    cnt = [0, 0, 0]
    if m == 1: cnt = [-1, -1, -1]
    else:
      if m & 1: m -= 3; cnt[1] += 1; n -= 1
      cnt[2] = m//2 - n 
      cnt[0] = n - cnt[2]
    if cnt[0]<0 or cnt[1]<0 or cnt[2]<0: print(-1, -1, -1)
    else: print(*cnt, sep=' ')
      
  def D():
    n, *c = map(int, sys.stdin.read().split())
    lis = [inf]*n 
    for x in c: lis[bi_l(lis, x)] = x 
    print(n - bi_l(lis, inf))


class ABC007():
  def A():
    n = int(sys.stdin.readline().rstrip())
    print(n-1)

  def B():
    s = sys.stdin.readline().rstrip()
    if s == 'a': print(-1)
    else: print('a')

  def C():
    r, c = map(int, sys.stdin.readline().split())
    sy, sx = map(int, sys.stdin.readline().split())
    gy, gx = map(int, sys.stdin.readline().split())
    sy -= 1; sx -=1; gy -= 1; gx -= 1
    maze = [sys.stdin.readline().rstrip() for _ in range(r)]
    queue = deque([(sy, sx)])
    dist = np.full((r, c), np.inf); dist[sy, sx] = 0
    while queue:
      y, x = queue.popleft()
      for i, j in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
        i += y; j += x
        if maze[i][j] == '
        dist[i, j] = dist[y, x] + 1
        queue.append((i, j))
    print(int(dist[gy, gx]))
  
  def D(): pass 


class ABC008():
  def A():
    s, t = map(int, sys.stdin.readline().split())
    print(t-s+1)

  def B():
    n, *s = sys.stdin.read().split()
    res = defaultdict(int)
    for name in s: res[name] += 1
    print(sorted(res.items(), key=lambda x: x[1])[-1][0])

  def C():
    n, *a = map(int, sys.stdin.read().split())
    a = np.array(a)
    c = n - np.count_nonzero(a[:, None]%a, axis=1)
    print(np.sum((c+1)//2/c))
  
  def D(): pass

class ABC009():
  def A():
    n = int(sys.stdin.readline().rstrip())
    print((n+1)//2)

  def B():
    n, *a = map(int, sys.stdin.read().split())
    print(sorted(set(a))[-2])
    
  def C():
    n, k = map(int, sys.stdin.readline().split())
    s = list(sys.stdin.readline().rstrip())
    cost = [1]*n
    r = k
    for i in range(n-1):
      q = []
      for j in range(i+1, n):
        if s[j] < s[i] and cost[i]+cost[j] <= r:
          heappush(q, (s[j], cost[i]+cost[j], -j))
      if not q: continue
      _, c, j = heappop(q); j = -j 
      s[i], s[j] = s[j], s[i]
      r -= c 
      cost[i] = cost[j] = 0
    print(''.join(s))
      
  def D(): pass 


class ABC010():
  def A():
    print(sys.stdin.readline().rstrip()+'pp')
  def B():
    n, *a = map(int, sys.stdin.read().split())
    tot = 0
    for x in a:
      c = 0 
      while x%2==0 or x%3==2:
        x -= 1
        c += 1
      tot += c
    print(tot)

  def C():
    sx, sy, gx, gy, t, v, n, *xy = map(int, sys.stdin.read().split())
    x, y = np.array(xy).reshape(-1, 2).T
    def dist(x1, y1, x2, y2):
      return np.sqrt((x2-x1)**2 + (y2-y1)**2)
    ans = 'YES' if (dist(sx, sy, x, y)+dist(x, y, gx, gy) <= v*t).any() else 'NO'
    print(ans)

  def D(): pass 

class ABC011():
  def A():
    n = int(sys.stdin.readline().rstrip())
    print(n%12+1)

  def B():
    s = sys.stdin.readline().rstrip() 
    print(s[0].upper()+s[1:].lower())

  def C():
    n, *ng = map(int, sys.stdin.read().split())
    ng = set(ng)
    if n in ng: print('NO')
    else:
      r = 100
      while n > 0:
        if r == 0: print('NO'); return
        for i in range(3, 0, -1):
          if (n-i) in ng: continue 
          n -= i
          r -= 1
          break 
        else: print('NO'); return 
      print('YES')

  def D(): pass 


class ABC170():
  def A():
    x = [int(x) for x in sys.stdin.readline().split()]
    for i in range(5):
      if x[i] != i+1:
        print(i+1)
        break

  def B():
    x, y = map(int, sys.stdin.readline().split())
    print('Yes' if 2*x <= y <= 4*x and y%2 == 0 else 'No')
      
  def C():
    x, n, *p = map(int, sys.stdin.read().split())
    a = list(set(range(102)) - set(p))
    a = [(abs(y-x), y) for y in a]
    print(sorted(a)[0][1])

  def D():
    n, *a = map(int, sys.stdin.read().split())
    cand = set(a)
    cnt = 0
    for x, c in sorted(Counter(a).items()):
      cnt += c == 1 and x in cand
      cand -= set(range(x*2, 10**6+1, x))
    print(cnt)

  def E():
    n, q = map(int, sys.stdin.readline().split())
    queue = [] 
    num_kindergarten = 2*10**5
    queue_kindergarten = [[] for _ in range(num_kindergarten)]
    highest_kindergarten = [None] * num_kindergarten
    where = [None] * n
    rate = [None] * n

    def entry(i, k):
      where[i] = k
      while queue_kindergarten[k]:
        r, j = heappop(queue_kindergarten[k])
        if where[j] != k or j == i: continue 
        if rate[i] >= -r:
          highest_kindergarten[k] = rate[i]
          heappush(queue, (rate[i], k, i))
        heappush(queue_kindergarten[k], (r, j))
        break
      else:
        highest_kindergarten[k] = rate[i]
        heappush(queue, (rate[i], k, i))
      heappush(queue_kindergarten[k], (-rate[i], i))

    def transfer(i, k):
      now = where[i]
      while queue_kindergarten[now]:
        r, j = heappop(queue_kindergarten[now])
        if where[j] != now or j == i: continue
        if highest_kindergarten[now] != -r:
          highest_kindergarten[now] = -r
          heappush(queue, (-r, now, j))
        heappush(queue_kindergarten[now], (r, j))
        break
      else:
        highest_kindergarten[now] = None
      entry(i, k)

    def inquire():
      while True:
        r, k, i = heappop(queue)
        if where[i] != k or r != highest_kindergarten[k]: continue 
        heappush(queue, (r, k, i))
        return r

    for i in range(n):
      a, b = map(int, sys.stdin.readline().split())
      rate[i] = a 
      entry(i, b-1)
    for _ in range(q):
      c, d = map(int, sys.stdin.readline().split())
      transfer(c-1, d-1)
      print(inquire())
    
  def F(): pass 


class ABC171():
  def A():
    c = sys.stdin.readline().rstrip()
    print('A' if c < 'a' else 'a')
  def B():
    n, k, *p = map(int, sys.stdin.read().split())
    print(sum(sorted(p)[:k]))
  def C(): pass 
  def D(): pass 
  def E(): pass 
  def F(): pass 

if __name__ == '__main__':
  ABC171.A()

Solution (Python):
import string
s = input()
if s in string.ascii_lowercase:
	print("a")
else:
	print("A")

Solution (Python):
x = input()
if x.isupper():
    print('A')
else:
    print('a')

Solution (Python):
s = input()
if s == s.upper():
    print("A")
else:
    print("a")

Solution (Python):
print('Aa'[input().islower()])

Solution (Python):
a= input()
if(a.isupper()):
    print("A")
else:
    print("a")