Шарлар


Шешімді жөнелту

Ұпайлар: 1
Уақыт шектеуі: 1.0s
Жад шектеуі: 256M

Author:
Problem types
Рұқсат етілген тілдер
Assembly, Awk, Brain****, C, C++, Go, Java, Kotlin, Pascal, Perl, PHP, Python, Sed, Text

Максимде жоғары мөлдір ыдыс бар, ішінде бір бағанға \(n\) шарлар орналасқан. Әр шардың түсі a дан z дейінгі кіші латын әрпімен белгіленген.

Шарлар төменнен жоғары қарай орналасқан: жолдың бірінші символы төменгі шарға, соңғы символы — жоғарғы шарға сәйкес келеді.

Бір операцияда Максим екі әрекеттің біреуін орындай алады:

  • Үштікті жою: бір түстегі кез келген үш қатар тұрған шарды таңдап, оларды жою. Жоюдан кейін қалған бағанның бөліктері қосылады (бос жер қалмайды).

  • Жоғарыдан қосу: кез келген түстегі (a дан z дейінгі әріп) бір шарды бағанның жоғарғы жағына қосу.

Максимге ыдыстағы барлық шарларды жою үшін қажетті минималды операциялар санын анықтауға көмектесіңіз.

Енгізу

Бірінші жолда бүтін сан \(n\) (\(1 \le n \le 10^5\)) — бағандағы шарлардың саны.

Екінші жолда \(n\) кіші латын әрпінен тұратын жол — бағанның төменнен жоғарыға дейінгі сипаттамасы.

Шығару

Барлық шарларды жою үшін қажетті минималды операциялар санын көрсетіңіз.

Мысалдар

Енгізу 1
6
aaabbb
Жауап 1
2
Енгізу 2
7
aabbbac
Жауап 2
5