시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB2121319962.264%

문제

시프트는 두 문자열 $S$, $T$를 생일 선물로 받았다. 두 문자열의 길이는 $N$이고, '0' 과 '1'로만 이루어져 있다. 두 문자열을 가지고 무엇을 할 수 있을지 고민하던 중 아래 소스 코드도 선물로 받았다.

int calc(string S, string T, int s, int t) {
    int n = S.length();
    int i = s;
    int j = t;
    int cnt = 0;
    for (int k=0; k<n; k++) {
        if (S[i] == '1' && T[j] == '1') {
            cnt += 1;
        }
        i = (i+1) % n;
        j = (j+1) % n;
    }
    return cnt;
}

calcST는 문자열 $S$와 $T$이고, st는 $0 ≤$ s $< N$, $0 ≤$ t $< N$을 만족해야 한다. 따라서, calc를 호출할 수 있는 방법은 $N^2$개가 있다. 두 문자열 $S$와 $T$가 주어졌을 때, 가능한 calc의 리턴값 중 최댓값을 구해보자.

입력

첫째 줄에 문자열 $S$, 둘째 줄에 문자열 $T$가 주어진다.

출력

가능한 calc의 리턴값 중 최댓값을 첫째 줄에 출력한다.

제한

  • $1 ≤ N ≤ 500\,000$

예제 입력 1

011011
101010

예제 출력 1

2

예제 입력 2

01001
00000

예제 출력 2

0

예제 입력 3

1101100111
1110001101

예제 출력 3

5

s $= 0$, t $= 3$