메뉴 건너뛰기

문제


시간메모리제출 통과 비율
1초128MB
0
0
0.0%
나의 횟수나의 판정시도 성공 비율
00
0.0%
문제

길이 \(N\)인 문자열 \(S\)가 주어진다. \(S\)의 각 문자는 영문 소문자이다.

어떤 문자열 \(T\)와 정수 \(m\) (\(m \ge 2\))이 있어, 빈 문자열에 \(T\)를 \(m\)번 이어 붙인 결과가 \(S\)와 같으면 \(S\)는 주기적이라고 한다.

\(S\)가 주기적이면 Yes를, 아니면 No를 출력하는 프로그램을 작성하라.

입력

입력은 다음 형식으로 주어진다.

\(N\)

\(S\)

  • 첫째 줄에 문자열의 길이 \(N\)이 주어진다.
  • 둘째 줄에 공백 없이 문자열 \(S\)가 한 줄로 주어진다.
  • \(2 \le N \le 1000\)
  • \(S\)의 길이는 \(N\)이고, 각 문자는 영문 소문자이다.
  • \(N\)은 정수이다.
출력

다음 형식으로 출력한다.

첫째 줄에, \(S\)가 주기적이면 Yes, 아니면 No를 출력한다.

예시 1
입력
6 ababab
출력
Yes
설명

빈 문자열에 ab를 \(3\)번 이어 붙이면 ababab가 되므로 \(S\)는 주기적이다.

예시 2
입력
7 abcabca
출력
No
설명

빈 문자열에 abcabca를 \(1\)번만 이어 붙이면 \(S\)와 같아지지만, \(1\)번이므로 주기적이 아니다.

예시 3
입력
2 aa
출력
Yes
설명

빈 문자열에 a를 \(2\)번 이어 붙이면 aa가 된다.

예시 4
입력
8 ababcdcd
출력
No
위로