시간 제한
메모리 제한
시간 제한
2초
메모리 제한
64 MB
길이가 같은 두 이진 문자열 a와 b(길이 n)의 직교 합(orthogonal sum)은 ci=ai⊕bi로 정의되는 문자열 c이다. 여기서 ⊕는 배타적 논리합(XOR)으로, 두 문자가 같으면 0을, 다르면 1을 반환한다.
길이가 n인 이진 문자열 S에 대해, S(k)를 S의 k번째 순환 이동(circular shift)이라 하자. 이는 S의 마지막 k개 문자를 문자열의 맨 앞으로 옮기는 연산이다. 예를 들어 abcde의 2번째 순환 이동은 deabc이다.
S의 직교 폐포(orthogonal closure)는 S⊕로 표기하며, 0≤k,l≤n−1인 모든 문자열 S(k)⊕S(l)들의 집합이다.
길이가 같은 이진 문자열 T가 주어졌을 때, T가 S⊕에 속하는지 판별하시오.
첫째 줄에 문자열 T가, 둘째 줄에 문자열 S가 주어진다. 두 문자열의 길이는 서로 같으며 1 이상 5000 이하이고, 각 문자는 0 또는 1이다.
T가 S⊕에 속하면 Yes를, 그렇지 않으면 No를 출력한다.