import sys

sys.setrecursionlimit(10**6)

from math import floor,ceil,sqrt,factorial,log

from heapq import heappop, heappush, heappushpop

from collections import Counter,defaultdict,deque

from itertools import accumulate,permutations,combinations,product,combinations_with_replacement

from bisect import bisect_left,bisect_right

from copy import deepcopy

from operator import itemgetter

from fractions import gcd

mod = 10 ** 9 + 7

inf = float('inf')

ninf = -float('inf')

 

#整数input

def ii(): return int(sys.stdin.readline().rstrip()) #int(input())

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

def limii(): return list(mii()) #list(map(int,input().split()))

def lin(n:int): return [ii() for _ in range(n)]

def llint(n: int): return [limii() for _ in range(n)]

#文字列input

def ss(): return sys.stdin.readline().rstrip() #input()

def mss(): return sys.stdin.readline().rstrip().split()

def limss(): return list(mss()) #list(input().split())

def lst(n:int): return [ss() for _ in range(n)]

def llstr(n: int): return [limss() for _ in range(n)]



#本当に貪欲法か？ DP法では？？

#本当に貪欲法か？ DP法では？？

#本当に貪欲法か？ DP法では？？



s=list(ss())

arr=["A","C","G","T"]

ans=0

for i in range(len(s)):

    for j in range(i+1,len(s)+1):

        cnt=0

        for k in s[i:j]:

            if k in arr:

                cnt+=1

        if cnt==len(s[i:j]):

            ans=max(ans,cnt)

print(ans)
import sys

sys.setrecursionlimit(10**6)

from math import floor,ceil,sqrt,factorial,log

from heapq import heappop, heappush, heappushpop

from collections import Counter,defaultdict,deque

from itertools import accumulate,permutations,combinations,product,combinations_with_replacement

from bisect import bisect_left,bisect_right

from copy import deepcopy

from operator import itemgetter

from fractions import gcd

mod = 10 ** 9 + 7

inf = float('inf')

ninf = -float('inf')

 

#整数input

def ii(): return int(sys.stdin.readline().rstrip()) #int(input())

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

def limii(): return list(mii()) #list(map(int,input().split()))

def lin(n:int): return [ii() for _ in range(n)]

def llint(n: int): return [limii() for _ in range(n)]

#文字列input

def ss(): return sys.stdin.readline().rstrip() #input()

def mss(): return sys.stdin.readline().rstrip().split()

def limss(): return list(mss()) #list(input().split())

def lst(n:int): return [ss() for _ in range(n)]

def llstr(n: int): return [limss() for _ in range(n)]



#本当に貪欲法か？ DP法では？？

#本当に貪欲法か？ DP法では？？

#本当に貪欲法か？ DP法では？？



s=list(ss())



ans=0

temp=0

for i in range(len(s)):

    if s[i] in ["A","C","G","T"]:

        temp+=1

        ans=max(temp,ans)

    else:

        temp=0

print(ans)





import sys

sys.setrecursionlimit(10**6)
from math import floor, ceil, sqrt, factorial, log
from heapq import heappop, heappush, heappushpop
from collections import Counter, defaultdict, deque
from itertools import (
    accumulate,
    permutations,
    combinations,
    product,
    combinations_with_replacement,
)
from bisect import bisect_left, bisect_right
from copy import deepcopy
from operator import itemgetter
from fractions import gcd

mod = 10**9 + 7
inf = float("inf")
ninf = -float("inf")
# 整数input
def ii():
    return int(sys.stdin.readline().rstrip())  # int(input())


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


def limii():
    return list(mii())  # list(map(int,input().split()))


def lin(n: int):
    return [ii() for _ in range(n)]


def llint(n: int):
    return [limii() for _ in range(n)]


# 文字列input
def ss():
    return sys.stdin.readline().rstrip()  # input()


def mss():
    return sys.stdin.readline().rstrip().split()


def limss():
    return list(mss())  # list(input().split())


def lst(n: int):
    return [ss() for _ in range(n)]


def llstr(n: int):
    return [limss() for _ in range(n)]


# 本当に貪欲法か？ DP法では？？
# 本当に貪欲法か？ DP法では？？
# 本当に貪欲法か？ DP法では？？
s = list(ss())
arr = ["A", "C", "G", "T"]
ans = 0
for i in range(len(s)):
    for j in range(i + 1, len(s) + 1):
        cnt = 0
        for k in s[i:j]:
            if k in arr:
                cnt += 1
        if cnt == len(s[i:j]):
            ans = max(ans, cnt)
print(ans)

import sys

sys.setrecursionlimit(10**6)
from math import floor, ceil, sqrt, factorial, log
from heapq import heappop, heappush, heappushpop
from collections import Counter, defaultdict, deque
from itertools import (
    accumulate,
    permutations,
    combinations,
    product,
    combinations_with_replacement,
)
from bisect import bisect_left, bisect_right
from copy import deepcopy
from operator import itemgetter
from fractions import gcd

mod = 10**9 + 7
inf = float("inf")
ninf = -float("inf")
# 整数input
def ii():
    return int(sys.stdin.readline().rstrip())  # int(input())


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


def limii():
    return list(mii())  # list(map(int,input().split()))


def lin(n: int):
    return [ii() for _ in range(n)]


def llint(n: int):
    return [limii() for _ in range(n)]


# 文字列input
def ss():
    return sys.stdin.readline().rstrip()  # input()


def mss():
    return sys.stdin.readline().rstrip().split()


def limss():
    return list(mss())  # list(input().split())


def lst(n: int):
    return [ss() for _ in range(n)]


def llstr(n: int):
    return [limss() for _ in range(n)]


# 本当に貪欲法か？ DP法では？？
# 本当に貪欲法か？ DP法では？？
# 本当に貪欲法か？ DP法では？？
s = list(ss())
ans = 0
temp = 0
for i in range(len(s)):
    if s[i] in ["A", "C", "G", "T"]:
        temp += 1
        ans = max(temp, ans)
    else:
        temp = 0
print(ans)

-arr = ["A", "C", "G", "T"] +temp = 0 -    for j in range(i + 1, len(s) + 1): -        cnt = 0 -        for k in s[i:j]: -            if k in arr: -                cnt += 1 -        if cnt == len(s[i:j]): -            ans = max(ans, cnt) +    if s[i] in ["A", "C", "G", "T"]: +        temp += 1 +        ans = max(temp, ans) +    else: +        temp = 0