import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; public class Gallery { static int in[]; static int getScore(int s, int e, int sc) { int max = sc; int bann = s; // Set set = new HashSet<>(100); int i; for (i = s; i < e-1; i++) { /* if (set.contains(in[i])) continue; */ for (int j = e;j>bann && j > i; j--) { if (in[i] == in[j]) { bann = j; int score = getScore(i+1,j-1, sc+1); if (score > max) { max = score; } if (max - sc >= (j-i)/2 ) { return max; } // set.add(in[j]); break; } } } return max; } public static void main(String... args) throws Exception { // try (BufferedReader reader = new BufferedReader(new FileReader(new File("gallery.in")))) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { String line; while ((line = reader.readLine()) != null) { int len = Integer.parseInt(line); String input[] = reader.readLine().split(" "); in = new int[len]; for (int i = 0; i < len; i++) { in[i] = Integer.parseInt(input[i]); } System.out.println(getScore(0, len-1, 0)); } } } }