import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;

public class Mugs {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int L = Integer.parseInt(br.readLine());


        char[] list = br.readLine().toCharArray();
        int left[] = new int[L];
        int right[] = new int[L];

        int map[] = new int[L];
        for (int i = 0; i < L; i++) {
            int c = list[i] - 'a';
            map[i] = 1 << c;
//            System.out.printf("MAP: %d - %s\n", i,Integer.toString(map[i], 2));
        }

//        left[0] = map[0];
//        for (int i = 1; i < L; i++) {
//            left[i] = left[i-1] ^ map[i];
//            System.out.printf("LEFT: %d - %s\n", i,Integer.toString(left[i], 2));
//        }
        right[L-1] = map[L-1];
        for (int i = L-2; i >= 0; i--) {
            right[i] = right[i+1] ^ map[i];
//            System.out.printf("RIGHT: %d - %s\n", i,Integer.toString(right[i], 2));
        }

        int max = 1;

        for (int i = 0; i < L; i++) {
            for (int j = i+max; j < L; j++) {
                int diff;
                if (j < L-1) {
                    diff = right[j+1] ^ right[i];
                }
                else {
                    diff = right[i];
                }
                int l = j-i+1;

//                System.out.printf("%d:%d - %s\n", i,j,Integer.toString(diff, 2));
                int bitCount = Integer.bitCount(diff);
                if (bitCount <= 1 && l > max) {
                    max = l;
                }
                if (bitCount > 1) {
                    j+= bitCount-2;
                }

            }
        }
        System.out.println(max);

    }

}

