14146: Де я?-Where Am I?-USACO2019DecBronze
Вздовж дороги є \(N\) ферм (\(1 \leq N \leq 100\)). На фермах немає номерів, тож ФД важко орієнтуватися. На кожній фермі є кольорова поштова скринька з боку дороги, тому ФД сподівається, що якщо він подивиться на кольори найближчих поштових ящиків, то він зможе однозначно визначити, де він знаходиться.
Кожен колір поштової скриньки позначається літерою в інтервалі A..Z, таким чином, послідовність \(N\) поштових скриньок вздовж дороги є рядком довжини \(N\), що містить символи в інтервалі A..Z.
Деякі поштові скриньки можуть мати однакові кольори. ФД хоче дізнатися мінімальне число \(K\) таке, що якщо він подивиться на будь-яку послідовність з \(K\) послідовних ящиків, він унікально визначить місце розташування цієї послідовність на дорозі.
Наприклад, припустимо, що послідовність ящиків уздовж дороги є 'ABCDABC'. ФД не може вибрати \(K=3\), оскільки якщо він побачить 'ABC', то є два розташування такого рядка вздовж дороги. Мінімальне значення \(K\), яке працює, \(K=4\), оскільки будь-які послідовні 4 символи унікально визначають його позицію вздовж дороги.
Формат вхідних даних
Перший рядок введення містить \(N\), другий рядок містить рядок із символів \(N\), кожен в інтервалі A.Z.
Формат вихідних даних
Виведіть рядок, що містить одне ціле число, що вказує на мінімальне значення \(K\), яке вирішує завдання ФД.
Приклад вхідних даних
7
ABCDABC
Приклад вихідних даних
4
Коментарі