Problem
Der Programmierer Vasa hatte kein Glück - statt Urlaub zu nehmen, wurde er auf eine Geschäftsreise zu einer wissenschaftlichen Konferenz geschickt. "Wir müssen das Wissen erhöhen", sagte der Chef, "Eine wichtige Konferenz über Kryptographie wird in Frankreich abgehalten - und dort wurde zu Richelieuszeiten verschlüsselt und die Chiffren anderer Leute zu Vieths Zeiten geknackt."
Vasya fand schnell heraus, dass er alle Bilder des Louvre schon irgendwo gesehen hatte, dass er den Eiffelturm gesehen hatte, bevor seine Maus ihn von der Matte gelöscht hatte, und solche Glaspyramiden machen wir an allen Ständen und zweifelhaften Restaurants notwendig. Kurz gesagt, es stellte sich heraus, dass es in Paris einfach nichts zu suchen gab, es gab keinen Platz zum Fischen, daher musste Vashe an den Vorträgen auf der Konferenz teilnehmen.
Einer der Referenten versuchte erneut, die Bacon-Chiffren zu entwirren, vermutete, dass der Schlüssel zu den Geheimnissen von Bacon durch die Analyse aller möglichen Teilzeichenfolgen von Bacon-Werken gefunden werden kann. "Aber es gibt zu viele von ihnen!" - Vasya war laut überrascht. "Nein, nicht so sehr!"", rief der Sprecher, "Zählen Sie, und Sie werden es selbst sehen!"
Am selben Abend fand Vasya im Internet die vollständige Sammlung von Bacon-Werken. Er schrieb ein Programm, das die Texte in eine lange Zeichenfolge überarbeitete und alle Leerzeichen und Satzzeichen aus den Texten entsorgte. Und jetzt ist Vasya sehr verwirrt - aber wie kann man die Anzahl der verschiedenen Teilstränge dieser Zeile berechnen?
Eingabe
Die Eingabe enthält eine nicht leere Zeichenfolge, die von Vasey erhalten wurde. Die Zeichenfolge besteht nur aus lateinischen Kleinbuchstaben. Seine Länge überschreitet 2000 Zeichen nicht.
Ausgabe
Geben Sie die Anzahl der verschiedenen Teilzeichenfolgen dieser Zeile aus.
Beispiele
№ |
Eingabe |
Ausgabe |
1 |
aaba |
8 |