O qədər də sadə olmayan problem
XML-də bəzi simvollar xüsusi mənalara malikdir və əvvəlcədən təyin olunmuşdur. Məsələn, "<" simvolu başlanğıc və son etiketlərin başlanğıcı üçün istifadə olunur. XML, xüsusi simvolları mətnə daxil etmək üçün vasitələr təqdim edir. Mətn aşağıdakı kimi çevrilir: hər bir xüsusi simvol əvvəlcədən təyin olunmuş "entity_name;" entitisi ilə əvəz olunur. Beş əvvəlcədən təyin olunmuş entiti var: lt; "<" (kiçik), gt; ">" (böyük), amp; "" (ampersand), apos; "’" (tək dırnaq), quot; """ (ikiqat dırnaq) təmsil edir. Bu çevrilməni XMLEncode(S) funksiyası adlandıraq, burada S giriş sətiridir. XMLEncode() funksiyası girişə bir neçə dəfə tətbiq oluna bilər.
Məsələn, S "2<3<4" olsun. Onda XMLEncode(S) "2lt;3lt;4" olacaq və XMLEncode(XMLEncode(S)) "2amp;lt;3amp;lt;4" olacaq.
Bir proqram yazın ki, nəticə sətiri R ilə XMLEncode-funksiya çağırışlarının maksimum sayını təyin etsin.
Giriş verilənləri
Giriş faylının tək sətri R sətirini (1 ≤ length(R) ≤ 100000) ehtiva edir. Sətir 32 ilə 127 arasında ASCII kodlarına malik simvolları ehtiva edə bilər.
Çıxış verilənləri
Çıxış faylı tək bir tam ədəd içərməlidir – XMLEncode-funksiya çağırışlarının sayı, ya da əgər sətir sonsuz şəkildə kodlana bilərsə -1.