하이터치☆메모리
시간 제한2초메모리 제한1024 MB
두 괄호 문자열 A, B의 접두사 길이 쌍 (i, j) 중에서 A의 i-접두사와 B의 j-접두사를 이어붙인 문자열이 올바른 괄호 문자열이 되는 쌍의 개수를 센다.
문제
(와 )만으로 이루어진 문자열을 괄호 문자열이라 한다. 그 중에서도 올바른 괄호 문자열은 다음과 같이 정의된다.
- 빈 문자열은 올바른 괄호 문자열이다.
- 문자열 가 올바른 괄호 문자열일 때, 를
(와)로 감싼 문자열 도 올바른 괄호 문자열이다. - 문자열 와 가 올바른 괄호 문자열일 때, 이 두 문자열을 이어붙인 문자열 도 올바른 괄호 문자열이다.
올바른 괄호 문자열의 예시로는 ()()(), (()), ()(())()()이 있다.
문자열 의 접두사는 의 첫번째 원소를 포함하는 의 부분 문자열을 의미한다. abcd의 접두사로는 a, ab, abc, abcd가 있다. 빈 문자열은 접두사가 될 수 없음에 유의하라.
두 괄호 문자열 , 에 대해, 의 길이 의 접두사를 , 의 길이 의 접두사를 라 할 때 와 를 이어붙인 문자열 가 올바른 괄호 문자열인 순서쌍 를 하이터치☆메모리라고 한다. 하이터치☆메모리의 개수를 구해보자.
입력
첫째 줄에 괄호 문자열 가 주어진다.
둘째 줄에 괄호 문자열 가 주어진다.
출력
첫째 줄에 하이터치☆메모리의 개수를 출력한다.
제한
힌트
정답이 32비트 정수 범위를 넘을 수 있으므로, C/C++에서는 long long, Java에서는 long과 같은 자료형을 사용하는 것을 권장한다.