대구과학고등학교 장홍준 교장은 부임 10주년을 맞아 세미나를 연다. 세미나를 원활하게 진행하려고 참석하는 학생을 두 조로 나누려 한다.
교장은 학생 사이의 소통을 늘 중요하게 여겨서, 서로 싫어하는 두 학생을 같은 조에 넣지 않는다. 또 참석하는 학생 중 학년이 같은 학생은 모두 같은 조에 들어가야 한다.
서로 싫어하는 관계는 학년이 다른 두 학생 사이에만 있다. 학년이 같은 두 학생은 서로 싫어하지 않는다.
여러 번 시도한 끝에 교장은 두 조건을 지키면서 전교생을 참석시키기가 불가능하다는 사실을 알았다. 그래서 조건을 지키면서 최대한 많은 학생을 부르려고 한다. 참석하지 않는 학생은 어느 조에도 들어가지 않으므로 두 조건과 상관이 없다.
세미나에 참석할 수 있는 학생 수의 최댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 학생 수 N이 주어진다. (1≤N≤50)
둘째 줄에 각 학생의 학년이 공백 없이 주어진다. i번째 문자가 i번 학생의 학년 Gi이다. (1≤Gi≤3)
다음 N개 줄에는 학생 사이의 관계가 공백 없이 주어진다. i+2번째 줄의 j번째 문자는 i번 학생과 j번 학생이 서로 싫어하면 'Y', 그렇지 않으면 'N'이다. 이 표는 대각선을 기준으로 대칭이고, 대각선 자리와 학년이 같은 두 학생 자리는 항상 'N'이다.
세미나에 참석할 수 있는 학생 수의 최댓값을 출력한다.