import java.util.*;

//update 2019/12/29

public class Main{

  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  }

  static String next(){
    return sc.next();
  }

  static int nextInt(){
    return Integer.parseInt(sc.next());
  }

  static long nextLong(){
    return Long.parseLong(sc.next());
  }

  static double nextDouble(){
    return Double.parseDouble(sc.next());
  }

  static String[] splitString(String s){
    return s.split("");
  }

  static char[] splitChar(String s){
    return s.toCharArray();
  }

  static int charToInt(char aaa){
    return aaa - 48;
  }

////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
  public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
////////////////////////////////////////////

////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
  public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
////////////////////////////////////////////

} import java.util.*; util.* java public class Main{

  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  }

  static String next(){
    return sc.next();
  }

  static int nextInt(){
    return Integer.parseInt(sc.next());
  }

  static long nextLong(){
    return Long.parseLong(sc.next());
  }

  static double nextDouble(){
    return Double.parseDouble(sc.next());
  }

  static String[] splitString(String s){
    return s.split("");
  }

  static char[] splitChar(String s){
    return s.toCharArray();
  }

  static int charToInt(char aaa){
    return aaa - 48;
  }

////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
  public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
////////////////////////////////////////////

////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
  public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
////////////////////////////////////////////

} Main static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  } main {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  } String[] s = splitString(next()); s splitString(next()) splitString next() next String[] acgt = {"A","C","G","T"}; acgt {"A","C","G","T"} "A" "C" "G" "T" int cnt = 0; cnt 0 int ans = 0; ans 0 for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    } int i=0; int i=0; i 0 i<s.length i s.length s s.length i++ i++ i {
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    } {
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    } boolean a = false; a false for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      } int j=0; int j=0; j 0 j<4 j 4 j++ j++ j {
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      } {
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      } if(s[i].equals(acgt[j])){
          a = true;
          break;
        } s[i].equals(acgt[j]) s[i].equals s[i] s i acgt[j] acgt j {
          a = true;
          break;
        } a = true a true break; if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      } a {
        cnt++;
        ans = Math.max(cnt,ans);
      } cnt++ cnt ans = Math.max(cnt,ans) ans Math.max(cnt,ans) Math.max Math cnt ans {
        cnt = 0;
      } cnt = 0 cnt 0 System.out.println(ans) System.out.println System.out System System.out ans String[] args args static String next(){
    return sc.next();
  } next {
    return sc.next();
  } return sc.next(); sc.next() sc.next sc static int nextInt(){
    return Integer.parseInt(sc.next());
  } nextInt {
    return Integer.parseInt(sc.next());
  } return Integer.parseInt(sc.next()); Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc static long nextLong(){
    return Long.parseLong(sc.next());
  } nextLong {
    return Long.parseLong(sc.next());
  } return Long.parseLong(sc.next()); Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc static double nextDouble(){
    return Double.parseDouble(sc.next());
  } nextDouble {
    return Double.parseDouble(sc.next());
  } return Double.parseDouble(sc.next()); Double.parseDouble(sc.next()) Double.parseDouble Double sc.next() sc.next sc static String[] splitString(String s){
    return s.split("");
  } splitString {
    return s.split("");
  } return s.split(""); s.split("") s.split s "" String s s static char[] splitChar(String s){
    return s.toCharArray();
  } splitChar {
    return s.toCharArray();
  } return s.toCharArray(); s.toCharArray() s.toCharArray s String s s static int charToInt(char aaa){
    return aaa - 48;
  } charToInt {
    return aaa - 48;
  } return aaa - 48; aaa - 48 aaa 48 char aaa aaa ////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  } max {
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  } int lng = a.length; lng a.length a a.length int max = a[0]; max a[0] a 0 for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    } int i=1; int i=1; i 1 i<lng i lng i++ i++ i {
      max = Math.max(max,a[i]);
    } {
      max = Math.max(max,a[i]);
    } max = Math.max(max,a[i]) max Math.max(max,a[i]) Math.max Math max a[i] a i return max; max int[] a a public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  } max {
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  } int lng = a.length; lng a.length a a.length long max = a[0]; max a[0] a 0 for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    } int i=1; int i=1; i 1 i<lng i lng i++ i++ i {
      max = Math.max(max,a[i]);
    } {
      max = Math.max(max,a[i]);
    } max = Math.max(max,a[i]) max Math.max(max,a[i]) Math.max Math max a[i] a i return max; max long[] a a ////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  } min {
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  } int lng = a.length; lng a.length a a.length int min = a[0]; min a[0] a 0 for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    } int i=1; int i=1; i 1 i<lng i lng i++ i++ i {
      min = Math.min(min,a[i]);
    } {
      min = Math.min(min,a[i]);
    } min = Math.min(min,a[i]) min Math.min(min,a[i]) Math.min Math min a[i] a i return min; min int[] a a public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  } min {
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  } int lng = a.length; lng a.length a a.length long min = a[0]; min a[0] a 0 for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    } int i=1; int i=1; i 1 i<lng i lng i++ i++ i {
      min = Math.min(min,a[i]);
    } {
      min = Math.min(min,a[i]);
    } min = Math.min(min,a[i]) min Math.min(min,a[i]) Math.min Math min a[i] a i return min; min long[] a a public class Main{

  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  }

  static String next(){
    return sc.next();
  }

  static int nextInt(){
    return Integer.parseInt(sc.next());
  }

  static long nextLong(){
    return Long.parseLong(sc.next());
  }

  static double nextDouble(){
    return Double.parseDouble(sc.next());
  }

  static String[] splitString(String s){
    return s.split("");
  }

  static char[] splitChar(String s){
    return s.toCharArray();
  }

  static int charToInt(char aaa){
    return aaa - 48;
  }

////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
  public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
////////////////////////////////////////////

////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
  public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
////////////////////////////////////////////

} public class Main{

  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  }

  static String next(){
    return sc.next();
  }

  static int nextInt(){
    return Integer.parseInt(sc.next());
  }

  static long nextLong(){
    return Long.parseLong(sc.next());
  }

  static double nextDouble(){
    return Double.parseDouble(sc.next());
  }

  static String[] splitString(String s){
    return s.split("");
  }

  static char[] splitChar(String s){
    return s.toCharArray();
  }

  static int charToInt(char aaa){
    return aaa - 48;
  }

////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
  public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
////////////////////////////////////////////

////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
  public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
////////////////////////////////////////////

} Main
import java.util.*;

//update 2019/12/29

public class Main{

  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {

    String[] s = splitString(next());

    String[] acgt = {"A","C","G","T"};

    int cnt = 0;
    int ans = 0;

    for(int i=0;i<s.length;i++){
      boolean a = false;
      for(int j=0;j<4;j++){
        if(s[i].equals(acgt[j])){
          a = true;
          break;
        }
      }
      if(a){
        cnt++;
        ans = Math.max(cnt,ans);
      }
      else{
        cnt = 0;
      }
    }

    System.out.println(ans);



  }

  static String next(){
    return sc.next();
  }

  static int nextInt(){
    return Integer.parseInt(sc.next());
  }

  static long nextLong(){
    return Long.parseLong(sc.next());
  }

  static double nextDouble(){
    return Double.parseDouble(sc.next());
  }

  static String[] splitString(String s){
    return s.split("");
  }

  static char[] splitChar(String s){
    return s.toCharArray();
  }

  static int charToInt(char aaa){
    return aaa - 48;
  }

////////////////////////////////////////////
  public static int max(int[] a){
    int lng = a.length;
    int max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
  public static long max(long[] a){
    int lng = a.length;
    long max = a[0];
    for(int i=1;i<lng;i++){
      max = Math.max(max,a[i]);
    }
    return max;
  }
////////////////////////////////////////////

////////////////////////////////////////////
  public static int min(int[] a){
    int lng = a.length;
    int min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
  public static long min(long[] a){
    int lng = a.length;
    long min = a[0];
    for(int i=1;i<lng;i++){
      min = Math.min(min,a[i]);
    }
    return min;
  }
////////////////////////////////////////////

}
