Kleine Sachen mit Python

Quersummen großer Zahlen




Der Python-Interpeter kommt – einge­schränkt - mit beliebig großen ganzen Zahlen zurecht. Allein der Rechner gibt mit seinen end­lichen Ressourcen die einschrän­kenden Grenzen vor.

Jede natürliche Zahl n hat bezüglich einer ge­ge­be­nen Basis b eine eindeutige Zerlegung in Ziffern zk(n).

Hier wird die Zahl 10 als Basis gewählt, also b=10:

Die obere Summationsgrenze m ist gegeben durch die natürliche Zahl, die die rechts stehende Bedingung erfüllt:

Die Zahl n hat dann (m+1) Ziffern.

Ein Beispiel, für die Zahl 105 ist m=2:

Die Quersumme einer natürlichen Zahl ist dann einfach die Summe ihrer Ziffern:

Die Quersumme von 105 ist 6=1+0+5.

Das Problem

Was für eine Quersumme hat (etwa) die Zahl 21000? Die Zahl steht in Ziffern ausge­schrieben nebenan:

Selber zu zählen ist doch einfach zu mühsam.

Wir versuchen es mit etwas Python-Code.

21000 = 1 0 7 1 5 0 8 6 0 7 1 8 6 2 6 7 3 2 0 9 4 8 4 2 5 0 4 9 0 6 0 0 0 1 8 1 0 5 6 1 4 0 4 8 1 1 7 0 5 5 3 3 6 0 7 4 4 3 7 5 0 3 8 8 3 7 0 3 5 1 0 5 1 1 2 4 9 3 6 1 2 2 4 9 3 1 9 8 3 7 8 8 1 5 6 9 5 8 5 8 1 2 7 5 9 4 6 7 2 9 1 7 5 5 3 1 4 6 8 2 5 1 8 7 1 4 5 2 8 5 6 9 2 3 1 4 0 4 3 5 9 8 4 5 7 7 5 7 4 6 9 8 5 7 4 8 0 3 9 3 4 5 6 7 7 7 4 8 2 4 2 3 0 9 8 5 4 2 1 0 7 4 6 0 5 0 6 2 3 7 1 1 4 1 8 7 7 9 5 4 1 8 2 1 5 3 0 4 6 4 7 4 9 8 3 5 8 1 9 4 1 2 6 7 3 9 8 7 6 7 5 5 9 1 6 5 5 4 3 9 4 6 0 7 7 0 6 2 9 1 4 5 7 1 1 9 6 4 7 7 6 8 6 5 4 2 1 6 7 6 6 0 4 2 9 8 3 1 6 5 2 6 2 4 3 8 6 8 3 7 2 0 5 6 6 8 0 6 9 3 7 6 

Vom Hirn direkt in die Tasten der Tastatur?

Man braucht einen Algorithmus, gegossen in Mathematik? Kein Problem, aber es geht auch einfacher, mit Pythons Listen und dem Wunsche, einfach keinen Ziffern­algorithmus stricken zu wollen.



Ein Einzeiler für die Quersumme


Die kompakte Funktion quersumme(n) liefert die Quer­sum­me einer natür­lichen Zahl n:

def quersumme(n):

   return sum((map(int,list(str(n)))),0);

quersumme(n) – ein Ein­zei­ler und ein ein­faches Bei­spiel für die Eleganz der funktionalen Program­mierung - verwendet werden nur einge­baute Funk­tionen der Sprache Python.

Die Funktion str wandelt die natürliche Zahl n in eine Zeichen­kette um, list macht daraus eine Liste von Einzel­zeichen, map wendet die Funktion int auf jedes Element dieser Liste an, man erhält so in einer weiteren Liste die Ziffern der Zahl n, sum läuft über diese Liste und summiert die Ziffern mit dem Start­wert 0 auf zu der gewünsch­ten Quer­summe.

Meine Funktion quersumme soll zusätz­lich noch die Anzahl der Ziffern der Zahl n zurück­geben, dazu wird als Zwischen­ergebnis die Liste der Ziffern digitsList der Zahl n benötigt, die einge­baute Funktion len gibt die Anzahl der Elemente der Liste digitsList zurück.

quersumme gibt schließ­lich als Ergebnis in einem Zweier­tupel die Anzahl der Ziffern und eben die Quer­sum­me zurück.


 

 

Sehr elegant: Diesen Rück­gabe­wert kann man in einer Zuwei­sung gleich den Tupel­elementen 'Zahl der Ziffern' und 'Quer­summe' des Zweier­tupels (zz,qs) zuweisen.

Die Zahlen für den Test liefert mir ein Generatorausdruck, der in runden Klammern ge­klam­mert wird, ein Beispiel: ( (k,2**(10**k)) for k in range(7) ). Ein Generator­ausdruck liefert keine voll­ständige Liste zurück, sondern Generator­objekte, über die man iterieren kann – hier sind das Zweier­tupel der Bau­weise (5,2**(10**5)).

Die Formatierung von Text­ausgaben ist wohl in jeder Program­mier­sprache eine mehr oder we­ni­ger kryp­tische Ange­legen­heit, mir helfen meist nur vorge­fundene Bei­spiele, so auch hier für die schöne spalten­weise Ausgabe der Resul­tate.

Testzahlen sind die Potenzen 2**(10**k), k=0..7, ein Beispiel 2**(10**5) = 2100000, man erhält eine wunder­bare Zahlen­wüste, es gibt ja Gehirne, die sich solche Kolonnen noch mer­ken können - oder gar im Kopf aus­rechnen können? Oder von der Zahlen­kolonne auf die Potenz schließen können?


Die Zahl 2**(10**5) hat 30103 Ziffern und die Quer­summe ist 135178. Wenn Sie in der Mi­nu­te 20 Ziffern auf­addieren, brauchen Sie 25 Stunden für den Zeit­vertreib. Als kleine Hil­fe­stel­lung habe ich die Ziffern unter­schiedlich einge­färbt:
 

9 9 9 0 0 2 0 9 3 0 1 4 3 8 4 5 0 7 9 4 4 0 3 2 7 6 4 3 3 0 0 3 3 5 9 0 9 8 0 4 2 9 1 3 9 0 5 4 1 8 1 6 9 1 7 7 1 5 2 9 2 7 3 8 6 3 1 4 5 8 3 2 4 6 4 2 5 7 3 4 8 3 2 7 4 8 7 3 3 1 3 3 2 4 4 9 6 5 0 4 0 3 1 6 4 3 9 4 4 4 5 5 5 5 8 5 4 9 3 0 0 1 8 7 9 9 6 6 0 7 6 5 6 1 7 6 5 6 2 9 0 8 4 7 1 3 5 4 2 4 7 4 9 2 8 7 5 1 9 8 8 8 9 6 2 9 8 7 3 6 7 1 0 9 3 2 4 6 3 5 0 4 2 7 3 7 3 1 1 2 4 7 9 2 6 5 8 0 0 2 7 8 5 3 1 2 4 1 0 8 8 7 3 7 0 8 5 6 0 5 2 8 7 2 2 8 3 9 0 1 6 4 5 6 8 6 9 1 0 2 6 8 5 0 6 7 5 9 2 3 5 1 7 9 1 4 6 9 7 0 5 2 8 5 7 6 4 4 6 9 6 8 0 1 5 2 4 8 3 2 3 4 5 4 7 5 5 4 3 2 5 0 2 9 2 7 8 6 5 2 0 8 0 6 9 5 7 7 7 0 9 7 1 7 4 1 1 0 2 2 3 2 0 4 2 9 7 6 3 5 1 2 0 5 3 3 0 7 7 7 9 9 6 8 9 7 9 2 5 1 1 6 6 1 9 8 7 0 7 7 1 7 8 5 7 7 5 9 5 5 5 2 1 7 2 0 0 8 1 3 2 0 2 9 5 2 0 4 6 1 7 9 4 9 2 2 9 2 5 9 2 9 5 6 2 3 9 2 0 9 6 5 7 9 7 8 7 3 5 5 8 1 5 8 6 6 7 5 2 5 4 9 5 7 9 7 3 1 3 1 4 4 8 0 6 2 4 9 2 6 0 2 6 1 8 3 7 9 4 1 3 0 5 0 8 0 5 8 2 6 8 6 0 3 1 5 3 5 1 3 4 1 7 8 7 3 9 6 2 2 8 3 4 9 9 0 8 8 6 3 5 7 7 5 8 0 6 2 1 0 4 6 0 6 6 3 6 3 7 2 1 3 0 5 8 7 7 9 5 3 2 2 3 4 4 9 7 2 0 1 0 8 0 8 4 8 6 3 6 9 5 4 1 4 0 1 8 3 5 8 5 1 3 5 9 8 5 8 0 3 5 6 0 3 5 7 4 0 2 1 8 7 2 9 0 8 1 5 5 5 6 6 5 8 0 6 0 7 1 8 6 4 6 1 2 6 8 9 7 2 8 3 9 7 9 4 6 2 1 8 4 2 2 6 7 5 7 9 3 4 9 6 3 8 8 9 3 3 5 7 2 4 7 5 8 8 7 6 1 9 5 9 1 3 7 6 5 6 7 6 2 4 1 1 1 2 5 0 2 0 7 0 8 7 0 4 8 7 0 4 6 5 1 7 9 3 9 6 3 9 8 7 1 0 1 0 9 2 0 0 3 6 3 9 3 4 7 4 5 6 1 8 0 9 0 6 0 1 6 1 3 3 7 7 8 9 8 5 6 0 2 9 6 8 6 3 5 9 8 5 5 8 0 2 4 7 6 1 4 4 8 9 3 3 0 4 7 0 5 2 2 2 2 8 6 0 1 3 1 3 7 7 0 9 5 9 5 8 3 5 7 3 1 9 4 8 5 8 9 8 4 9 6 4 0 4 5 7 2 3 8 3 8 7 5 1 7 0 7 0 2 2 4 2 3 3 2 6 3 3 4 3 6 8 9 4 4 2 3 2 9 7 3 8 1 8 7 7 7 3 3 1 5 3 2 8 6 9 4 4 2 1 7 9 3 6 1 2 5 3 0 1 9 0 7 8 6 8 9 0 3 6 0 3 6 6 3 2 8 3 1 6 1 5 0 2 7 2 6 1 3 9 9 3 4 1 5 2 8 0 4 0 7 1 1 7 1 9 1 4 9 2 3 9 0 3 3 4 1 8 7 4 9 3 5 3 9 4 4 5 5 8 9 6 3 0 1 2 9 2 1 9 7 2 5 6 4 1 7 7 1 7 2 3 3 5 4 3 5 4 4 7 5 1 5 5 2 3 7 9 3 1 0 8 9 2 2 6 8 1 8 2 4 0 2 4 5 2 7 5 5 7 5 2 0 9 4 7 0 4 6 4 2 1 8 5 9 4 3 8 6 2 8 6 5 6 3 2 7 4 4 2 3 1 3 3 2 0 8 4 7 4 2 2 2 1 5 5 1 4 9 3 3 1 5 0 0 2 7 1 7 7 5 0 0 6 4 2 2 8 8 2 6 2 1 1 8 2 2 5 4 9 3 4 9 6 0 0 5 5 7 4 5 7 3 3 4 9 6 4 6 7 8 4 8 3 2 6 9 1 8 0 9 5 1 8 9 5 9 5 5 7 6 9 1 7 4 5 0 9 6 7 3 2 2 4 4 1 7 7 4 0 4 3 2 8 4 0 4 5 5 8 8 2 1 0 9 1 3 7 9 0 5 3 7 5 6 4 6 7 7 2 1 3 9 9 7 6 6 2 1 7 8 5 2 6 5 0 5 7 1 6 9 8 5 4 8 3 4 5 6 2 4 8 7 5 1 8 3 2 2 3 8 3 2 5 0 3 1 8 6 4 5 5 0 5 4 7 2 1 1 4 3 6 9 9 3 4 1 6 7 9 8 1 6 7 8 1 7 0 2 5 5 1 2 2 8 1 2 9 7 8 0 6 5 1 9 4 8 0 6 2 9 5 4 0 5 3 3 9 1 5 4 6 5 7 4 7 9 9 4 1 2 9 7 4 9 9 1 9 0 3 4 8 5 0 7 5 4 4 3 3 6 4 1 4 5 0 5 6 3 1 6 5 7 3 9 6 0 0 6 6 9 3 3 8 2 4 2 7 3 1 6 4 3 4 0 3 9 5 8 0 1 2 1 2 8 0 2 6 0 9 8 4 2 1 2 2 4 7 5 1 4 2 0 7 8 3 4 7 1 2 2 2 4 8 3 1 4 1 0 3 0 4 0 6 8 6 0 3 7 1 9 6 4 0 1 6 1 8 5 5 7 4 1 6 5 6 4 3 9 4 7 2 2 5 3 4 6 4 9 4 5 2 4 9 7 0 0 3 1 4 5 0 9 8 9 0 0 9 3 1 6 2 2 6 8 9 5 2 7 4 4 4 2 8 7 0 5 4 7 6 4 2 5 4 7 2 2 5 3 1 6 7 5 1 4 5 2 1 1 8 2 2 3 1 4 5 5 3 8 8 3 7 4 3 0 8 2 3 2 6 4 2 2 0 0 6 3 3 0 2 5 1 3 7 5 3 3 1 2 9 3 6 5 1 6 4 3 4 1 7 2 5 2 0 6 2 5 6 1 5 5 3 1 1 7 9 4 7 3 8 6 1 9 1 4 2 9 0 4 7 6 1 4 4 5 6 5 4 9 2 7 1 2 8 4 1 8 1 7 5 1 8 3 5 3 1 3 2 7 0 5 2 9 7 5 4 9 5 3 7 0 5 6 1 4 3 8 2 3 9 5 7 3 2 2 7 9 3 9 6 7 3 0 3 0 1 0 6 0 7 7 4 5 6 8 4 8 4 7 7 4 2 7 8 3 2 1 9 5 3 4 9 2 2 7 9 8 3 8 3 6 4 3 6 1 6 3 7 6 4 7 4 2 9 6 9 5 4 5 9 0 6 6 7 2 3 6 9 1 2 4 1 3 6 3 2 5 9 3 2 1 2 3 3 3 5 6 4 3 1 3 5 8 9 4 4 6 5 2 1 9 1 0 1 8 8 2 1 2 3 8 2 9 7 4 0 9 0 7 9 1 6 3 8 6 0 2 3 2 3 5 4 5 0 9 5 9 3 8 8 7 6 6 7 3 6 4 0 3 2 2 9 5 7 7 9 9 3 9 0 1 1 5 2 1 5 4 4 4 8 0 0 3 6 3 7 2 1 5 0 6 9 1 1 5 5 9 1 1 1 1 9 9 6 0 0 1 5 3 0 5 8 9 1 0 7 7 2 9 4 2 1 0 3 2 2 3 0 4 2 4 2 6 2 0 3 5 6 9 3 4 9 3 2 1 6 0 5 2 9 2 7 5 6 9 6 2 5 8 5 8 4 4 5 8 2 2 3 5 4 5 9 4 6 4 5 2 7 6 9 2 3 1 0 8 1 9 7 3 0 5 8 0 6 2 8 0 3 2 6 5 1 6 7 3 6 4 4 9 3 4 3 7 6 1 7 3 2 4 0 9 7 5 3 3 4 2 3 3 3 2 8 9 7 3 0 2 8 2 9 5 9 1 7 3 5 6 9 2 7 3 0 1 3 2 8 6 4 2 3 3 1 1 7 5 9 6 0 5 2 3 0 4 9 5 1 7 1 6 7 7 0 3 3 1 6 3 7 0 9 5 2 2 2 5 6 9 5 2 4 6 0 4 0 2 1 4 3 3 8 7 6 5 5 1 9 7 6 4 4 0 1 6 5 2 8 1 4 8 0 2 2 3 4 8 3 3 1 8 8 1 0 9 7 5 5 9 4 2 1 9 6 0 4 7 6 4 7 9 3 8 8 5 2 0 1 9 8 5 4 1 0 1 7 3 4 8 9 8 5 9 4 8 5 1 1 0 0 5 4 6 9 2 4 6 6 1 7 2 3 4 1 4 3 1 3 5 3 0 9 9 3 8 4 0 5 9 2 3 2 6 8 9 5 3 5 8 6 5 3 8 8 8 6 9 7 4 4 2 7 0 0 8 6 0 7 0 2 8 6 3 5 5 0 2 0 8 5 5 6 2 0 2 9 5 4 9 3 5 2 4 8 0 0 5 0 7 9 6 5 2 1 5 6 4 9 1 9 6 8 3 2 6 5 1 0 6 7 4 4 1 0 0 9 6 7 8 2 2 9 5 1 9 5 4 1 6 1 6 1 7 7 1 7 5 4 2 9 9 7 5 2 0 0 0 9 8 8 7 3 0 7 3 7 7 8 7 6 2 1 0 6 8 5 8 9 0 7 7 0 9 6 9 4 1 1 6 1 0 4 3 8 0 2 8 6 2 3 9 5 0 4 4 5 3 2 3 7 8 9 5 9 1 8 7 0 7 6 0 2 8 9 2 6 0 3 9 3 4 8 9 8 2 6 1 0 0 7 7 4 8 8 7 6 7 2 8 5 2 9 1 8 1 0 6 4 6 8 4 8 9 1 4 3 8 9 3 6 4 9 0 6 4 7 8 4 5 9 1 2 1 1 6 1 2 1 9 3 3 0 0 7 0 7 9 0 0 5 3 7 0 5 9 0 4 2 1 8 8 0 1 2 8 5 6 5 5 9 4 0 3 6 9 9 0 7 0 8 8 8 0 3 2 9 6 6 8 7 1 6 1 1 6 5 5 9 6 1 2 3 2 3 3 1 9 9 8 3 1 0 9 2 3 2 2 5 0 8 2 8 6 6 1 8 0 3 2 1 8 8 0 4 3 9 4 4 7 5 7 2 9 8 6 7 6 2 0 9 6 9 3 5 8 1 9 7 8 4 3 8 5 9 2 7 9 6 9 2 5 0 1 2 3 3 2 6 9 3 5 1 9 4 6 9 3 2 0 7 7 2 4 3 3 5 5 2 7 3 6 5 5 6 6 2 4 8 2 2 3 7 8 7 8 3 3 8 8 8 0 7 4 9 9 9 2 7 6 8 3 1 6 3 3 4 4 0 3 1 8 6 0 4 4 6 3 6 1 8 7 0 3 7 8 9 7 8 4 3 1 3 0 3 2 8 4 3 8 2 3 4 7 0 4 1 0 9 4 4 3 0 6 5 9 1 4 7 1 9 2 8 3 4 1 1 9 0 9 7 5 1 8 5 2 3 9 2 1 2 3 2 7 6 7 4 3 8 4 9 9 0 5 6 1 5 6 3 6 8 8 4 3 2 9 3 9 0 3 9 4 4 2 0 0 2 6 1 7 5 3 0 9 7 6 8 5 0 6 0 5 1 3 2 9 3 7 1 0 1 4 4 9 0 8 6 3 9 6 1 4 1 6 2 0 5 5 6 0 5 3 5 4 7 3 3 5 5 6 9 9 2 6 7 0 0 9 4 1 3 7 5 2 7 1 8 2 9 1 4 2 4 0 7 2 3 4 2 6 7 9 3 7 5 6 5 0 6 9 7 6 5 5 6 7 4 7 5 9 3 4 1 0 1 3 1 0 2 2 5 3 4 2 8 3 0 0 8 0 4 0 9 0 7 9 5 8 7 3 2 9 5 4 4 2 1 3 5 5 1 3 0 7 3 0 2 0 5 0 1 7 1 5 9 8 4 2 4 2 3 0 7 6 0 4 6 9 2 0 9 7 3 2 9 0 7 2 9 0 1 4 1 6 0 6 3 5 3 9 6 0 8 8 0 5 5 9 2 0 2 3 5 7 3 7 6 8 8 5 6 4 7 8 5 2 2 4 0 0 9 2 7 7 7 1 1 1 4 8 9 1 3 4 4 9 2 4 1 6 9 9 5 6 0 7 1 7 1 7 8 6 2 9 8 4 3 6 5 3 3 9 7 8 1 8 0 8 6 9 4 7 4 1 0 6 7 5 1 1 1 1 3 5 3 5 2 3 7 1 1 5 4 0 4 3 6 5 9 9 3 1 0 8 8 9 6 9 7 4 8 5 6 5 8 8 0 0 8 8 7 8 6 1 9 7 4 9 3 4 3 5 7 9 2 9 2 4 6 2 0 4 0 5 1 7 6 7 2 4 6 0 1 2 2 5 0 6 1 8 4 0 4 0 1 1 9 6 6 2 8 9 8 7 2 6 7 3 8 0 3 0 7 0 4 9 8 3 6 1 2 1 7 9 7 4 4 8 4 6 7 9 1 0 0 7 4 7 8 4 6 3 5 6 1 9 4 6 6 4 8 2 9 2 2 4 7 3 6 1 3 4 1 1 5 1 3 5 5 6 7 1 7 9 2 9 1 7 8 1 9 6 8 0 5 6 0 5 3 7 2 6 4 8 4 1 4 1 1 2 8 3 4 7 8 5 8 2 4 1 2 5 9 1 2 1 9 5 4 6 0 1 1 8 4 4 1 2 4 0 9 3 4 9 7 8 2 9 6 3 3 1 7 0 4 2 0 0 2 5 3 0 4 1 8 6 6 1 6 9 4 9 6 2 3 1 8 7 3 5 8 6 0 6 5 2 4 8 5 4 1 0 2 2 2 2 1 1 8 6 9 5 4 4 2 2 3 7 8 8 2 8 9 1 8 9 7 1 2 0 8 0 5 1 4 5 7 5 1 4 1 3 6 1 9 6 4 8 0 5 3 6 9 7 2 3 1 6 4 5 7 0 5 6 4 9 9 8 4 7 9 5 3 7 6 5 7 1 7 4 5 4 8 1 2 8 5 9 7 4 0 6 0 7 7 3 3 9 1 5 8 7 7 5 3 3 2 3 5 5 2 1 5 6 0 9 4 3 5 9 1 9 2 7 5 1 9 9 3 5 1 0 1 4 2 2 2 2 4 6 9 6 3 0 1 7 0 1 3 7 1 7 4 1 9 3 3 7 5 0 4 9 1 9 2 9 5 3 6 3 2 9 5 1 0 1 1 1 5 2 9 2 9 5 1 8 3 6 2 8 2 8 1 9 1 9 1 8 2 1 6 5 1 6 7 6 4 5 5 9 4 6 5 1 5 8 2 8 0 4 8 9 8 4 2 5 6 1 1 6 7 4 8 1 5 0 3 6 7 8 0 5 2 6 7 8 7 8 6 6 2 7 1 6 9 9 9 6 4 9 2 9 6 9 4 9 3 7 7 0 4 5 7 9 4 8 7 6 1 4 6 6 2 8 1 1 0 9 2 9 9 8 2 0 2 0 7 3 7 0 1 3 3 3 0 3 2 4 4 5 1 0 0 5 3 8 5 3 7 8 5 5 1 1 8 8 8 0 3 4 7 4 1 4 8 1 9 8 6 6 5 1 1 4 5 7 9 3 2 2 6 8 4 9 0 0 9 9 3 0 0 0 2 3 6 7 3 6 1 6 8 5 5 5 2 9 4 1 7 3 4 4 2 0 5 9 9 2 5 3 7 1 9 6 5 2 4 4 9 9 7 9 2 5 4 8 3 1 5 9 3 4 3 7 0 6 3 4 3 9 7 0 3 7 1 8 0 9 6 1 1 4 7 0 3 2 3 0 7 4 1 8 6 9 8 5 0 3 5 0 5 4 7 2 2 2 8 9 0 2 7 1 7 4 8 5 0 3 3 3 3 6 8 3 2 8 3 0 0 2 8 1 1 3 2 9 1 0 8 4 1 6 9 3 1 5 0 4 5 7 3 8 9 9 3 3 1 8 3 9 3 4 5 9 3 2 9 2 9 9 4 9 4 2 7 9 6 0 1 5 3 0 9 7 5 6 1 1 8 7 0 8 9 1 8 9 2 9 5 2 8 4 4 9 0 7 4 2 4 3 2 8 4 7 6 7 0 0 6 2 4 3 1 7 1 1 7 1 6 2 2 7 3 1 7 6 6 6 0 6 7 9 6 1 0 1 9 6 7 8 0 2 2 0 4 5 6 4 5 8 9 0 1 5 8 9 9 5 2 4 7 0 4 7 4 1 0 0 1 1 5 8 1 1 0 9 6 3 6 3 3 7 3 1 3 2 9 3 8 8 3 5 6 8 6 8 9 4 9 4 0 8 7 5 9 3 3 4 1 7 6 9 0 9 3 8 7 8 0 6 3 9 8 5 8 4 6 4 7 3 0 0 5 8 8 9 2 8 1 7 5 9 9 8 8 4 4 4 7 7 4 8 6 1 3 0 0 6 3 1 5 3 0 6 8 7 6 0 0 7 0 0 8 4 8 3 7 2 6 7 5 2 7 7 8 9 7 7 7 3 5 6 8 3 0 0 4 2 7 7 8 9 0 2 7 7 2 1 0 5 6 8 3 8 3 3 0 2 1 4 7 0 2 7 9 7 2 8 5 9 5 3 3 6 3 3 2 1 1 0 5 6 4 0 6 4 2 6 3 9 0 9 7 2 4 5 7 9 9 4 9 6 8 6 1 6 2 9 0 8 0 1 9 6 0 4 1 4 1 7 5 3 9 3 5 7 6 8 8 7 6 5 8 7 9 9 2 4 2 8 5 4 9 9 1 2 1 5 1 7 3 7 9 2 4 2 7 0 3 4 3 2 4 8 6 4 8 4 1 4 2 4 7 4 5 6 8 3 8 8 8 9 5 4 1 8 9 3 2 4 1 4 5 0 9 8 7 5 0 5 7 5 9 4 0 3 0 1 3 2 4 9 6 9 7 5 4 1 6 9 6 9 5 5 3 3 0 2 9 6 8 8 0 2 1 9 3 0 4 8 7 4 1 6 3 5 0 1 0 9 7 9 2 0 0 3 6 2 1 0 2 3 8 7 6 8 2 7 5 1 7 6 3 6 9 9 8 0 9 7 7 6 1 4 9 7 9 6 3 6 0 9 6 7 0 4 3 4 8 1 4 0 1 2 4 1 3 0 6 8 3 5 7 6 8 7 9 9 0 4 9 9 7 4 3 6 5 9 6 2 9 6 4 9 5 7 0 5 4 5 9 5 2 4 7 3 5 3 8 2 0 0 0 3 6 3 7 7 0 3 2 4 8 9 4 9 8 2 1 0 3 3 3 1 3 3 2 9 1 3 5 6 2 3 1 5 1 6 9 8 5 4 4 1 0 4 1 5 3 1 7 0 5 4 1 9 3 9 2 8 2 3 4 7 2 3 3 9 8 8 4 8 4 5 3 5 5 2 1 7 3 2 0 3 6 8 8 0 8 8 3 1 2 1 0 0 9 4 3 9 4 1 4 3 4 9 3 8 2 8 2 2 0 3 5 4 9 6 5 0 2 8 1 5 3 0 7 5 1 0 8 7 0 9 8 6 0 4 6 8 1 2 2 4 8 0 2 9 7 3 8 2 5 6 3 1 2 4 4 9 8 9 3 3 1 9 6 5 2 9 6 2 0 2 3 7 2 6 0 8 5 8 6 5 0 9 0 5 0 3 0 7 9 9 3 3 0 8 6 5 2 0 0 1 2 3 1 6 7 1 9 1 5 1 8 2 7 6 5 7 4 2 0 9 5 6 8 9 5 1 3 1 3 6 1 8 4 0 9 5 4 1 2 1 2 1 4 7 3 7 8 6 3 1 1 0 4 2 8 9 7 7 1 7 8 6 1 4 4 8 1 5 8 3 1 6 9 6 5 8 4 8 7 6 6 9 4 9 5 5 4 8 2 6 2 5 2 5 0 4 9 6 1 2 2 7 0 4 4 7 1 4 7 1 2 2 2 9 6 2 0 2 7 4 6 8 2 3 6 2 9 0 9 8 0 3 8 7 7 4 6 9 3 7 6 9 8 7 3 5 8 9 4 2 1 2 5 4 4 1 7 9 2 3 5 5 2 9 8 3 8 7 4 7 9 8 3 0 4 5 0 2 5 3 9 0 9 7 8 8 7 3 3 4 6 9 7 3 2 6 0 3 0 9 7 5 4 4 1 5 6 4 7 4 8 0 5 4 7 3 7 3 2 7 3 2 7 6 7 2 4 8 6 5 2 7 5 9 0 3 4 9 9 5 3 3 6 3 5 4 1 2 6 9 5 3 9 0 0 4 5 8 8 5 4 9 8 8 6 8 3 5 7 4 9 2 7 8 6 4 6 1 5 2 5 2 0 4 0 8 0 0 4 9 0 1 1 4 7 8 5 8 9 2 2 8 9 0 8 5 4 4 3 3 5 3 9 9 6 9 9 4 7 8 0 8 6 7 4 7 1 6 1 3 5 1 9 7 8 5 8 3 8 5 7 1 4 5 6 4 2 1 5 8 3 1 7 1 1 9 3 0 0 4 1 1 7 9 8 9 4 4 0 7 9 0 2 6 8 3 4 6 3 5 7 5 5 0 3 3 9 8 8 8 0 8 6 7 2 5 1 2 7 8 8 3 5 7 7 2 9 7 6 2 6 4 9 9 2 1 3 8 2 7 4 3 6 5 7 3 9 9 2 9 2 7 3 0 2 2 3 8 7 9 2 5 7 6 9 2 4 2 3 2 7 8 5 4 8 7 2 0 1 2 9 7 2 5 5 3 8 6 0 7 1 9 6 8 3 0 3 7 8 2 4 8 3 0 6 3 7 2 5 8 9 9 8 0 8 4 8 4 6 3 8 5 0 3 8 2 8 3 5 6 2 5 8 4 0 3 9 1 7 3 1 1 8 7 2 6 9 4 3 8 1 4 6 4 5 5 3 6 5 1 6 9 0 0 6 2 5 3 0 0 2 3 2 1 7 5 9 1 3 4 3 0 8 4 7 5 5 2 1 5 9 0 1 4 7 5 2 9 9 1 4 9 2 1 5 2 9 6 9 4 4 3 6 2 3 6 6 9 1 0 8 3 3 2 3 3 6 9 3 7 6 7 9 9 3 1 3 8 2 0 9 2 7 5 8 7 0 0 2 4 2 4 6 2 3 8 3 3 1 2 1 8 2 3 6 7 1 5 2 3 6 7 7 2 0 9 8 4 1 7 1 8 7 7 0 3 8 6 0 1 7 2 3 0 8 5 2 2 4 4 8 0 4 3 1 7 6 3 3 3 6 0 2 7 5 9 7 3 3 1 6 1 2 0 1 2 6 2 2 4 8 3 2 3 0 8 5 3 2 9 2 8 8 9 8 6 1 5 4 5 5 9 2 2 1 4 2 7 3 7 8 5 0 7 4 1 0 9 7 8 8 2 2 2 4 4 7 2 9 5 1 2 6 6 3 5 7 2 2 2 5 5 6 7 1 6 9 7 7 9 4 0 9 7 6 7 3 4 1 5 4 3 0 1 7 2 8 9 2 6 8 3 3 2 6 3 5 0 7 7 4 5 1 2 1 0 1 6 7 8 6 9 1 2 1 3 3 4 4 6 5 6 8 0 7 3 9 7 9 7 3 7 2 7 1 1 4 6 1 9 1 9 2 9 9 9 3 8 1 1 8 1 7 8 8 2 7 5 4 1 4 2 1 7 9 2 9 2 6 8 8 3 7 9 0 2 8 5 4 3 0 9 0 9 9 4 2 4 4 1 2 6 0 5 1 1 9 4 5 8 4 9 2 3 7 9 0 9 9 6 6 3 2 9 5 5 0 2 6 3 8 6 5 7 0 1 1 1 4 8 8 4 1 4 2 2 6 6 1 6 2 9 6 9 8 1 0 0 7 3 6 5 2 7 1 0 9 2 8 5 0 4 5 7 9 4 7 0 8 6 1 5 0 8 0 9 4 0 5 4 5 7 7 7 9 7 8 6 4 3 0 1 5 0 4 8 9 9 9 5 8 6 3 4 1 6 4 7 0 0 5 2 8 2 2 0 5 6 2 7 8 6 0 0 8 8 6 4 0 2 5 7 0 9 4 3 2 4 4 4 2 5 4 0 4 4 0 3 4 2 4 3 1 4 0 2 0 3 8 1 2 0 7 4 8 5 7 5 3 7 9 9 9 0 1 6 0 6 6 4 6 5 5 2 0 9 8 6 9 8 0 7 9 0 5 8 9 3 4 7 3 2 0 2 4 3 0 5 0 6 3 5 9 0 7 3 6 3 8 2 1 5 2 1 2 8 0 6 0 0 0 4 1 8 2 7 5 2 9 3 2 5 4 8 5 2 4 7 9 2 7 9 0 4 2 3 5 7 2 7 5 9 8 5 7 4 2 0 9 5 5 4 6 3 2 3 6 3 8 3 0 9 3 2 4 2 8 2 5 0 7 1 1 5 1 8 8 0 1 7 7 5 6 3 3 7 3 9 8 1 1 5 2 3 7 6 1 9 9 4 6 8 6 2 6 3 2 7 0 5 5 0 6 3 5 0 9 9 8 5 1 2 5 4 3 3 3 8 7 5 5 9 4 6 0 1 5 4 0 9 0 0 8 6 2 0 1 4 2 9 3 6 2 5 6 7 3 7 3 8 3 3 1 6 9 3 0 8 2 3 2 8 8 5 4 3 2 7 0 0 1 4 8 7 4 7 6 6 3 5 1 1 8 8 3 0 8 8 5 1 7 3 7 7 5 2 6 8 8 1 9 5 2 6 3 6 0 1 6 5 3 4 5 9 0 0 5 5 6 1 6 0 7 6 7 7 1 3 4 5 3 6 1 7 6 5 5 4 5 0 9 7 4 4 2 4 9 7 9 0 7 6 0 6 3 9 0 6 0 9 3 3 0 0 0 2 8 4 1 6 9 6 4 8 4 7 5 9 4 0 2 7 0 4 6 6 6 9 4 6 8 4 8 6 5 9 3 6 3 6 4 2 5 4 2 8 6 2 5 2 4 1 6 4 4 8 3 6 6 5 2 1 7 3 9 2 2 5 8 6 5 2 8 4 7 4 2 4 4 9 5 2 3 6 3 3 0 2 3 0 5 3 1 1 4 1 3 4 4 9 3 3 2 3 3 9 8 2 2 3 3 6 5 5 1 6 1 1 4 3 1 4 6 9 1 3 1 9 0 0 1 7 0 4 8 8 2 2 6 8 3 6 5 2 5 9 1 6 3 9 9 7 2 3 9 1 2 6 2 6 6 1 6 1 4 0 2 0 5 7 0 7 9 9 6 7 2 7 3 8 3 5 2 9 5 9 7 4 7 9 1 2 5 4 8 8 9 6 1 4 1 9 2 8 7 2 6 1 2 5 9 7 5 7 5 6 1 7 0 1 5 9 2 6 4 5 8 2 3 5 4 1 1 5 1 9 2 2 1 7 7 2 5 3 9 1 9 6 5 1 0 3 4 3 4 4 7 9 3 6 8 0 3 6 9 0 5 7 0 0 3 8 1 3 0 5 6 5 5 7 8 6 6 3 1 1 0 1 1 4 7 6 3 1 3 1 8 9 5 7 1 5 5 6 3 3 6 5 1 8 7 2 7 7 5 7 9 9 1 9 0 8 8 6 2 8 9 0 7 6 5 4 9 4 9 5 2 0 1 9 4 7 4 9 2 2 1 4 8 8 5 1 4 1 7 0 7 9 2 5 2 3 5 2 3 9 4 2 9 3 8 0 1 7 0 1 1 4 9 4 8 5 2 3 9 0 0 5 8 4 4 3 5 8 3 2 9 7 4 8 7 6 9 2 7 9 9 4 1 5 8 6 3 8 4 6 4 0 8 7 7 2 6 5 9 0 1 7 4 9 1 0 4 9 3 3 2 3 8 8 5 3 4 6 5 4 2 9 9 7 9 2 5 3 9 0 0 5 6 1 3 1 1 5 6 2 2 8 8 2 4 1 1 4 7 1 9 2 1 5 8 1 3 7 2 1 0 1 2 0 2 6 7 3 9 9 6 4 8 6 2 2 8 3 1 6 1 0 4 3 0 2 8 7 2 6 8 7 3 9 8 4 0 3 3 5 1 4 2 1 2 0 2 9 9 5 1 6 6 1 0 8 4 6 1 9 3 1 6 4 6 8 8 0 7 5 9 4 4 5 2 6 9 6 5 2 4 8 5 7 0 0 7 0 5 5 4 4 5 2 1 5 2 5 4 7 4 9 3 4 5 0 4 3 4 8 5 2 9 1 7 9 8 7 5 1 2 1 8 5 9 7 3 6 4 7 1 9 0 4 6 1 5 1 5 4 1 3 5 8 2 5 8 2 1 3 9 0 4 0 1 7 2 1 1 8 2 9 5 7 0 2 3 2 7 5 3 7 0 2 7 3 8 9 7 8 7 7 9 3 5 0 6 9 0 4 0 4 4 9 3 8 5 5 3 5 8 7 6 5 0 5 0 3 5 5 7 1 5 5 8 7 2 8 7 3 2 0 1 5 9 6 8 8 5 0 6 1 3 3 1 1 4 5 4 7 7 1 0 1 5 7 5 6 9 9 3 7 5 4 4 1 0 9 7 4 9 3 3 7 4 1 1 5 9 9 1 1 9 9 1 1 4 9 6 2 7 2 6 8 0 1 7 1 8 0 3 8 9 5 0 9 0 7 8 0 3 0 4 1 1 8 4 4 0 0 0 7 5 5 8 5 4 6 8 5 6 0 9 7 6 9 6 5 6 6 9 5 8 4 3 2 5 6 2 7 2 8 3 3 2 7 4 1 6 4 1 8 0 4 4 5 9 0 7 2 7 8 4 4 6 8 0 0 5 1 3 6 0 7 7 4 1 5 4 2 8 8 4 1 2 7 1 2 4 5 6 3 5 3 3 8 3 6 2 5 4 6 9 0 6 8 9 3 6 4 3 0 9 0 2 0 6 8 2 1 6 7 5 0 4 5 9 8 1 9 3 2 1 7 4 4 5 1 3 3 6 2 9 1 3 8 5 3 9 8 3 1 5 4 5 6 0 6 1 0 4 5 9 6 9 2 6 0 4 5 0 8 7 8 7 7 0 0 3 0 4 1 8 4 5 7 9 1 5 3 4 7 8 2 9 1 7 2 5 7 6 2 8 1 0 6 3 2 7 2 2 1 0 8 0 3 5 8 2 6 0 6 0 9 0 4 5 7 2 4 6 0 6 1 9 2 0 4 2 3 7 5 8 0 3 6 3 1 4 7 2 0 0 1 5 8 7 4 9 0 7 5 3 6 1 6 3 3 7 8 5 2 4 3 4 6 2 2 9 8 7 6 9 9 1 7 8 8 7 8 0 8 6 7 1 4 5 3 9 2 8 8 4 6 5 7 2 4 1 7 2 2 3 5 0 4 8 8 7 7 6 6 8 0 3 8 6 9 4 5 3 4 7 4 5 8 8 8 3 1 9 0 7 5 9 7 3 5 5 2 9 2 8 0 0 7 0 9 2 4 1 4 7 1 3 7 0 6 9 6 6 4 7 0 2 9 5 3 0 7 0 0 5 0 7 0 8 3 0 9 1 4 1 2 4 9 2 7 7 1 4 0 4 7 7 6 1 9 3 4 5 9 0 0 7 3 1 5 2 0 6 2 3 3 6 3 4 2 2 6 1 2 8 1 3 7 0 7 4 5 0 4 1 6 2 5 2 0 4 7 3 4 4 9 5 9 7 4 1 5 6 7 8 8 8 2 0 0 3 8 4 5 4 4 6 7 7 4 3 8 8 9 5 0 3 7 9 1 9 2 3 4 4 5 9 4 1 7 1 2 4 5 5 1 0 2 3 1 7 3 8 9 9 5 0 3 0 3 4 8 4 2 1 9 3 7 0 8 8 0 8 3 3 2 9 7 0 9 1 0 8 1 7 6 5 6 1 0 1 0 7 0 8 6 9 3 1 5 8 0 2 0 6 9 5 0 6 0 0 9 6 4 2 8 3 5 2 0 4 6 6 4 7 3 3 3 3 6 1 1 6 3 4 7 6 6 6 4 1 0 6 3 1 1 2 4 7 0 6 5 1 7 3 8 0 2 5 1 0 5 9 9 4 0 9 2 6 6 9 0 8 9 8 4 0 4 6 6 6 3 2 9 8 6 1 3 6 4 8 8 5 4 8 7 1 2 3 0 6 5 9 9 0 3 5 6 5 7 7 2 3 2 7 6 6 7 6 9 6 0 5 7 1 8 7 0 5 7 2 7 6 8 1 4 3 9 4 9 3 2 5 5 9 3 7 1 3 6 8 0 2 9 3 7 5 9 7 4 6 0 4 1 1 6 0 7 5 6 4 1 5 9 9 9 1 9 4 0 2 2 6 6 7 9 4 2 3 0 6 8 1 4 8 5 7 2 3 3 6 1 3 6 3 5 9 2 9 0 3 6 7 6 8 4 1 4 8 0 3 5 8 3 2 8 0 9 3 1 2 7 5 0 6 8 0 1 1 1 1 5 7 1 6 1 5 0 6 2 7 6 1 5 5 6 6 0 7 1 5 8 2 3 6 6 1 2 2 6 8 5 4 4 2 6 8 3 3 0 2 7 4 7 2 5 8 4 9 2 9 4 8 7 5 8 5 2 0 8 9 7 9 0 8 5 0 9 6 2 8 3 5 2 3 5 5 2 7 9 7 8 4 9 1 4 7 5 5 6 3 7 4 4 3 1 8 4 8 3 9 9 3 4 7 4 6 3 3 3 0 0 3 3 0 9 7 2 4 9 7 0 1 2 8 0 8 4 1 5 9 0 0 9 6 9 4 5 5 1 9 0 3 7 5 8 4 9 9 4 5 7 5 0 3 7 9 4 6 5 0 1 9 1 6 6 0 0 9 8 6 1 5 0 2 7 9 4 6 0 6 1 3 0 7 9 4 7 2 6 8 9 8 5 0 7 8 4 9 6 1 0 3 0 3 8 8 4 8 4 6 0 3 5 4 2 3 3 9 2 1 7 5 4 4 9 5 0 5 8 7 6 1 5 7 1 3 0 3 4 4 7 0 0 4 1 5 8 2 3 0 8 0 2 2 5 7 8 6 6 9 3 3 0 0 5 1 2 1 2 6 8 3 1 8 4 6 0 0 9 5 1 0 2 0 3 5 4 3 1 7 4 3 2 3 7 8 3 2 9 2 1 7 6 8 6 5 9 7 6 0 7 6 2 7 5 4 1 2 4 2 1 8 9 2 8 0 8 1 3 8 8 7 2 8 8 0 1 7 5 8 1 3 1 0 9 2 9 6 0 2 0 1 5 0 7 4 6 3 3 1 9 7 9 5 6 1 4 8 8 1 4 6 3 3 3 4 1 2 6 7 4 8 9 6 2 5 6 8 8 3 7 8 4 3 5 1 1 7 8 4 7 7 5 9 2 6 6 0 5 7 7 2 1 2 7 3 4 2 6 9 3 2 8 3 8 2 3 8 4 7 1 1 7 4 6 0 8 3 7 8 2 2 0 9 9 3 9 6 4 6 6 1 2 3 0 8 3 4 3 9 5 2 1 6 9 5 7 6 5 8 1 0 6 5 4 2 3 7 7 1 9 8 1 8 9 9 5 7 3 8 4 0 4 3 0 3 1 5 9 3 0 9 7 3 2 1 5 0 5 9 9 0 1 3 7 1 2 1 8 3 9 9 7 6 2 5 8 5 0 5 5 4 3 5 4 5 9 5 1 6 3 4 0 0 5 5 1 4 9 0 8 0 5 6 5 6 2 7 3 3 0 4 7 5 3 6 2 5 2 8 9 2 6 9 4 5 0 2 0 2 2 6 1 6 3 1 3 0 9 0 2 4 2 0 7 9 5 0 0 6 2 5 8 9 3 1 3 6 7 8 1 3 0 0 5 2 2 2 1 4 0 7 4 2 9 6 4 7 5 6 1 9 4 0 5 3 7 8 2 1 8 2 4 5 2 8 3 3 0 9 7 0 2 1 5 5 4 2 1 0 9 2 9 6 3 8 6 9 3 0 0 5 4 6 0 0 1 1 9 2 7 1 7 8 3 0 2 7 6 1 5 6 3 5 0 5 7 1 5 7 3 5 4 0 5 6 7 2 6 5 2 5 2 4 1 7 5 9 2 5 4 3 6 3 7 1 8 6 3 4 7 1 8 3 6 2 9 2 0 1 2 1 6 2 4 5 6 6 6 2 0 9 3 6 4 2 0 7 4 6 0 5 5 0 0 8 4 2 4 4 9 3 4 7 2 8 9 8 3 0 6 1 9 5 0 6 0 7 7 5 7 0 5 2 8 7 5 4 8 4 5 2 7 7 6 8 0 6 6 1 2 1 8 3 5 8 0 6 6 1 3 0 2 9 1 4 6 3 2 8 8 9 3 2 2 4 0 7 0 1 0 4 3 8 8 7 5 3 5 0 0 7 8 5 1 9 9 7 1 5 9 1 9 8 3 9 0 0 8 4 6 5 4 5 9 6 9 9 6 1 9 7 1 3 8 3 9 9 7 2 3 4 9 5 8 6 3 7 4 9 8 0 6 5 8 2 4 3 9 3 8 4 6 1 5 0 4 9 1 8 4 0 4 8 4 8 5 8 1 9 1 9 3 5 6 0 6 6 7 1 2 5 9 6 8 0 1 8 5 7 4 8 7 7 8 1 9 5 6 1 1 0 4 3 3 5 2 3 8 4 2 0 8 7 3 4 1 7 7 4 3 3 8 5 1 8 5 7 3 5 6 6 3 1 0 1 2 9 2 7 5 7 4 0 9 2 8 0 5 8 6 8 4 0 0 1 1 8 0 4 8 5 4 9 9 4 1 4 9 4 7 8 7 3 6 8 8 2 9 4 9 3 6 8 7 8 6 6 3 7 2 0 2 6 8 2 6 0 7 1 9 8 7 0 7 6 5 6 2 8 6 4 3 6 7 5 3 7 7 5 7 0 9 5 6 0 3 4 9 7 1 8 3 9 7 4 0 5 5 6 5 5 0 5 2 6 9 4 2 5 2 1 8 3 5 4 3 0 1 3 4 8 9 1 0 7 8 5 2 3 4 5 1 7 7 9 5 5 1 9 7 5 7 5 1 6 4 8 4 7 1 1 5 4 5 9 2 8 4 6 6 0 0 3 7 5 4 5 5 8 4 8 5 4 7 0 9 9 4 7 3 7 4 9 3 7 9 6 6 1 5 8 4 1 0 4 0 4 1 4 2 3 9 8 7 5 7 6 3 3 3 5 2 0 1 7 9 5 5 1 8 6 4 4 8 5 6 6 3 2 2 0 1 5 9 8 5 5 6 3 4 1 9 3 4 2 8 6 6 6 8 9 1 2 5 2 2 1 5 3 4 4 6 3 4 8 7 9 1 2 1 8 1 5 9 6 2 2 7 4 4 5 2 5 3 7 2 3 1 4 2 1 9 1 8 4 7 3 8 7 7 0 5 9 6 6 5 9 9 4 2 1 8 1 2 7 5 4 0 3 6 1 3 6 6 0 4 3 8 5 3 8 8 2 9 2 0 1 8 1 0 2 0 4 8 5 0 9 1 7 7 1 7 7 9 1 4 8 5 2 5 6 0 2 6 2 4 2 5 2 9 8 0 2 4 9 2 3 0 9 2 2 9 5 6 2 1 7 7 0 6 2 7 7 0 0 2 7 6 5 9 2 8 8 1 5 8 4 7 3 9 9 4 8 0 4 2 5 5 0 6 7 7 3 0 9 0 3 4 2 0 0 4 3 4 9 1 6 3 2 9 1 3 5 8 8 6 4 4 6 2 7 4 1 5 3 1 8 4 6 8 5 1 7 4 6 2 5 8 0 1 8 0 9 0 1 3 1 4 4 7 7 3 5 8 6 3 7 4 8 6 5 2 8 2 2 1 2 7 4 4 5 0 6 6 1 8 8 3 6 6 7 8 7 3 5 4 5 0 3 7 1 3 9 5 3 5 5 6 3 2 6 0 3 4 9 7 7 8 2 0 9 9 9 2 4 1 6 5 5 9 1 1 1 6 0 2 0 9 7 4 3 7 4 9 1 4 3 2 3 6 0 7 8 7 8 7 9 3 3 1 0 1 5 0 5 2 4 1 7 0 4 7 4 3 7 8 2 3 5 5 3 5 0 6 2 0 5 6 1 7 0 1 7 5 7 2 1 7 5 3 8 7 0 6 1 7 5 1 1 9 2 9 1 9 7 1 5 6 6 0 3 6 3 0 2 8 3 0 2 3 4 3 8 1 9 5 8 4 9 4 6 5 9 4 3 2 8 4 6 0 4 8 2 9 3 1 9 6 0 5 1 5 1 2 4 8 6 7 1 2 3 6 0 4 6 2 5 6 5 3 9 0 3 5 6 5 1 7 3 3 2 2 8 5 6 7 5 8 2 1 0 9 3 7 5 4 1 2 2 2 6 7 4 2 2 3 8 4 7 0 4 6 6 6 4 7 3 3 6 2 0 2 9 2 8 2 4 8 3 4 0 6 5 1 3 7 8 1 4 4 7 5 3 6 7 7 4 7 6 7 1 8 8 2 2 2 0 0 9 8 3 8 9 6 8 2 0 1 9 7 8 4 2 1 6 7 2 4 0 1 5 4 9 1 2 5 3 3 6 0 4 3 6 4 3 7 8 4 7 4 7 9 7 7 0 6 3 3 6 5 7 9 0 5 4 1 8 1 3 3 5 2 3 0 1 0 8 0 4 5 5 9 9 5 8 5 4 7 3 7 9 6 8 5 8 6 4 7 0 8 9 3 7 7 9 1 6 5 9 3 4 0 2 2 3 7 9 5 5 3 7 0 4 5 2 7 3 8 4 9 4 3 5 4 4 1 1 0 5 9 8 3 8 8 7 9 6 9 7 4 1 1 4 3 0 5 1 0 6 9 4 0 1 2 7 1 0 6 5 6 2 8 5 0 7 5 3 7 0 3 9 8 2 3 3 0 8 8 6 7 8 1 9 8 6 8 2 9 8 1 7 1 4 1 5 1 8 5 2 1 8 2 7 1 4 9 3 6 1 3 1 1 0 9 6 3 9 8 4 0 2 1 9 1 2 4 4 8 3 2 3 4 2 3 9 0 1 3 9 2 5 5 3 8 1 1 7 2 5 9 5 4 1 5 3 2 0 9 4 3 5 0 0 2 9 5 4 8 0 7 6 4 0 2 9 1 9 8 2 7 6 5 7 4 1 5 1 4 0 4 2 9 5 6 6 6 6 9 5 3 1 7 7 3 0 4 0 0 3 3 5 8 7 0 1 5 0 3 7 0 3 4 9 7 4 2 4 8 9 7 8 9 8 1 0 8 9 3 9 4 5 3 0 2 6 9 7 6 8 7 8 2 3 1 5 5 7 9 3 8 1 5 8 9 2 8 9 9 6 8 6 8 7 6 6 3 6 7 6 0 3 5 7 9 0 5 5 3 2 2 7 9 4 8 2 2 7 5 7 6 5 9 1 0 4 8 1 2 8 3 5 2 1 9 7 4 5 7 2 4 0 2 2 3 4 7 5 6 9 9 1 4 6 5 0 2 4 0 6 3 6 7 3 0 4 9 2 8 3 3 2 8 6 1 5 1 8 7 5 0 4 9 1 2 9 8 7 3 4 5 7 9 3 0 8 7 4 9 9 9 4 8 8 0 4 8 6 8 1 2 5 0 8 0 2 9 0 4 6 0 6 4 4 6 2 2 3 5 6 9 5 6 2 7 6 7 9 6 4 8 9 8 9 1 4 8 6 9 9 2 4 2 0 1 9 4 6 4 5 8 5 2 1 3 5 5 1 6 5 7 0 9 8 8 7 1 1 8 3 7 8 2 9 0 4 3 7 1 7 4 3 7 5 6 2 5 2 8 2 6 0 6 1 4 0 5 3 4 6 1 1 9 8 7 3 9 5 3 3 4 6 7 7 5 0 0 9 3 6 6 2 5 7 4 6 7 6 5 6 3 8 4 5 9 6 2 9 5 2 1 8 7 2 2 6 2 7 7 7 4 7 3 4 8 0 4 9 1 2 3 3 9 6 5 1 9 4 2 8 1 3 5 3 7 2 5 0 6 8 6 6 0 7 8 2 0 7 6 6 8 3 8 6 2 5 6 5 4 8 7 2 7 9 0 3 8 0 2 0 4 8 6 7 7 8 0 9 9 9 9 1 7 5 4 3 8 0 8 1 5 7 8 9 8 2 0 8 2 5 2 5 5 5 6 6 2 3 4 9 8 3 9 3 3 2 1 7 4 9 1 4 9 3 8 6 4 9 6 6 2 8 4 1 1 6 8 8 9 8 7 4 6 6 5 0 0 5 4 1 4 7 4 8 2 6 4 5 9 9 9 7 2 7 5 2 0 0 3 3 7 0 0 8 4 5 4 2 5 9 2 5 4 4 3 0 1 1 9 0 3 9 9 0 4 1 2 3 1 7 5 2 7 7 1 9 9 3 7 6 7 7 9 9 8 4 7 5 5 1 2 7 9 4 4 8 0 1 2 9 1 3 8 4 2 0 3 4 3 2 3 1 5 4 8 8 8 1 3 7 9 3 2 5 2 4 8 8 7 1 7 2 0 9 9 3 8 1 1 9 5 7 2 2 1 6 3 1 4 8 1 0 1 6 7 0 2 7 4 8 7 7 3 7 9 1 6 1 8 3 0 9 6 8 9 3 7 3 4 8 7 2 0 1 6 8 9 4 4 9 0 3 2 9 9 6 5 8 9 3 2 5 1 1 9 9 6 5 0 4 1 0 9 6 5 3 6 7 4 6 1 8 9 1 4 8 6 1 5 9 9 4 8 1 6 3 2 0 4 0 8 9 1 9 3 0 5 7 7 2 3 8 6 3 0 3 9 6 3 1 1 8 5 8 2 1 3 3 4 1 3 3 7 1 1 0 0 9 6 3 8 9 1 1 3 8 3 6 5 9 6 8 9 5 9 1 4 7 1 5 3 7 0 9 2 5 0 7 3 9 9 8 4 6 1 6 8 2 0 4 6 4 2 6 4 4 7 2 9 0 7 8 8 9 7 6 5 2 5 5 9 3 5 0 5 1 3 6 5 4 6 9 7 8 3 6 4 6 0 3 1 8 3 8 2 0 6 1 9 5 6 0 5 7 8 5 1 7 5 6 1 5 0 4 9 7 2 6 6 1 8 1 7 6 4 9 0 3 0 3 0 4 9 8 2 1 3 8 5 3 4 7 3 8 6 9 6 2 1 2 2 3 4 6 2 6 1 1 4 0 4 3 0 3 5 6 0 0 9 6 7 0 4 2 5 4 7 0 1 2 3 1 7 3 6 0 4 4 9 7 2 4 6 2 3 2 8 7 4 5 2 5 7 5 1 5 1 1 9 8 7 7 1 8 0 1 5 8 5 7 4 2 8 2 9 3 8 9 0 2 5 6 5 0 8 2 5 9 8 8 2 7 5 4 9 5 1 1 0 8 6 5 4 2 4 7 0 4 2 1 8 3 3 7 2 6 4 0 2 3 0 7 8 0 4 5 6 8 1 6 5 1 4 2 0 5 1 7 8 0 7 4 1 8 1 9 6 0 9 6 4 0 1 5 1 3 4 6 1 7 6 0 7 9 4 3 6 2 7 6 9 6 1 2 2 2 8 1 2 6 1 1 8 6 1 0 9 1 2 7 6 6 8 1 4 8 8 0 5 0 0 9 5 0 9 6 3 8 8 9 0 3 2 8 7 7 7 1 0 8 3 7 6 5 1 0 5 1 9 0 0 0 7 6 1 2 8 0 5 8 4 7 3 9 6 9 2 5 8 7 6 8 7 3 7 9 3 7 3 0 6 6 6 4 7 5 1 3 8 7 9 4 2 2 1 7 3 5 4 6 9 4 0 2 1 1 5 7 6 7 5 5 5 7 5 6 8 9 7 0 1 6 8 7 3 4 1 0 4 3 4 2 4 4 6 5 2 5 5 2 2 5 6 8 9 7 4 3 2 9 7 1 6 1 5 2 7 4 2 5 5 8 1 1 0 5 0 3 4 9 5 0 4 5 7 1 8 9 3 1 7 5 2 4 4 7 0 7 0 4 1 0 3 0 7 7 6 0 8 3 0 3 6 5 5 3 6 7 1 4 1 8 0 3 8 8 7 2 3 6 0 2 9 4 8 8 7 2 8 0 5 5 9 0 7 5 2 7 1 1 1 1 5 5 9 0 7 9 4 7 5 6 9 2 6 9 0 3 9 7 8 5 1 9 6 0 1 9 3 9 7 9 0 3 1 1 7 6 8 0 7 0 3 5 6 8 0 1 9 4 4 9 3 6 1 0 6 8 5 0 6 4 0 5 6 8 5 1 9 2 9 0 6 4 5 0 4 8 6 8 5 5 3 5 6 2 8 2 5 6 7 8 7 2 2 5 7 3 4 5 4 4 1 4 6 5 6 5 5 4 1 1 8 7 8 1 6 7 1 7 7 2 9 8 5 0 6 1 2 8 7 4 0 4 4 6 2 0 8 9 0 7 1 8 5 0 2 1 0 8 5 1 8 0 2 5 0 5 2 9 2 4 5 9 0 3 5 9 8 1 4 1 1 7 5 2 2 7 2 0 3 2 0 5 5 2 6 4 2 5 9 7 7 5 1 9 8 4 4 1 0 7 4 2 4 9 2 1 7 9 2 4 2 0 3 9 0 8 0 0 1 4 6 0 6 2 2 5 9 9 9 4 2 2 1 0 9 7 1 7 1 7 6 1 1 8 7 4 6 8 4 5 8 0 2 6 7 3 7 2 4 8 0 1 3 6 5 6 0 3 8 6 6 9 0 9 9 7 1 0 7 1 3 4 7 2 5 5 8 5 9 7 2 3 2 1 7 0 2 7 5 5 4 0 5 5 0 8 5 0 8 2 0 9 0 4 1 8 9 8 7 5 3 4 8 2 9 2 2 2 0 0 4 1 7 8 9 9 8 4 7 5 0 3 0 5 1 9 5 3 7 1 7 9 0 6 2 0 0 1 5 0 9 3 3 3 0 2 3 0 2 3 8 8 1 8 0 6 5 1 9 1 8 2 4 0 5 5 5 0 8 1 8 6 7 2 1 6 4 7 1 1 7 0 2 3 0 7 5 2 9 9 2 2 6 5 2 2 2 8 0 3 3 8 2 0 4 0 4 1 1 3 3 8 6 6 2 5 3 3 5 8 1 5 0 4 2 9 3 4 1 1 5 1 4 3 9 8 0 9 3 9 9 8 6 4 1 6 3 6 5 6 3 3 9 2 3 6 2 0 6 7 3 8 7 4 2 5 9 3 4 2 7 1 3 4 4 4 7 0 1 2 4 2 7 0 2 7 2 2 2 2 7 1 9 7 5 7 3 2 0 3 1 9 4 4 8 9 4 0 7 8 5 6 3 5 5 5 1 1 6 3 9 6 1 9 1 1 5 9 8 5 9 0 7 9 9 5 3 9 9 0 8 3 6 8 0 1 2 9 4 6 8 8 1 0 7 7 1 5 9 5 9 3 8 0 8 4 9 0 8 1 1 1 2 5 1 9 3 8 0 1 6 4 1 4 8 6 6 2 5 0 1 4 1 0 9 5 2 8 6 6 8 0 9 1 4 8 2 8 5 0 3 1 2 3 9 3 8 9 6 0 9 9 7 6 5 9 1 7 5 9 7 7 3 1 5 4 3 2 7 9 7 1 7 3 9 4 5 7 6 2 5 6 0 3 6 5 0 2 3 5 8 7 9 3 1 5 5 9 9 2 6 1 7 0 8 5 2 3 1 5 0 7 4 2 4 7 8 4 9 8 1 4 2 5 6 5 6 4 6 9 3 0 0 8 1 0 5 0 6 1 9 7 6 3 9 7 3 9 5 5 9 1 7 3 3 5 4 5 4 7 2 9 1 7 5 2 6 7 3 9 5 9 8 7 9 0 1 1 7 4 7 7 4 4 9 2 1 7 7 4 5 7 7 1 9 0 8 1 6 9 4 8 9 5 4 3 7 9 0 3 1 4 5 7 8 1 5 2 6 6 7 3 8 9 6 8 9 4 1 0 6 0 4 5 8 8 3 5 1 4 4 5 0 2 6 1 3 0 6 4 5 6 3 7 2 3 7 6 8 7 6 3 1 1 2 9 9 6 4 5 7 6 6 9 9 4 7 5 7 6 7 3 4 0 6 7 3 5 8 3 5 3 7 2 1 8 7 0 4 9 3 5 1 7 7 3 2 0 2 1 4 7 7 9 4 0 3 9 7 2 5 6 6 5 3 2 5 8 1 7 3 1 6 5 9 2 0 2 1 9 9 7 5 2 9 4 2 8 2 4 4 3 2 7 7 8 1 0 2 1 0 7 5 3 2 1 6 0 5 8 0 1 0 4 4 3 2 1 2 1 0 6 7 2 0 8 2 7 3 8 7 6 1 0 0 7 7 8 3 3 2 4 2 6 5 6 9 6 2 4 7 6 5 6 2 1 0 6 3 1 2 6 9 7 5 4 9 1 5 4 6 2 2 4 3 4 3 9 7 8 0 6 1 2 5 3 9 9 9 3 1 3 8 9 3 9 1 5 7 8 2 0 0 8 5 6 0 0 1 1 1 7 1 3 1 9 7 7 3 4 4 3 1 3 0 4 1 2 9 9 8 2 1 5 6 2 6 9 8 5 0 9 8 8 9 5 7 2 2 7 7 8 1 5 9 5 2 4 5 0 5 6 4 0 4 3 5 5 3 4 9 7 9 8 5 5 8 7 2 2 3 4 5 2 1 9 9 1 7 7 8 4 1 9 5 6 4 1 0 6 6 2 2 1 2 2 0 4 9 0 3 9 0 1 7 8 8 6 7 3 7 9 9 7 9 0 5 2 7 0 5 5 2 3 0 2 4 1 2 0 0 2 7 8 0 8 6 4 7 2 6 2 8 2 5 1 7 5 2 5 0 9 2 3 3 2 5 5 5 3 7 8 7 3 7 7 9 2 4 3 4 9 1 5 9 2 6 1 8 2 7 3 6 1 5 1 2 4 2 5 9 2 2 4 2 7 2 5 8 7 2 6 9 9 8 4 4 0 1 4 1 3 2 5 6 7 9 5 4 6 4 0 4 7 5 7 4 2 4 5 1 1 2 6 1 0 2 8 5 7 3 9 4 1 9 3 4 7 9 7 1 6 3 8 3 1 8 7 1 3 8 3 7 0 7 2 2 7 8 2 4 2 2 6 1 9 3 8 4 0 2 1 0 1 0 8 9 6 2 7 1 2 8 1 6 8 5 7 3 2 2 8 7 7 6 4 2 1 0 2 9 8 7 0 8 8 9 5 5 5 7 1 4 8 3 9 7 7 4 3 4 9 7 4 1 8 1 0 9 8 4 9 6 3 3 6 3 3 9 1 0 3 9 7 7 7 8 2 5 4 2 2 5 1 7 9 4 0 0 0 2 2 1 4 3 4 8 5 8 8 6 2 0 7 5 3 2 1 2 2 6 4 6 6 1 3 6 1 4 4 8 7 5 1 8 7 3 5 1 4 2 4 9 4 4 6 9 5 7 5 8 3 6 7 4 4 7 8 5 0 2 8 0 1 3 1 9 3 0 3 3 9 0 1 9 4 9 7 3 8 7 1 6 1 6 3 1 1 3 8 0 0 8 6 4 0 9 3 4 0 8 5 2 9 2 9 7 7 2 9 7 4 1 4 6 2 8 3 6 1 4 2 2 0 1 1 2 0 5 7 3 0 2 7 4 2 7 3 0 9 5 6 6 6 5 8 8 4 9 8 8 4 9 6 5 1 3 4 2 9 5 1 8 8 2 8 7 9 3 7 0 1 6 1 4 7 4 9 9 5 0 4 6 8 5 1 8 5 1 1 6 8 5 1 7 0 9 7 5 8 1 4 6 6 8 6 9 9 4 2 4 3 6 7 3 1 4 0 0 3 6 9 9 2 3 8 1 2 3 2 4 8 3 9 2 0 6 1 8 6 2 8 6 6 3 0 3 7 4 0 2 3 5 1 3 3 3 9 0 7 7 7 1 9 0 7 4 5 5 2 2 4 2 4 8 5 1 5 7 4 8 7 2 6 1 3 6 0 7 5 0 4 8 0 2 0 9 6 0 9 7 6 5 6 7 8 6 2 0 2 5 2 3 2 3 5 6 2 7 3 0 2 5 5 5 7 0 5 4 3 8 6 7 2 9 1 8 9 2 5 5 5 7 1 6 7 2 3 9 6 8 7 1 9 9 1 6 6 9 6 5 1 8 3 4 7 3 6 9 8 7 4 4 0 2 9 5 9 4 2 3 9 5 2 2 0 8 6 3 4 8 1 3 4 1 4 8 4 0 2 9 8 3 8 9 3 9 4 8 5 5 9 3 3 2 7 2 5 6 6 2 7 3 1 8 1 9 4 1 3 7 7 3 5 4 5 1 8 9 1 5 4 4 3 8 4 9 6 0 9 6 6 4 5 1 2 8 5 5 6 1 4 7 6 7 7 2 5 6 4 9 3 2 5 1 6 9 2 3 8 2 2 0 0 3 2 2 9 7 3 3 4 8 3 3 3 1 7 2 6 3 0 6 2 0 0 0 5 9 1 9 2 0 6 7 4 4 1 1 3 6 9 1 3 2 4 3 7 2 0 4 0 3 5 7 8 0 9 8 6 7 6 4 4 0 8 9 4 6 7 2 3 6 7 3 3 4 5 4 9 9 0 3 9 0 5 2 8 3 6 8 2 4 1 1 4 2 2 0 1 1 8 8 6 9 4 9 2 6 5 3 2 4 5 3 1 3 9 9 3 2 3 7 6 4 1 0 0 5 6 3 9 9 6 7 4 4 2 7 3 6 9 3 6 0 6 5 8 6 8 5 1 2 4 3 9 3 6 7 3 7 1 5 5 3 4 9 6 9 6 3 5 8 9 7 0 4 7 0 7 0 6 2 4 6 7 4 3 0 6 4 6 8 1 5 1 1 5 2 5 5 8 0 7 7 2 3 6 7 1 2 9 3 5 8 6 9 1 5 4 6 6 7 7 1 7 9 2 8 0 6 7 4 6 0 3 1 9 7 4 4 3 6 6 0 2 3 5 6 6 4 8 1 1 9 1 1 1 7 5 3 2 4 2 3 9 7 9 2 2 7 1 6 0 3 2 1 3 9 3 2 6 9 0 9 0 0 4 3 1 4 3 3 5 7 2 5 1 1 9 3 5 5 9 1 7 8 5 7 8 7 4 3 8 9 3 1 9 1 0 8 3 6 7 2 2 2 1 9 7 4 9 5 9 4 3 8 5 2 1 7 6 8 2 8 1 7 2 0 5 5 3 7 4 3 3 9 8 7 9 3 9 3 7 2 4 2 0 6 9 8 4 2 2 5 8 6 0 0 2 0 2 6 7 0 2 2 0 4 5 0 2 3 4 1 4 8 4 4 3 2 2 3 1 4 1 8 1 5 9 8 3 7 1 3 3 2 2 3 4 6 7 3 3 8 1 8 5 9 9 5 7 2 0 2 1 5 2 1 2 9 9 9 0 6 6 8 5 5 3 1 8 5 9 3 7 6 5 1 8 8 1 2 2 8 1 5 6 4 4 3 4 9 8 4 2 8 9 7 8 0 4 0 4 4 4 7 4 2 5 3 1 7 3 1 8 7 1 9 8 2 4 9 8 8 0 2 1 9 0 5 6 1 2 4 7 5 6 8 3 5 0 5 3 1 2 1 9 3 6 6 8 4 0 9 1 1 1 3 6 1 3 4 5 1 7 4 0 3 8 0 4 0 0 0 4 1 2 8 1 4 7 4 5 2 7 4 5 3 6 8 7 5 3 0 1 2 2 7 4 1 2 2 6 2 9 2 5 4 9 4 3 1 0 0 8 4 5 8 8 6 8 0 8 2 6 2 7 1 6 9 3 1 2 8 9 1 4 1 4 2 3 7 4 6 6 9 7 3 2 1 5 6 8 8 3 0 6 9 6 2 5 9 6 2 9 7 8 2 4 2 8 6 8 2 8 4 7 9 7 5 8 1 9 8 3 8 2 3 4 0 3 4 5 2 2 2 7 0 8 7 5 7 3 4 5 3 9 3 8 9 7 1 2 6 9 1 0 1 7 4 8 3 5 1 7 9 9 7 1 3 2 0 9 2 2 9 1 1 7 4 6 4 3 5 4 5 5 0 2 3 9 2 6 6 2 9 3 8 5 4 5 5 7 4 2 6 3 0 8 4 0 4 7 3 2 4 5 9 8 9 3 7 4 3 0 7 8 3 6 8 7 5 8 6 4 0 8 7 9 1 4 3 1 2 3 1 9 2 2 8 3 0 7 3 0 4 9 7 5 3 6 2 4 8 1 7 0 8 5 7 9 8 4 9 8 7 0 5 5 0 3 1 4 3 5 7 3 6 8 6 6 0 4 5 3 5 0 4 0 9 9 6 7 9 6 8 5 3 8 9 8 0 2 5 7 8 4 7 7 9 1 0 4 1 9 2 3 1 0 5 2 5 0 5 1 4 4 6 9 6 8 8 5 2 4 8 7 2 6 3 4 4 3 6 5 3 6 9 4 5 3 9 2 1 3 7 2 1 9 4 7 1 5 9 9 8 1 5 6 6 2 4 4 5 4 3 3 0 5 6 2 7 9 8 2 8 2 7 7 7 3 4 9 5 8 4 6 6 6 7 5 7 0 1 8 9 6 9 9 0 0 9 8 5 1 1 0 1 6 4 4 9 1 0 4 7 9 9 3 6 0 2 9 2 2 9 6 1 6 4 5 1 3 2 9 9 5 2 2 4 2 7 1 4 0 4 9 0 8 1 8 6 9 4 8 0 8 0 8 1 8 1 4 4 7 6 5 4 4 1 4 7 6 0 7 0 8 3 4 9 4 3 1 7 9 9 2 1 3 4 7 6 9 3 2 0 5 7 7 5 4 9 3 7 2 7 5 8 1 1 4 6 7 9 9 4 7 7 8 1 9 8 0 7 0 4 4 9 0 9 8 3 0 8 8 7 8 0 2 4 1 8 3 5 4 5 2 8 0 9 5 5 7 6 2 6 8 1 7 8 2 2 1 5 9 6 4 1 0 7 1 2 2 1 6 5 0 9 9 9 5 1 9 6 9 6 1 9 3 2 3 6 8 7 6 6 9 5 9 9 2 4 3 3 6 9 3 9 0 1 8 6 7 5 8 3 0 4 7 7 9 5 1 3 4 8 5 6 4 9 6 7 4 9 6 6 4 3 0 0 6 9 7 8 5 4 8 1 2 0 8 6 1 0 1 3 0 2 9 0 2 6 4 8 2 6 4 0 4 0 2 3 1 6 6 2 1 0 1 8 2 5 8 6 0 4 1 7 2 7 3 4 5 0 1 9 7 0 8 3 8 5 7 0 2 2 2 7 6 5 1 8 8 5 9 0 3 9 3 1 2 3 6 2 7 2 4 5 2 3 2 0 0 6 5 3 5 9 8 3 9 0 7 6 0 4 1 2 7 8 9 8 0 0 7 6 2 8 2 2 0 7 9 1 2 4 6 1 6 3 2 2 2 7 1 3 0 5 1 9 0 6 6 7 8 0 2 9 6 4 4 2 7 3 2 2 8 7 6 3 4 6 0 0 6 0 2 8 9 2 1 3 3 1 6 0 9 4 0 5 7 3 9 6 0 0 3 5 2 3 6 0 8 1 4 9 4 8 7 8 5 5 7 8 4 8 1 9 9 2 3 6 0 4 0 3 3 7 0 9 2 4 3 9 2 0 8 9 5 7 8 5 1 0 0 9 5 3 6 6 6 2 4 5 5 3 8 0 4 7 1 1 8 4 1 9 8 3 4 0 6 8 5 8 9 9 4 8 9 3 4 0 2 6 5 1 8 1 3 2 7 4 1 9 5 1 7 4 9 1 2 5 1 9 2 5 6 8 7 2 9 8 2 4 8 7 7 9 8 2 9 3 8 3 5 1 7 1 0 2 2 4 3 8 9 8 8 6 8 3 4 7 5 5 5 6 2 2 1 8 2 1 4 8 6 6 0 7 5 5 1 8 6 2 8 4 2 0 5 0 8 4 4 1 2 4 0 8 5 5 0 8 8 4 0 8 4 9 9 4 0 5 2 2 6 5 4 8 5 3 5 7 7 6 6 7 8 8 6 4 4 4 4 6 8 0 5 0 4 3 0 1 2 8 5 9 8 8 4 6 9 9 1 5 5 0 1 6 9 2 6 2 1 1 7 3 0 4 9 5 5 0 2 6 8 3 6 5 4 9 8 3 4 0 6 3 7 9 4 3 3 4 1 5 8 4 7 9 7 3 9 0 6 6 6 9 7 3 2 7 1 8 1 7 5 6 7 1 1 1 1 2 3 4 4 5 2 1 2 7 0 1 1 3 8 2 8 7 7 3 3 1 7 0 7 0 3 6 4 8 8 4 3 5 6 0 6 9 2 5 3 5 0 1 2 8 5 7 7 4 5 6 3 7 1 6 6 0 1 2 9 2 7 8 4 6 1 9 4 1 3 5 7 5 6 4 9 1 5 0 8 2 6 9 3 2 3 0 1 0 0 6 3 5 5 9 0 8 7 9 9 1 8 3 1 4 8 0 1 7 9 6 0 6 6 6 4 8 9 3 6 0 6 8 6 4 8 7 5 5 6 9 1 5 4 7 0 0 8 6 0 6 0 2 7 0 3 9 0 9 6 4 0 0 9 0 5 1 4 6 0 9 3 6 0 5 1 3 0 3 7 2 8 0 9 8 4 9 8 9 9 7 6 4 7 2 9 3 4 2 0 5 9 7 1 0 7 6 1 0 4 3 6 5 7 0 6 6 7 0 3 6 9 6 3 6 7 3 1 0 8 6 6 1 6 7 7 3 0 6 4 3 6 1 3 3 3 1 8 4 1 6 4 3 3 2 1 0 4 0 7 3 4 7 9 2 1 0 7 7 5 6 8 8 7 0 3 7 5 4 1 9 3 2 4 1 1 0 1 7 6 4 4 8 8 0 7 1 6 7 3 3 0 4 1 7 6 2 6 8 0 3 4 5 2 8 1 2 7 9 4 6 7 2 9 2 4 4 4 5 2 9 1 9 1 6 1 8 8 2 0 9 5 3 3 5 9 4 5 6 6 7 1 5 8 4 5 0 9 4 1 4 7 6 3 0 1 5 3 7 0 3 2 5 8 8 1 0 9 2 5 4 9 2 1 6 2 0 6 0 2 4 2 3 9 9 8 3 8 3 9 3 9 6 3 9 5 7 0 8 6 4 2 6 8 3 1 5 5 5 7 7 3 7 9 2 3 5 4 2 8 3 0 4 7 7 1 6 9 0 5 3 8 5 0 7 2 1 9 3 9 9 2 7 2 6 6 8 3 0 5 6 7 2 2 7 4 4 2 9 1 3 7 5 2 6 8 0 2 3 7 1 7 8 1 7 5 9 0 8 4 3 7 2 6 9 7 8 0 7 0 8 0 9 9 6 9 0 1 9 2 6 9 5 0 0 2 5 9 2 4 2 1 0 2 0 4 8 5 1 9 3 9 5 3 8 0 5 1 5 5 1 5 8 6 6 3 2 6 6 4 1 8 2 3 0 4 5 2 1 2 9 3 7 1 0 4 6 8 4 0 2 1 8 8 0 6 6 6 5 1 6 5 2 3 1 4 3 8 5 9 7 4 9 8 0 8 1 6 2 1 4 2 0 1 4 8 0 5 1 3 5 5 1 3 1 8 6 5 4 5 3 0 1 4 8 7 1 2 9 8 2 4 9 9 3 8 6 2 4 2 7 2 1 5 4 3 4 5 3 7 2 3 9 1 8 0 2 2 1 5 1 2 6 1 1 5 8 5 4 8 6 1 9 7 5 3 9 8 9 8 3 1 1 0 8 8 8 1 9 6 3 5 8 8 7 5 5 6 5 7 9 3 5 9 3 3 1 0 5 9 7 8 9 5 9 9 2 0 5 3 2 4 0 4 3 9 6 8 4 5 9 0 8 6 2 1 9 3 2 3 2 0 1 5 2 3 2 2 5 7 6 6 8 9 6 9 5 0 9 4 1 5 3 9 8 3 9 3 7 2 1 3 0 8 7 4 7 2 4 7 7 3 2 9 4 4 4 9 3 0 5 3 7 5 7 5 7 7 6 9 4 3 6 2 6 8 0 3 2 8 3 1 6 0 5 5 0 6 0 3 5 3 2 1 9 6 8 5 0 0 1 2 0 7 1 9 5 1 9 1 6 7 1 4 2 6 0 6 3 3 6 4 0 5 6 1 7 9 0 0 6 2 1 8 6 7 1 6 0 4 6 3 8 6 8 4 2 4 9 0 6 7 2 4 7 5 7 2 8 5 5 7 6 4 0 7 1 6 3 1 3 9 7 8 2 4 6 3 9 1 8 8 6 9 3 7 8 9 6 3 5 2 4 7 7 0 8 2 3 2 1 9 5 9 4 0 4 0 0 4 5 0 8 2 9 5 9 3 8 5 3 6 5 1 5 1 7 6 4 2 5 1 0 1 2 9 3 3 5 9 1 1 4 7 8 3 3 7 9 9 5 6 5 8 5 0 1 7 6 6 1 7 5 7 8 5 4 2 9 9 6 6 8 3 7 4 1 7 2 4 7 8 3 8 8 3 8 6 4 5 8 9 2 3 1 9 9 2 0 0 4 1 1 9 6 3 9 0 9 2 5 3 5 4 2 2 6 0 7 4 1 9 9 4 1 2 1 8 1 9 5 0 1 9 6 2 5 1 5 9 8 1 3 7 0 7 6 4 6 7 0 8 5 0 2 2 4 7 9 2 0 1 6 4 9 1 7 4 0 5 6 7 9 4 9 9 4 0 2 4 9 6 7 5 9 3 0 0 3 1 2 9 9 5 7 0 9 9 7 4 2 0 2 6 5 9 5 7 8 5 3 9 0 0 1 0 6 6 8 9 2 5 8 6 4 7 1 8 8 3 9 0 2 6 0 5 8 4 1 7 5 8 2 3 9 6 4 9 7 1 0 9 5 2 2 9 4 4 7 2 9 8 7 4 1 8 3 2 7 3 9 5 2 2 9 2 2 4 7 5 9 2 1 5 6 9 4 3 6 9 5 6 8 2 0 3 7 4 7 7 7 3 1 0 4 9 5 1 4 1 2 8 8 1 8 4 3 1 2 1 0 3 1 7 4 7 6 6 0 0 5 0 7 3 2 8 6 1 3 0 4 5 6 9 8 1 4 1 8 7 6 7 3 8 7 0 5 8 3 5 5 8 9 6 8 0 5 6 8 8 1 2 0 6 2 9 0 1 6 7 2 3 8 9 7 0 7 6 0 3 0 3 9 5 4 9 7 0 8 2 7 3 4 1 8 4 8 4 0 6 9 0 3 7 2 1 5 1 7 9 8 6 2 2 6 6 5 8 1 9 2 9 5 5 5 4 2 0 7 5 5 6 9 5 6 5 4 1 3 9 9 7 6 8 1 4 2 3 5 0 2 7 4 9 0 5 9 4 6 6 2 5 9 2 7 7 0 9 8 6 0 4 4 5 8 8 7 9 3 6 7 5 5 6 2 1 4 3 7 0 9 6 4 8 7 0 5 7 4 4 6 6 5 3 1 9 8 1 4 7 7 2 8 9 2 1 7 7 2 9 0 9 3 7 7 9 9 8 3 4 9 5 2 7 6 9 9 9 5 1 4 5 0 6 1 1 5 7 2 0 4 3 9 4 1 2 8 6 8 7 1 2 1 5 3 8 7 5 6 8 4 2 5 6 8 0 3 6 6 2 2 3 2 1 3 6 9 5 0 8 0 4 1 9 1 5 7 3 7 4 6 9 0 0 9 9 1 7 0 4 8 0 3 9 8 8 5 9 4 7 2 6 0 4 8 6 2 5 8 6 8 4 4 4 9 7 6 2 3 6 2 3 1 8 7 2 4 0 8 5 3 3 9 5 0 0 2 0 4 9 8 9 2 9 5 9 6 3 6 1 8 7 3 9 4 3 7 4 0 8 9 1 8 8 8 8 5 6 8 9 0 3 6 9 1 1 2 8 9 8 7 8 3 2 3 2 5 8 9 2 6 0 1 3 3 1 1 5 5 2 6 0 9 0 1 1 3 1 9 1 1 9 6 2 5 3 6 5 2 9 3 8 4 6 4 3 9 9 3 4 6 5 6 6 6 4 9 0 2 7 1 1 0 8 5 2 2 8 3 4 4 7 0 1 8 4 7 6 8 3 9 1 5 7 3 6 2 3 8 9 5 2 3 9 7 3 2 7 8 1 1 5 8 3 9 9 3 5 5 1 7 8 0 2 2 0 7 6 1 7 7 4 5 0 7 5 5 9 2 9 1 3 8 3 8 1 4 6 8 5 2 6 5 7 7 3 0 9 1 5 2 2 9 0 5 0 2 5 0 9 1 4 5 2 4 1 1 3 4 0 0 6 8 9 5 6 6 1 0 7 3 7 6 1 3 2 0 4 8 4 5 4 5 6 4 5 5 4 3 6 1 0 2 3 8 7 7 3 0 8 7 5 9 4 3 0 8 4 0 8 6 9 9 7 8 2 7 1 1 3 1 5 4 2 5 5 1 3 4 7 2 0 5 8 9 3 9 3 3 9 4 5 3 0 1 3 5 4 8 1 3 5 2 4 4 1 7 6 7 5 4 1 3 1 3 8 5 0 1 2 7 7 0 0 2 4 1 5 6 2 6 1 9 3 6 1 6 9 6 4 9 7 0 9 9 4 4 1 5 6 9 3 3 5 4 1 6 6 6 5 9 0 9 3 5 7 5 9 7 8 4 7 7 5 9 4 6 4 6 8 9 5 3 9 2 3 5 1 6 2 2 9 7 2 3 6 7 3 4 0 3 6 5 0 8 0 5 8 8 6 1 8 6 2 0 9 8 8 8 1 2 3 6 7 7 0 9 8 8 9 2 9 4 4 7 6 9 6 5 4 3 6 0 3 2 4 6 6 8 8 7 4 4 2 9 7 4 0 1 3 0 3 6 5 0 0 9 7 7 0 2 9 1 6 0 3 5 3 6 4 2 6 5 0 2 8 4 4 6 1 8 0 4 6 1 2 8 1 3 7 3 2 4 0 0 6 0 3 4 9 4 7 8 8 9 7 0 7 7 2 3 2 6 2 3 6 4 9 2 7 5 1 5 5 4 5 0 1 3 7 3 1 7 9 7 2 7 7 6 1 5 2 7 2 2 3 6 0 0 8 5 9 6 5 9 8 7 3 6 6 9 3 8 4 1 4 6 7 6 8 5 0 3 0 1 6 6 1 0 3 5 1 6 9 8 8 3 9 0 9 9 5 5 7 0 6 5 9 3 3 1 7 1 3 2 1 9 5 7 4 0 0 3 2 5 1 0 4 6 3 0 3 6 0 4 1 9 6 2 9 5 2 7 6 3 1 6 9 7 2 8 9 3 9 9 0 9 4 5 0 9 1 2 7 9 5 4 5 3 6 1 6 2 7 5 9 3 4 8 6 8 1 8 4 5 5 8 3 0 1 6 8 6 3 4 2 8 0 6 5 3 2 0 5 0 2 8 7 2 9 1 0 5 0 2 6 9 0 6 6 4 3 7 2 6 1 7 0 6 6 1 7 7 8 4 3 9 3 1 1 1 5 4 7 3 7 1 4 9 7 5 9 0 9 6 1 1 6 1 4 4 4 9 3 8 1 2 1 0 6 7 4 6 0 3 7 2 5 1 4 5 2 6 1 6 2 7 1 6 1 5 2 1 2 9 3 5 0 4 3 1 4 1 1 2 4 1 5 5 8 4 9 8 4 7 5 7 4 0 9 1 8 7 8 4 5 8 4 1 0 1 7 7 3 2 5 0 3 0 5 5 3 2 0 7 2 3 7 6 6 1 9 3 3 9 7 0 2 5 4 4 8 8 3 3 5 4 3 5 0 6 9 1 1 3 5 7 7 7 5 7 7 6 5 5 8 4 5 5 1 1 3 6 7 1 4 6 3 4 6 2 9 2 2 3 1 1 4 4 9 7 8 0 9 5 4 6 4 0 5 0 7 9 0 2 6 7 5 5 8 5 4 1 6 0 9 5 4 2 6 0 5 5 7 7 8 3 4 0 6 4 6 7 3 5 6 1 8 9 3 9 8 5 0 3 1 6 0 3 0 3 0 4 6 6 8 7 5 2 2 5 7 9 7 0 8 3 8 7 9 9 3 2 9 8 7 6 9 1 8 2 9 8 6 8 2 2 9 7 0 6 6 7 3 5 6 2 4 6 6 4 7 9 3 9 6 5 3 3 6 5 4 5 4 5 4 4 2 6 8 3 8 6 4 0 4 3 2 2 6 5 0 2 9 6 0 2 8 8 8 1 2 9 8 5 5 7 2 4 2 1 9 8 1 8 7 2 0 8 0 4 0 2 0 7 2 9 6 0 7 7 4 9 6 1 2 8 8 8 6 1 6 6 7 7 3 2 8 8 8 3 8 6 2 0 6 0 9 9 7 7 9 2 5 4 1 6 8 2 2 1 5 6 7 1 3 7 0 3 6 6 7 3 9 1 3 3 3 3 2 2 0 8 6 5 2 0 8 7 1 9 0 4 4 7 3 0 4 8 5 9 3 0 1 7 4 6 6 7 9 3 5 7 8 1 7 3 8 3 0 8 3 2 4 0 6 4 5 9 5 8 5 0 1 8 1 7 7 2 6 7 4 4 7 6 9 0 3 7 6 5 2 3 1 7 8 7 4 0 1 4 2 6 3 6 5 0 2 1 7 2 0 9 3 1 0 2 6 1 9 2 6 3 0 4 6 5 4 2 1 1 2 7 0 8 0 9 4 7 6 9 6 8 2 3 9 2 2 0 7 3 8 3 7 9 7 4 8 2 0 5 7 0 3 4 7 9 3 1 9 6 5 2 5 1 3 9 2 2 1 3 7 0 1 9 9 8 7 7 5 4 3 9 3 1 1 7 8 6 0 1 2 3 8 1 9 8 9 2 4 7 0 7 0 4 7 6 2 9 5 8 7 5 0 1 5 1 6 2 9 9 9 1 2 8 9 2 9 3 3 0 6 9 0 2 5 3 4 3 5 7 5 4 8 8 2 5 1 4 5 4 9 4 8 4 6 9 3 2 8 3 2 2 8 9 8 2 0 2 9 5 6 5 0 6 9 0 3 3 0 8 4 7 0 4 8 2 5 1 7 7 4 4 1 3 1 1 6 6 4 6 4 7 7 4 7 5 0 7 2 3 4 7 7 8 6 1 5 1 8 0 5 5 3 4 3 4 6 6 8 5 8 0 4 0 9 8 7 1 3 2 2 7 3 4 5 3 0 8 1 8 3 6 7 9 4 5 6 4 3 6 4 4 3 0 1 5 5 2 4 6 2 7 4 1 5 8 1 0 0 7 3 1 0 6 9 3 2 3 0 8 0 7 3 4 9 0 1 5 9 0 5 1 7 0 0 8 7 5 3 6 5 4 1 6 9 6 0 0 9 9 8 9 1 1 5 6 9 5 9 8 4 5 4 7 0 2 9 2 6 6 2 9 3 7 4 0 4 9 3 9 3 6 7 7 6 8 5 2 8 5 7 2 3 0 3 9 7 5 4 6 9 1 1 8 1 0 2 1 4 6 9 2 6 7 2 1 9 3 3 3 8 4 6 5 6 3 0 5 3 6 7 3 8 4 6 5 3 7 8 2 4 9 7 0 0 4 9 5 0 6 2 0 9 4 0 3 5 0 6 6 0 6 2 4 4 5 8 4 4 1 2 6 2 7 9 0 2 3 8 4 2 4 2 7 8 5 2 8 0 5 5 1 5 9 9 2 5 3 1 8 8 2 6 2 7 8 6 2 7 1 5 3 1 9 8 9 5 6 7 1 6 5 3 9 8 3 8 5 4 2 8 9 0 9 3 1 1 5 7 7 1 2 2 4 3 8 6 1 8 1 1 9 7 2 4 9 8 5 6 4 4 2 3 3 9 0 7 5 5 8 8 1 2 5 7 4 8 5 9 2 1 7 6 8 7 1 4 9 7 2 1 3 4 1 8 3 3 3 1 7 2 8 9 7 1 4 9 7 7 6 9 4 9 8 2 1 1 7 2 2 7 3 3 7 6 6 9 8 7 8 3 6 1 2 1 2 7 8 8 4 6 5 2 8 9 3 4 9 4 7 0 6 7 6 9 9 5 1 4 6 7 8 5 8 3 5 9 5 5 0 7 4 1 2 1 5 6 8 3 7 5 0 3 2 9 3 7 8 2 2 3 5 2 3 7 8 6 6 5 1 0 3 2 6 6 9 2 3 4 4 9 8 8 7 6 9 0 6 1 9 7 9 4 1 1 6 5 7 4 9 3 6 4 1 8 3 4 7 9 1 4 8 2 3 9 8 3 9 8 8 0 0 2 0 6 7 6 4 9 9 6 7 2 8 9 2 1 4 9 8 3 4 8 6 4 2 4 4 6 8 7 3 7 7 4 2 2 8 6 4 3 8 5 6 3 0 6 4 4 2 5 2 2 3 4 6 1 2 1 0 6 3 9 9 5 2 4 1 8 1 4 6 1 6 6 1 1 1 3 9 1 5 8 6 4 0 8 0 8 9 7 4 0 4 1 3 9 4 5 8 7 9 8 4 9 0 3 6 6 8 2 6 9 5 4 8 8 1 9 7 8 0 8 7 6 6 0 2 1 9 5 9 9 6 4 8 4 6 7 7 1 1 4 5 6 9 8 1 5 9 3 6 7 5 6 7 9 0 4 7 6 8 1 1 2 0 4 7 0 5 5 7 4 0 6 0 2 3 5 1 2 3 7 4 9 9 0 1 2 2 5 8 5 6 7 3 5 7 9 6 5 1 0 7 0 1 3 2 5 1 5 6 2 2 3 7 8 4 3 7 5 4 9 9 4 7 4 7 2 3 6 8 8 3 8 2 1 0 6 0 6 4 5 9 6 9 4 8 0 0 6 7 3 1 6 0 3 2 3 8 1 3 5 1 1 9 2 5 3 5 1 4 8 3 2 2 2 1 6 7 6 1 4 4 2 4 1 1 1 4 4 6 9 5 3 6 1 1 8 2 8 3 8 7 6 1 1 1 5 7 9 5 9 1 1 3 1 0 3 6 2 4 2 0 7 4 1 5 1 0 8 2 6 3 2 2 0 4 8 3 7 4 5 4 0 4 0 4 1 4 6 9 9 0 4 7 9 6 4 7 0 7 3 1 1 3 4 2 8 3 6 8 3 0 0 1 5 8 2 4 7 3 5 0 7 1 2 9 2 2 3 3 1 1 1 9 7 8 9 0 1 3 1 7 9 7 0 1 6 5 1 7 6 4 0 3 3 0 3 6 6 4 9 6 0 6 7 4 9 5 1 8 6 2 8 6 5 6 8 3 6 0 3 2 5 5 6 3 5 3 2 0 5 6 1 7 3 8 6 6 0 2 7 4 9 3 2 7 4 1 7 7 9 9 5 2 4 2 4 3 8 9 9 8 8 0 5 8 1 3 2 2 6 2 0 6 8 1 2 9 7 9 3 5 6 1 5 8 2 1 2 0 2 7 3 6 4 5 5 5 4 0 4 1 4 4 2 8 7 0 5 8 5 7 1 3 1 8 3 5 2 3 8 9 5 1 7 4 2 4 7 1 2 3 9 0 5 0 7 5 8 9 1 9 3 5 3 4 9 0 5 7 0 2 6 8 3 0 2 8 1 2 8 1 0 7 0 4 7 5 0 6 0 3 1 8 1 7 0 9 2 7 4 4 3 4 8 0 6 5 0 4 8 4 3 4 2 2 1 3 4 1 5 2 2 0 1 5 7 9 6 2 6 7 7 6 3 9 3 6 4 2 6 9 8 1 6 8 8 5 1 4 8 5 5 4 5 2 0 6 8 9 7 8 0 2 0 3 6 2 5 7 4 9 6 0 4 3 5 8 4 1 8 0 7 3 5 5 2 3 0 9 2 4 1 0 2 6 4 7 9 4 4 3 6 4 2 3 9 5 1 4 7 4 8 5 5 8 5 3 9 8 0 2 5 9 3 6 7 0 1 7 2 0 5 5 8 8 7 6 7 9 8 5 3 0 9 9 7 1 0 4 3 2 9 0 4 0 4 8 8 4 4 6 7 5 4 1 7 0 1 9 1 8 9 1 2 2 7 5 7 4 5 7 5 2 4 0 2 1 2 1 7 4 4 8 9 0 3 2 6 6 8 1 1 6 0 6 4 7 8 3 7 9 8 5 0 0 4 6 3 9 8 6 4 1 9 3 6 4 5 7 9 2 0 8 2 1 0 5 2 6 6 0 5 7 5 0 3 9 2 1 1 9 5 3 1 1 4 5 7 5 9 2 6 2 1 4 0 0 8 3 0 6 6 0 3 0 1 7 6 8 1 2 0 1 7 8 5 6 0 3 2 8 6 5 0 2 2 0 1 7 1 4 1 3 8 1 1 6 4 2 1 5 5 9 8 6 7 0 2 6 3 7 5 3 1 1 5 5 5 5 4 8 2 1 9 5 8 3 8 8 9 0 5 3 9 3 5 4 4 5 9 2 1 8 0 5 8 7 2 7 2 4 3 3 7 4 9 8 9 9 2 4 2 0 4 1 5 4 2 8 1 6 6 6 6 8 2 1 8 4 6 3 7 4 8 6 3 3 3 7 5 2 2 7 2 9 0 7 7 9 9 4 2 0 8 9 6 0 5 4 5 2 6 4 8 6 3 8 6 2 5 1 6 4 1 1 7 1 8 0 4 9 1 1 2 9 0 3 4 5 1 3 7 8 1 4 0 0 2 1 5 0 6 8 9 9 9 6 6 7 6 2 0 8 0 7 3 2 6 5 1 3 8 0 4 2 7 7 9 2 4 6 0 9 3 0 7 6 2 2 6 3 4 4 6 9 9 4 1 5 9 1 9 3 2 2 3 1 4 2 5 6 5 0 2 9 9 9 6 4 0 3 1 3 4 3 8 3 5 6 4 0 8 7 7 6 6 6 8 9 5 3 7 7 5 9 8 5 7 4 7 3 4 0 3 1 2 0 4 7 7 0 9 1 8 8 6 5 9 6 3 5 5 5 7 9 9 4 4 6 4 3 6 8 8 2 0 5 9 8 1 2 4 2 0 4 0 4 7 7 8 0 2 9 4 3 8 0 3 9 3 2 4 5 9 7 2 2 2 0 7 5 4 1 7 3 9 5 8 9 5 9 6 6 9 2 0 3 4 0 5 2 1 6 1 6 8 0 8 3 7 5 8 8 9 2 1 6 3 6 0 4 8 5 8 4 7 8 9 9 2 9 6 6 3 9 0 3 1 0 7 3 4 9 9 4 5 6 6 7 0 2 7 8 3 0 6 1 0 4 8 3 1 3 0 8 6 2 8 7 2 6 8 0 6 6 1 0 1 5 3 0 0 7 4 5 5 2 1 6 6 9 8 9 3 8 5 7 3 8 3 7 8 2 6 9 0 9 7 5 0 2 6 0 7 8 6 9 1 2 4 5 0 7 7 0 9 6 6 9 7 3 5 5 7 4 4 9 7 1 0 6 3 8 7 8 3 7 9 0 8 3 6 0 8 5 6 3 3 2 4 7 7 4 0 1 1 4 2 6 6 0 4 5 8 8 7 9 7 7 1 2 8 4 3 3 3 5 0 8 9 3 4 1 7 5 2 1 2 0 8 4 3 1 3 3 5 4 9 1 5 5 8 0 5 9 4 5 2 1 7 5 0 3 7 6 6 7 2 8 1 3 6 8 1 8 9 8 9 7 0 1 0 7 5 7 9 5 0 3 4 9 7 5 9 3 1 1 4 7 1 1 3 8 5 1 1 7 7 5 2 9 0 8 4 7 0 8 3 8 2 6 4 6 9 3 0 9 4 3 6 6 3 8 3 7 8 5 1 4 8 8 7 9 8 7 2 3 6 8 8 7 7 1 5 3 4 7 7 0 3 3 3 4 5 6 5 7 0 2 5 4 0 0 4 9 6 4 0 3 9 9 8 7 7 6 0 7 4 5 9 5 1 2 7 6 1 4 5 9 3 6 6 9 4 6 9 5 5 0 8 8 7 7 7 9 6 3 1 8 4 0 0 0 9 3 2 2 9 9 7 3 7 3 6 7 7 0 5 1 8 5 1 2 5 7 3 2 3 3 2 3 0 1 2 7 1 3 4 2 1 0 9 3 7 0 6 8 6 8 0 9 5 0 2 6 4 3 6 2 2 2 5 5 1 0 8 7 2 8 7 7 1 4 1 6 3 5 6 0 1 7 1 6 2 7 6 2 6 7 0 4 0 1 6 8 9 9 6 8 1 6 2 8 7 2 1 3 3 2 6 4 2 2 2 6 8 3 7 7 8 5 5 3 2 7 8 8 7 8 2 2 3 1 0 2 0 4 5 3 9 7 6 2 2 7 2 5 8 3 0 1 4 9 0 2 6 0 9 7 1 0 9 3 1 1 9 4 9 9 5 6 8 5 9 5 0 8 3 4 5 9 8 5 0 9 2 5 8 8 0 3 3 6 3 0 1 9 5 5 1 8 9 1 8 4 6 2 1 2 9 9 0 9 1 4 9 2 0 1 5 5 8 3 8 2 9 8 6 0 7 5 6 8 1 9 0 7 3 7 3 7 5 9 5 8 5 7 3 3 4 8 2 6 1 7 1 3 7 9 4 7 0 3 5 9 2 5 0 3 9 7 2 1 2 6 3 1 4 3 1 6 1 9 2 1 5 9 5 7 1 4 5 1 0 8 1 7 4 4 0 3 4 1 1 4 8 4 7 9 0 4 3 8 6 6 0 1 2 8 4 2 4 4 6 4 3 3 6 2 8 5 7 3 9 2 4 4 2 3 1 6 7 6 7 4 1 1 0 3 6 4 1 7 5 5 7 7 7 6 9 9 1 8 8 6 7 1 9 9 1 0 5 1 1 4 5 6 9 0 2 0 0 2 9 0 5 7 7 1 6 9 9 1 7 7 4 9 7 7 4 8 3 5 9 4 8 9 8 1 0 1 1 5 6 5 0 5 5 7 2 5 3 5 0 1 2 4 2 5 1 9 5 9 5 9 3 1 4 8 3 4 4 0 4 1 7 1 1 6 2 2 2 2 0 5 5 0 4 5 8 9 6 7 1 6 3 6 7 5 4 4 7 8 0 4 2 8 9 3 4 8 8 3 8 5 5 0 0 2 7 5 2 1 1 4 9 7 5 2 6 2 4 6 4 2 1 1 2 2 0 1 0 7 7 4 8 6 2 3 3 3 4 7 6 2 4 6 1 8 2 5 7 6 5 9 7 1 7 8 4 0 3 9 8 0 4 3 6 6 1 7 6 6 9 5 6 0 5 6 7 0 4 9 9 3 6 7 8 9 3 5 0 3 7 0 8 9 3 1 7 4 6 1 7 5 6 0 2 8 2 0 7 4 6 7 9 0 5 8 1 1 0 8 0 6 2 8 0 3 4 8 8 9 3 1 3 6 7 6 8 7 7 3 1 3 3 2 3 4 7 2 1 1 7 8 5 4 1 0 3 8 2 8 9 2 1 3 0 8 0 5 8 0 3 6 9 3 0 2 8 5 3 9 1 0 3 8 4 7 0 4 5 2 8 0 1 8 3 4 4 0 5 8 3 1 3 2 5 2 7 4 4 1 2 9 9 2 8 3 5 5 7 3 2 7 0 4 0 2 8 2 2 0 9 0 1 9 5 1 5 6 0 0 5 4 4 4 9 7 6 4 6 3 5 9 3 2 0 6 5 0 8 3 7 6 0 8 6 4 4 7 3 9 8 9 6 9 2 7 0 9 3 8 1 1 2 0 5 0 4 2 5 1 2 6 6 9 3 0 8 3 4 8 3 9 9 9 9 9 5 6 8 6 0 2 1 6 3 5 6 1 4 8 9 4 0 1 6 7 4 4 2 5 6 4 0 7 8 4 6 9 3 5 0 1 5 2 7 3 0 2 4 5 7 4 9 4 3 5 7 2 2 2 0 5 0 0 9 4 0 3 6 8 0 8 1 0 3 2 1 1 3 6 8 9 8 9 4 6 4 4 3 0 6 2 0 4 1 6 5 9 8 7 8 3 6 0 4 0 6 8 1 1 3 3 1 2 1 7 1 3 3 5 0 4 9 6 0 5 0 4 9 4 4 1 6 5 4 7 2 8 8 3 9 2 6 3 7 8 6 0 7 8 6 8 3 8 5 7 3 1 5 1 5 3 6 6 3 7 3 4 1 6 3 1 2 5 6 6 1 2 2 6 0 3 2 3 5 9 7 7 7 4 2 4 7 3 9 4 0 3 2 4 7 9 3 4 7 8 7 4 0 7 7 0 3 5 2 7 2 5 4 3 6 5 3 2 4 5 5 3 0 8 4 3 8 2 5 0 8 6 5 6 9 3 8 6 4 3 3 0 0 2 0 9 5 7 1 2 0 7 1 9 1 2 2 8 2 6 6 8 9 2 3 7 6 0 9 2 7 3 5 2 4 4 6 7 5 7 6 6 4 7 9 8 1 7 9 7 6 2 2 8 3 1 7 0 9 2 4 8 1 8 7 1 4 3 1 8 9 4 7 4 4 4 9 9 2 8 3 2 9 0 5 1 0 8 7 0 6 6 8 6 6 2 6 3 9 0 1 4 6 2 7 5 4 6 0 0 1 8 6 6 8 3 5 8 3 6 2 2 0 6 2 4 4 5 5 5 3 8 2 8 8 6 7 1 4 3 6 2 1 4 1 5 7 7 3 6 3 8 2 4 4 8 5 2 5 7 0 6 6 4 6 5 3 4 2 3 0 0 2 0 0 3 3 8 6 0 8 7 1 8 5 6 8 3 3 8 7 0 9 5 2 8 2 5 6 4 2 3 1 8 9 2 3 3 7 3 0 5 8 2 7 4 6 7 8 2 5 1 0 2 9 0 5 2 3 9 2 1 4 4 6 4 1 1 7 5 9 0 7 0 0 0 8 2 8 6 2 8 7 4 9 1 5 6 4 7 2 1 2 9 6 2 2 2 3 1 0 0 1 4 9 8 4 2 7 7 3 9 1 0 5 8 5 2 6 2 7 1 2 0 9 5 7 0 2 6 3 3 4 2 5 1 3 9 0 6 9 2 7 5 5 4 1 2 4 9 9 2 5 8 2 6 8 9 8 7 5 5 9 1 3 0 4 8 4 8 9 0 5 9 0 8 3 6 6 5 0 4 7 3 8 6 5 6 9 0 0 5 9 8 0 7 2 6 5 1 2 6 8 2 6 4 3 8 0 9 8 0 0 0 8 0 7 6 8 7 1 6 8 8 9 7 4 9 7 6 7 0 0 5 7 4 7 2 2 8 2 8 5 1 6 5 4 3 0 9 3 5 4 6 9 4 2 3 7 0 1 2 9 6 9 0 1 2 2 5 2 0 0 0 4 1 7 7 5 9 7 5 2 7 8 0 9 9 3 4 1 3 9 9 1 4 9 4 5 5 6 7 5 6 5 5 4 1 5 7 9 1 2 8 9 0 1 4 1 4 1 8 0 7 1 8 0 9 7 0 8 1 8 0 1 0 6 6 8 6 2 6 0 0 0 3 3 4 7 4 6 7 8 3 4 9 2 1 1 6 3 5 4 3 3 0 7 4 1 7 6 6 5 5 6 1 9 7 8 6 5 4 1 2 9 4 4 3 3 1 5 7 9 6 1 0 8 5 6 7 3 3 9 0 7 2 1 0 9 7 0 8 1 5 2 4 7 6 9 4 3 6 0 2 0 8 2 3 1 0 7 7 3 7 7 3 1 9 2 5 5 9 3 5 5 9 1 9 1 9 3 6 1 5 0 9 9 9 2 2 4 1 8 5 1 8 6 9 7 6 2 5 1 1 8 2 1 9 7 1 5 9 8 4 4 9 3 9 6 4 2 2 9 2 3 2 2 2 5 8 6 9 3 9 5 8 3 2 0 5 8 4 9 5 3 7 6 0 0 1 7 3 3 8 8 2 4 2 9 1 6 8 1 3 2 5 7 0 0 3 1 9 8 4 9 0 9 4 2 8 0 5 1 7 8 5 2 8 7 8 2 8 4 2 5 6 0 0 2 1 5 4 9 2 3 3 2 3 5 0 3 2 9 4 1 8 7 2 8 4 2 6 0 1 1 0 9 6 2 3 4 3 2 0 6 1 4 8 5 5 4 7 5 7 9 0 3 8 8 0 2 8 4 9 2 2 8 1 3 9 3 9 7 1 3 0 9 7 9 1 8 0 5 6 2 4 4 7 7 0 3 4 9 4 2 9 9 5 3 0 5 8 5 9 0 9 4 1 5 0 3 1 2 3 7 4 0 0 2 1 3 4 4 5 4 3 1 6 0 7 0 4 9 5 3 8 8 0 9 1 1 7 8 7 0 5 7 1 0 4 5 6 8 6 2 1 1 6 2 1 0 6 9 6 5 5 0 2 3 0 2 8 8 8 6 6 1 7 0 6 0 3 1 4 5 8 0 2 2 2 8 8 4 3 4 4 9 0 6 8 7 9 4 0 4 8 9 0 7 4 4 0 6 7 1 6 4 5 5 7 5 6 5 1 6 0 5 9 6 3 9 7 4 8 8 1 6 4 7 4 4 5 7 5 4 0 9 4 0 0 8 9 1 9 1 1 0 8 3 9 4 5 1 2 6 2 3 3 9 9 0 4 5 3 3 6 4 7 7 2 5 4 1 7 4 1 3 3 1 3 3 0 8 2 1 1 5 3 7 5 8 9 8 3 0 7 7 3 9 0 4 0 2 5 4 9 7 3 9 7 5 1 6 2 0 8 2 5 8 3 7 8 9 8 3 8 4 9 9 6 2 0 0 8 7 4 7 4 9 6 2 2 3 3 1 4 3 6 3 5 4 5 5 3 5 9 9 7 1 0 4 7 2 8 9 6 3 9 6 2 6 2 9 1 4 6 7 5 5 4 2 2 8 1 7 3 5 6 2 4 6 6 5 8 0 4 2 1 2 0 0 7 2 7 5 4 0 1 2 7 3 9 8 2 2 6 9 6 5 1 8 0 2 5 9 6 1 3 0 3 3 4 3 2 9 7 9 2 8 6 5 3 3 0 0 6 3 6 5 4 1 7 5 6 7 6 0 0 3 3 6 9 6 8 8 2 4 3 9 2 6 3 9 1 2 8 0 7 1 3 1 2 3 0 3 8 7 6 0 0 7 6 0 3 9 9 5 7 2 8 5 6 5 8 3 3 3 3 9 0 8 3 8 5 9 2 5 3 4 2 4 9 3 3 7 1 5 3 0 7 0 4 5 7 4 7 1 4 8 2 7 4 3 5 5 1 0 3 7 4 1 7 1 4 7 0 2 4 0 0 6 8 6 7 4 1 9 1 4 1 8 7 4 3 9 8 2 3 0 4 4 9 2 0 2 7 7 2 0 0 9 6 8 2 2 8 2 4 7 4 6 4 0 8 0 2 7 7 9 0 6 8 1 0 4 7 4 1 6 0 2 8 8 2 6 1 3 4 4 0 8 0 3 2 5 6 6 0 7 5 3 0 2 3 0 1 7 2 0 3 1 9 8 1 0 7 0 7 9 6 8 9 3 0 5 1 9 5 4 1 4 5 2 3 9 3 2 7 6 6 1 7 8 3 9 0 5 8 2 8 9 4 3 9 3 2 1 4 6 1 4 8 8 9 4 8 2 1 6 9 5 9 1 8 5 7 9 4 9 8 5 0 2 2 6 3 8 5 8 3 1 8 7 0 4 4 7 3 2 9 0 2 9 9 7 9 0 4 7 3 1 9 3 7 5 3 8 0 3 5 4 3 9 2 0 2 8 5 7 0 6 3 5 0 6 7 2 4 8 4 2 4 5 0 0 8 9 2 0 6 8 9 7 1 2 9 9 5 3 0 8 2 1 3 7 4 7 3 3 5 2 5 5 7 9 2 9 8 2 5 6 5 8 0 3 4 6 9 7 7 9 5 0 4 9 7 4 0 5 3 3 2 9 5 0 6 2 2 0 5 8 4 5 8 6 9 7 6 7 8 2 3 7 6 5 4 7 3 5 8 0 9 2 6 7 0 7 5 3 8 9 1 7 3 6 6 5 2 4 0 1 5 7 7 5 2 5 8 9 0 2 0 2 3 5 4 8 8 3 2 2 7 4 8 0 6 7 8 9 6 1 3 2 8 4 6 6 8 2 1 8 6 5 9 7 2 8 6 9 7 8 5 5 9 2 6 7 2 8 2 6 8 2 2 6 5 6 4 5 7 5 7 7 9 5 8 6 7 0 5 7 1 0 9 7 7 2 8 3 9 6 6 0 5 1 0 1 5 1 6 3 8 7 1 6 3 6 1 5 3 2 1 9 1 8 2 0 3 6 5 2 7 2 9 8 9 7 5 8 6 8 0 7 7 8 6 4 4 3 0 4 4 8 9 6 6 2 8 6 7 0 3 9 3 1 8 8 4 8 6 9 2 1 9 3 1 8 3 9 1 8 2 9 2 7 1 7 2 5 5 4 5 0 3 7 6 7 7 3 3 0 7 6 8 5 6 3 0 8 6 5 7 6 0 0 6 6 5 3 4 2 6 2 2 2 5 4 5 3 5 0 5 7 6 2 9 0 3 0 8 6 2 7 1 8 9 3 7 3 6 4 3 2 7 4 4 8 0 8 3 5 5 8 9 2 8 2 2 0 1 0 2 3 7 4 9 5 1 5 3 4 6 6 5 2 6 2 8 5 7 5 0 4 2 2 2 9 5 0 9 9 5 4 4 6 0 1 4 4 2 8 8 0 1 8 5 9 0 6 1 4 4 3 3 7 9 6 7 9 1 4 2 7 1 7 4 1 3 2 7 8 2 8 6 9 7 5 9 9 8 2 5 9 9 9 3 8 1 9 0 8 4 4 7 7 4 6 9 7 7 5 2 2 0 5 6 7 8 9 8 3 9 5 3 7 8 5 7 0 1 5 4 6 0 9 1 5 7 6 9 5 0 0 6 1 2 8 6 8 9 6 1 0 8 2 5 5 1 9 3 7 3 4 8 6 6 1 2 5 6 8 2 2 5 0 1 0 5 8 5 7 5 2 3 7 5 0 5 0 4 5 0 5 0 3 6 4 1 6 2 7 8 0 4 4 0 6 6 7 6 9 0 5 1 3 0 5 6 4 8 0 7 1 9 1 0 1 4 1 3 2 2 8 5 0 6 3 4 8 2 6 6 5 7 2 6 8 2 8 5 1 1 9 3 3 0 5 9 4 3 3 7 1 7 3 7 3 8 9 9 6 2 3 6 5 4 7 1 5 5 3 4 8 1 6 5 9 1 6 3 0 0 8 6 8 3 8 5 2 0 9 0 5 4 9 1 0 6 0 1 9 4 5 9 6 7 5 8 2 2 3 7 0 1 9 1 1 5 1 3 5 8 1 1 4 2 0 7 1 5 2 1 2 2 0 6 7 3 5 2 1 9 4 8 7 7 7 0 6 9 5 2 1 6 0 8 5 3 1 7 1 7 4 7 7 5 8 0 5 4 2 5 5 4 1 3 8 0 3 8 9 7 8 8 7 3 7 1 6 0 5 8 2 4 1 7 7 1 9 0 4 2 5 2 4 0 1 0 5 6 3 7 0 6 6 1 7 9 2 9 9 6 3 9 5 8 0 8 7 0 6 7 1 7 0 8 3 8 7 2 9 5 0 2 3 8 0 5 7 2 3 8 5 4 7 6 1 0 4 9 5 0 6 1 7 3 2 6 8 9 5 8 7 9 4 8 2 4 0 3 1 9 5 6 9 4 9 9 0 0 0 5 9 4 5 9 3 7 1 9 8 4 9 0 0 4 1 0 4 5 5 0 0 3 4 4 1 5 0 1 4 0 6 6 1 5 4 5 2 6 9 9 4 6 0 9 0 9 4 4 4 1 3 9 1 4 3 9 0 7 1 8 6 6 3 0 9 0 0 9 2 4 9 6 9 1 8 1 2 4 6 8 8 1 3 0 8 8 1 2 6 2 4 2 3 5 8 7 8 7 2 0 4 8 5 6 0 8 9 6 0 8 2 3 4 0 3 7 6 7 7 4 3 7 5 0 9 4 9 6 7 6 8 4 5 1 0 5 8 0 5 9 5 7 9 9 7 7 1 8 9 0 0 6 6 0 5 3 5 4 9 0 3 3 5 9 9 6 1 7 8 4 2 4 5 1 2 1 0 9 6 1 4 4 8 7 7 0 6 3 1 8 7 4 6 6 9 1 0 2 9 2 3 5 6 6 2 7 7 7 1 1 6 5 2 0 3 5 2 2 6 4 7 0 1 6 1 6 6 2 9 6 4 8 8 0 8 3 8 0 8 9 9 7 8 8 7 6 8 7 7 6 9 3 0 8 2 2 0 8 5 6 5 3 0 0 6 8 1 5 3 9 4 0 8 5 6 7 4 8 0 4 1 3 4 9 4 6 9 4 9 1 8 7 0 7 0 4 9 9 2 6 6 0 2 1 0 0 6 6 4 5 5 8 1 9 8 3 2 8 8 6 1 3 0 6 7 8 0 2 1 4 6 0 3 6 9 8 9 3 1 7 4 4 9 9 9 3 9 1 0 7 2 3 1 2 3 0 4 0 5 0 8 8 3 4 2 4 8 5 3 8 3 7 9 6 7 4 2 2 0 8 8 4 7 0 6 0 3 8 5 3 3 4 9 4 3 9 2 8 1 4 7 5 1 9 6 8 5 7 9 1 2 9 2 1 7 4 4 4 1 9 1 7 3 8 6 3 9 8 7 3 9 1 5 5 9 0 8 9 1 5 8 5 9 3 1 0 7 5 0 4 4 9 4 1 9 9 6 9 4 2 5 8 5 6 9 2 0 5 0 3 8 9 1 2 7 7 5 5 0 0 9 2 5 6 0 0 2 9 2 2 5 5 6 6 0 2 8 2 4 5 7 3 3 0 5 4 1 6 4 3 7 0 4 8 2 9 6 5 3 5 1 5 3 2 6 9 5 7 5 7 3 1 1 9 8 6 0 3 3 1 5 3 8 6 1 7 6 7 1 2 7 0 7 2 3 2 2 9 6 2 6 7 0 1 2 2 4 8 0 6 1 2 3 2 2 1 9 5 4 8 8 8 9 1 8 4 8 0 4 0 1 4 9 3 5 7 7 5 7 1 3 1 3 0 2 3 0 8 8 9 7 5 0 1 3 4 8 5 7 3 6 0 0 3 5 7 1 3 4 3 0 7 0 4 6 6 2 8 1 5 7 1 7 8 7 2 0 0 2 1 5 7 8 7 0 5 9 8 3 3 0 2 8 5 6 4 0 1 8 5 1 4 0 3 6 7 4 1 6 8 5 2 3 5 7 9 2 0 2 3 0 6 4 4 0 6 4 4 1 5 9 4 4 8 5 8 6 5 6 6 2 4 6 9 0 5 4 7 7 9 6 4 0 8 6 5 7 2 4 6 2 6 1 1 8 3 4 0 6 3 2 1 3 0 2 5 1 2 6 2 3 0 8 9 6 9 4 9 7 1 3 6 4 2 3 3 4 5 8 5 4 1 9 3 5 1 1 2 8 3 7 3 1 3 2 1 5 7 2 3 2 1 0 1 5 7 7 6 8 7 8 8 4 1 4 7 9 8 6 7 5 2 3 6 4 4 4 1 7 1 1 2 9 8 4 7 2 3 5 4 7 6 3 1 4 2 7 1 5 8 5 0 2 9 3 4 3 4 7 4 6 4 3 4 1 2 7 2 3 0 2 2 5 7 3 5 7 9 2 0 9 7 0 8 3 4 3 9 9 1 0 4 9 8 3 9 4 0 1 9 7 8 9 9 7 9 8 7 0 3 5 1 8 3 7 7 8 6 0 1 0 7 7 8 6 6 7 2 2 6 1 0 2 2 4 1 6 8 4 4 9 8 6 8 6 3 9 8 8 7 4 2 2 7 5 8 0 6 3 1 2 7 2 5 8 1 4 7 4 3 9 6 6 7 6 7 1 9 4 0 4 4 4 4 2 9 0 0 7 1 2 8 4 9 1 4 2 8 6 2 5 1 8 6 7 0 8 5 0 9 2 3 5 8 4 5 3 2 7 7 0 9 1 4 4 1 0 9 9 5 7 5 3 5 7 6 5 9 8 1 2 1 7 8 5 2 3 7 5 6 8 4 8 9 3 4 4 2 9 6 7 0 3 6 8 6 8 6 1 8 1 2 2 9 9 2 8 0 3 3 4 3 3 4 5 6 6 9 6 4 9 3 4 6 0 7 7 0 9 0 3 5 9 2 2 3 1 8 0 4 0 7 2 8 4 9 8 2 7 6 4 0 9 5 5 8 7 3 8 5 4 4 9 1 4 5 5 4 1 6 4 8 0 6 2 1 0 9 8 6 1 9 0 9 0 4 4 9 3 3 1 7 6 1 2 8 8 9 6 6 1 3 5 3 2 5 4 1 3 0 6 2 3 1 3 9 9 1 9 7 1 4 6 2 3 3 2 7 6 8 4 8 7 2 2 4 1 8 4 1 1 9 0 8 8 8 4 1 0 5 4 8 1 9 2 7 0 8 7 8 9 4 8 9 3 9 5 9 0 6 8 1 7 7 8 5 7 9 5 8 8 9 1 8 5 8 7 8 8 1 4 2 6 0 9 9 2 4 1 7 6 7 7 5 3 8 6 2 3 8 2 4 0 6 0 0 2 4 5 1 8 2 1 1 4 9 0 3 5 1 6 0 1 2 4 4 9 2 8 9 3 9 4 0 5 7 8 4 9 4 0 5 5 4 3 2 1 7 3 5 8 9 7 7 9 5 0 3 8 6 7 7 9 2 4 4 8 6 1 4 7 6 9 4 4 8 7 3 4 6 7 1 8 6 3 5 8 3 8 1 7 2 9 6 6 2 7 0 7 3 3 4 1 4 0 4 0 2 7 6 3 1 0 2 9 8 2 1 5 6 2 3 0 3 1 4 2 1 5 7 7 4 3 3 7 9 2 9 4 6 1 6 6 4 9 3 7 4 3 6 1 5 6 0 4 5 9 0 3 6 0 6 0 2 9 8 5 8 1 2 2 4 5 7 6 0 8 5 2 5 2 7 0 0 5 7 0 0 6 1 8 7 7 6 0 9 5 8 2 7 4 5 9 7 4 9 6 7 4 0 5 3 1 5 8 8 2 1 6 2 6 9 5 9 8 2 8 5 1 1 4 3 0 0 6 3 2 0 8 9 7 7 3 0 4 7 3 1 3 3 4 6 1 1 7 2 1 4 2 9 4 5 8 0 5 4 0 7 1 7 8 8 7 6 2 2 3 0 1 1 4 6 2 5 5 8 5 1 0 5 2 0 9 3 0 7 6 1 7 7 1 4 9 3 2 7 8 6 0 3 5 4 1 2 6 2 7 1 9 8 8 0 5 2 2 8 2 6 8 6 4 1 0 7 0 5 5 0 4 9 3 6 4 3 7 0 5 5 5 8 1 6 9 4 5 8 3 0 8 4 0 6 5 0 9 6 0 4 4 7 3 2 1 8 6 8 2 6 6 8 5 8 2 1 6 9 0 3 7 8 4 8 6 8 0 3 2 2 8 0 4 7 9 8 6 4 0 2 1 7 0 6 3 1 5 6 5 3 6 8 7 4 8 9 2 9 0 4 6 7 6 7 9 0 1 5 8 6 4 7 0 9 3 7 9 4 7 8 7 6 2 3 7 3 0 1 3 8 2 2 0 2 6 3 7 3 7 8 8 8 2 2 8 2 7 5 6 4 1 6 3 7 2 5 8 7 2 6 7 0 9 2 1 6 0 2 4 3 4 0 7 7 2 7 9 2 9 8 5 6 5 6 7 9 8 2 5 2 3 4 9 4 6 4 2 8 3 7 6 1 6 2 9 1 8 7 1 7 5 5 6 9 9 3 4 5 4 6 9 3 7 2 4 7 5 9 7 4 4 6 4 4 3 7 4 5 8 6 1 2 3 5 7 7 7 6 8 8 4 2 6 4 7 3 4 6 9 2 4 3 6 5 9 0 9 5 5 8 5 5 3 1 6 2 5 7 1 5 6 4 8 0 7 9 6 9 0 3 4 0 5 2 6 7 1 5 0 4 7 6 0 7 5 4 7 4 2 6 7 6 9 6 0 0 3 8 2 5 5 8 1 4 0 3 4 3 5 4 7 1 6 5 2 0 8 3 4 5 9 8 8 6 4 5 3 8 4 3 2 5 9 3 9 0 8 1 5 4 3 9 2 9 1 8 9 3 9 0 8 9 8 9 6 1 0 9 0 8 3 5 2 1 9 9 2 5 1 9 0 5 3 5 3 0 3 9 8 3 5 9 0 8 1 5 1 6 2 8 9 2 4 7 5 7 1 0 4 3 3 5 4 7 8 6 4 2 4 9 5 4 9 8 0 7 4 1 3 8 8 7 4 5 3 8 6 0 2 3 1 1 3 3 2 9 5 9 1 3 9 0 6 3 6 0 0 6 6 9 4 5 3 9 4 3 7 4 3 8 6 9 0 7 5 9 5 8 9 1 2 1 2 8 8 7 5 8 0 0 7 8 0 4 0 8 2 9 1 1 9 7 5 2 0 7 0 9 5 2 7 8 1 3 3 3 3 5 5 5 0 2 3 2 7 7 6 7 6 1 7 8 3 3 9 1 3 8 1 7 9 4 1 0 5 1 0 9 4 1 2 9 9 9 6 8 0 4 3 0 1 0 3 8 9 9 4 7 5 0 5 1 2 4 3 2 3 2 3 3 1 4 3 1 1 2 0 6 6 3 5 9 8 7 2 6 6 1 8 6 1 0 0 8 4 7 1 7 2 5 4 6 9 6 9 0 8 7 2 6 6 3 7 4 5 6 8 5 8 4 6 6 6 4 6 1 6 2 0 9 3 2 2 3 4 2 7 6 8 0 6 8 4 6 0 1 7 1 8 5 1 6 7 0 2 4 2 7 6 7 1 1 2 5 9 1 3 0 8 0 0 5 9 5 8 3 0 5 3 6 5 8 1 8 0 0 3 5 9 9 1 2 1 4 4 4 7 6 8 5 2 8 6 5 3 4 9 8 5 3 9 7 0 1 3 8 7 6 0 8 0 8 1 7 0 2 0 9 1 8 4 7 2 8 6 3 3 5 1 3 6 8 7 8 3 7 4 5 2 5 1 2 9 2 9 3 6 2 9 4 3 7 3 1 3 7 7 9 7 7 9 4 1 6 8 1 6 3 1 3 0 9 8 3 6 8 8 8 3 3 6 2 4 5 9 2 4 8 8 2 7 0 0 4 2 5 3 3 2 7 5 3 1 0 1 7 4 0 3 7 4 0 1 8 5 8 1 5 5 1 9 2 6 6 3 1 4 7 5 8 8 0 3 2 4 5 0 3 1 6 3 4 9 8 2 8 9 4 4 0 9 0 9 4 1 4 5 9 4 3 5 7 0 9 8 3 9 3 3 1 4 5 4 0 7 7 9 3 7 6 3 8 5 3 3 8 8 4 8 2 4 0 5 6 9 6 4 5 8 3 6 6 1 9 0 6 5 8 0 3 6 2 3 1 2 0 5 9 7 6 0 0 3 7 1 2 7 6 6 4 8 3 0 9 9 5 1 2 5 8 5 9 3 1 0 2 1 4 2 9 0 2 3 7 3 0 6 0 5 2 0 0 0 8 8 3 4 1 5 7 4 9 7 2 4 4 0 5 0 2 8 8 6 3 4 0 2 5 0 0 0 2 8 7 4 7 0 5 5 2 3 3 6 8 8 5 4 1 0 6 8 5 9 3 3 8 9 0 3 9 6 6 2 3 7 9 9 1 3 7 7 6 4 8 5 7 1 5 7 7 2 0 9 3 7 4 9 6 8 1 0 5 5 7 1 8 2 7 7 7 8 1 4 2 9 6 5 9 2 4 4 2 5 1 6 6 6 7 0 3 1 1 0 1 3 5 8 2 0 6 2 5 3 1 6 5 1 8 9 0 6 9 3 6 4 6 2 6 6 3 6 1 3 3 7 6 7 8 3 6 7 7 0 0 1 5 7 4 9 0 9 5 6 1 4 4 4 9 6 2 8 2 8 2 0 5 6 9 0 8 2 0 3 3 0 0 1 3 1 2 1 2 8 9 8 7 3 0 0 7 8 5 5 2 0 6 2 8 0 9 1 5 0 3 5 8 8 0 3 3 4 0 7 1 7 4 6 2 3 3 5 1 1 1 4 2 8 3 8 0 9 6 5 5 0 6 5 1 8 1 8 2 7 1 1 7 7 8 2 5 9 6 4 1 4 7 3 4 2 2 7 5 8 8 5 8 0 3 1 6 2 4 7 3 6 4 8 2 5 3 5 0 8 8 7 9 2 7 6 2 9 9 0 7 4 8 1 3 2 4 2 6 9 2 4 6 1 7 1 4 1 6 9 5 2 1 0 6 8 5 4 8 8 1 8 2 7 5 3 6 1 6 1 2 7 8 6 9 5 5 2 1 6 4 1 2 3 8 3 2 6 3 2 4 6 1 6 4 0 3 4 6 0 2 7 7 1 0 5 3 0 5 2 2 1 7 1 2 7 4 1 6 9 0 9 8 3 1 7 1 4 4 2 5 8 4 2 7 5 4 3 5 9 3 2 5 1 9 3 7 0 8 3 6 7 9 2 0 5 2 4 8 7 0 1 8 6 2 1 2 7 0 8 5 7 4 5 3 1 5 1 8 1 9 7 0 7 9 7 9 7 6 2 4 1 5 6 3 2 2 3 6 9 6 2 7 5 3 0 3 0 3 6 2 5 0 1 0 0 5 7 4 0 1 5 0 3 1 8 5 2 4 1 7 7 1 3 8 1 7 1 6 9 1 6 9 5 9 0 6 6 5 5 0 4 8 0 4 9 4 2 6 7 4 7 3 6 9 6 6 5 6 0 5 1 8 1 9 5 2 7 7 2 9 7 4 0 4 4 0 7 8 2 4 8 7 4 1 6 3 5 3 0 8 7 0 7 4 8 0 3 4 4 7 1 2 6 3 0 7 5 5 0 4 5 3 0 1 8 7 6 8 7 3 4 5 1 1 6 3 1 2 6 0 0 0 2 5 7 1 7 6 5 7 0 8 2 9 4 1 1 3 4 4 7 1 5 9 0 5 8 3 2 6 8 5 9 4 6 4 0 2 2 9 7 5 4 8 9 0 6 1 8 6 8 5 6 9 7 1 5 5 2 9 3 2 5 3 3 3 6 7 9 1 9 2 9 0 4 5 0 9 1 8 1 3 3 8 9 8 9 0 3 9 5 3 1 2 2 6 1 1 4 0 7 7 6 0 4 1 4 6 3 4 1 3 9 5 1 2 0 2 5 3 1 9 9 0 6 8 7 2 0 6 9 0 4 5 0 6 5 4 3 1 7 3 6 0 7 9 9 3 5 2 4 3 4 7 9 1 0 8 2 0 3 9 6 9 5 4 7 8 0 6 1 9 2 6 4 5 3 2 5 4 6 4 4 0 5 3 1 2 4 5 8 6 3 6 2 0 2 6 0 1 6 1 5 6 9 5 7 8 8 8 3 2 6 4 1 9 9 1 0 3 4 5 5 1 9 7 4 1 7 9 2 1 4 0 3 9 6 0 6 1 8 1 7 4 5 9 4 6 7 3 3 2 2 1 1 3 6 7 1 1 3 0 5 1 6 7 5 8 4 4 9 7 0 7 2 2 0 8 0 6 3 8 2 4 9 3 0 9 2 8 5 3 4 8 2 5 7 7 4 7 0 8 2 7 5 4 9 3 9 8 6 0 6 0 8 5 0 8 4 8 6 3 8 6 5 4 9 9 1 2 9 1 2 2 2 0 3 9 1 8 9 5 3 7 9 3 3 2 3 2 1 8 1 4 3 4 4 9 9 8 4 5 8 6 8 0 5 5 7 2 6 7 9 1 5 5 5 3 5 2 5 2 1 2 1 1 3 9 0 7 7 2 3 3 8 9 0 3 7 9 7 9 4 2 7 4 8 5 2 0 9 3 0 9 5 0 4 6 4 1 5 9 9 6 3 9 1 9 6 0 5 3 2 9 6 0 3 0 2 9 2 7 3 9 2 7 4 6 6 3 9 0 6 2 3 4 1 9 0 0 8 4 8 8 2 2 1 9 8 0 0 0 4 0 7 5 4 3 9 0 2 5 0 7 1 8 4 3 0 1 6 8 4 8 0 8 6 6 1 5 7 0 0 9 0 2 2 0 5 3 1 5 8 2 7 3 8 5 7 4 1 7 2 6 7 9 0 2 3 1 0 1 9 3 5 6 6 0 6 4 2 4 3 6 6 0 8 3 4 0 8 0 2 0 2 7 8 6 3 9 2 2 6 3 6 5 2 4 5 3 3 9 5 5 0 4 7 0 6 2 4 4 1 0 8 9 5 7 7 9 1 0 4 9 2 9 8 9 0 8 3 9 7 0 9 7 7 1 5 8 0 6 8 5 7 0 3 6 5 2 7 8 7 2 9 3 2 8 4 6 7 7 1 9 5 2 2 7 4 8 7 5 2 0 1 3 2 1 8 5 6 6 4 4 2 8 4 2 3 9 1 1 6 5 0 2 0 0 5 7 8 6 3 1 4 0 8 3 2 6 6 6 0 6 5 6 4 4 6 9 0 2 3 5 4 8 8 6 5 4 5 2 4 3 6 9 9 5 4 2 8 1 7 3 0 5 4 3 8 3 4 8 1 5 3 2 5 2 5 1 5 6 3 1 1 6 0 3 4 3 8 9 4 1 4 4 0 6 1 2 5 9 9 6 6 2 2 6 4 9 5 9 8 7 8 7 6 9 0 0 3 7 1 2 4 1 2 4 0 6 3 0 5 0 7 2 7 1 3 0 4 9 3 6 1 0 6 0 7 7 7 5 1 9 3 5 1 7 6 6 6 8 4 3 5 0 9 7 9 0 9 5 1 1 2 4 7 0 3 7 7 7 2 8 5 2 7 0 4 5 1 8 1 6 5 3 5 5 6 2 8 5 6 2 1 6 5 6 7 6 1 9 7 9 3 8 2 9 6 0 8 3 7 2 5 2 0 8 4 7 5 9 2 0 3 1 8 1 1 1 4 3 8 4 4 0 4 0 0 5 1 1 4 6 1 3 9 9 0 3 2 6 2 7 3 3 6 2 1 4 6 1 5 0 6 6 7 8 5 1 8 8 0 0 7 9 3 2 7 5 6 3 4 8 6 4 4 4 8 0 3 7 2 6 9 6 3 2 7 8 4 7 5 8 1 8 4 5 3 4 6 8 5 0 9 5 6 5 3 6 5 3 8 0 7 2 3 8 0 7 7 3 6 7 9 3 5 2 6 2 4 2 1 4 5 5 3 3 0 8 8 8 3 3 6 7 9 7 2 7 0 7 4 1 9 2 8 3 8 8 7 2 6 8 5 4 8 4 9 7 7 3 8 7 3 0 6 6 7 0 0 0 7 5 5 1 9 6 5 7 6 1 4 3 1 5 8 3 9 4 1 1 0 2 0 4 2 4 9 2 6 2 3 1 3 3 2 4 2 7 7 0 2 7 0 8 2 1 7 1 0 0 4 7 1 3 7 1 5 2 1 6 7 9 4 8 8 7 2 4 6 8 7 4 1 1 8 9 2 5 9 8 0 5 6 2 3 9 1 0 4 8 7 1 3 8 9 7 5 0 3 4 2 0 3 3 7 6 6 7 3 3 4 4 9 8 9 0 6 0 0 5 2 1 1 1 7 2 7 8 4 4 6 7 0 5 3 0 5 2 1 3 2 7 4 2 5 3 3 2 1 8 9 7 3 4 9 7 8 8 8 8 3 0 7 9 4 3 6 2 6 0 9 9 1 2 5 5 6 9 7 4 1 3 5 0 8 3 9 4 3 4 0 6 1 7 5 0 7 1 2 8 7 6 4 4 5 2 2 2 0 3 9 5 5 7 4 5 5 1 5 0 0 1 9 4 4 2 9 9 6 2 3 2 7 3 9 3 1 7 0 9 1 4 8 7 9 0 5 1 4 8 8 1 2 8 2 1 5 8 2 8 9 4 5 7 9 9 4 9 7 4 8 6 2 3 4 3 3 4 5 2 8 6 5 4 6 0 2 7 4 9 4 5 1 3 3 4 7 7 2 6 7 3 4 5 3 6 2 7 9 9 6 8 4 7 0 6 6 1 0 9 3 7 7 0 7 6 8 8 0 4 8 3 7 9 5 6 7 8 6 0 4 9 9 8 8 7 3 2 7 2 8 7 2 7 3 1 5 8 7 8 5 1 9 5 5 0 5 2 1 6 9 4 6 9 8 6 5 7 1 7 5 9 3 7 2 8 7 5 9 8 4 5 1 4 9 9 4 0 8 7 3 6 6 7 3 5 6 9 9 6 9 0 3 2 2 2 1 2 6 1 9 0 7 3 3 7 2 1 3 1 9 8 4 9 7 2 8 7 3 7 1 4 8 2 3 9 2 2 0 5 6 3 6 1 1 5 8 2 7 6 7 1 9 2 9 3 6 8 7 5 1 7 9 5 0 9 5 7 3 1 4 7 7 5 3 4 7 7 2 9 7 8 0 0 7 3 8 7 0 4 5 0 9 6 9 2 0 4 2 0 1 4 0 5 6 4 1 6 4 9 6 7 0 4 5 8 8 4 9 0 5 7 4 6 6 7 9 3 6 8 2 1 5 5 5 2 1 9 0 1 0 9 5 0 2 7 9 6 6 0 2 3 5 9 0 2 0 0 6 2 9 5 6 3 4 2 6 6 2 1 6 9 7 5 5 6 1 6 6 2 6 1 9 5 6 7 2 1 4 0 3 4 3 9 8 0 3 6 2 1 9 1 8 2 4 3 1 7 7 2 4 2 1 1 0 4 8 4 8 2 3 9 0 1 6 2 2 1 2 1 4 3 3 2 4 6 3 9 4 5 1 1 8 3 2 1 9 0 7 3 7 0 3 6 2 7 6 3 6 2 5 5 6 9 4 7 5 3 5 3 7 2 6 1 9 4 3 6 1 2 6 9 9 6 6 4 5 3 4 2 2 2 9 5 8 9 0 0 6 7 3 6 9 5 2 0 1 4 8 7 0 3 9 3 8 6 5 0 1 5 0 8 7 0 7 4 4 1 4 7 3 5 2 2 0 2 2 0 7 7 0 4 1 1 0 7 0 0 8 8 3 2 8 0 3 0 7 3 1 5 4 5 0 4 1 0 8 5 7 2 1 7 6 2 4 4 8 6 0 0 3 2 4 5 7 4 5 2 9 6 4 2 4 4 5 8 0 1 5 5 0 8 8 7 5 3 5 5 8 1 4 4 5 1 2 8 9 1 8 1 7 3 6 8 6 3 4 6 1 1 6 5 6 7 1 1 1 0 5 0 1 5 1 1 0 9 7 1 4 7 6 0 5 4 4 3 6 1 5 3 7 9 2 0 2 0 7 5 4 6 1 1 5 0 7 3 5 2 9 1 6 7 9 3 5 3 5 9 8 0 3 7 4 6 2 3 3 1 5 8 0 3 5 4 0 2 5 0 7 2 9 3 5 8 5 4 2 2 1 3 4 9 5 0 2 3 9 6 5 5 0 0 4 8 1 8 4 5 6 2 5 6 3 2 7 7 9 4 9 3 0 4 4 1 9 2 6 2 8 2 9 4 1 3 6 3 0 0 7 2 2 4 1 5 0 7 5 8 1 4 4 4 7 7 6 8 8 9 5 5 5 6 9 6 1 6 0 2 5 7 4 1 4 2 3 8 5 9 2 7 4 4 1 5 7 4 0 4 7 7 2 1 7 6 4 3 4 7 4 9 4 8 6 6 3 1 8 3 1 8 2 6 4 8 2 1 0 0 8 3 7 8 5 7 4 9 0 8 0 2 2 2 1 9 9 1 2 2 1 4 4 6 9 4 1 1 7 4 0 0 2 7 0 8 5 6 1 5 9 0 9 5 1 0 4 8 8 5 8 4 5 9 6 7 3 9 2 3 3 2 6 0 2 3 0 1 8 4 3 7 4 0 3 2 8 7 0 2 8 0 8 5 6 9 7 8 2 3 1 1 1 8 2 4 6 0 3 9 2 6 4 2 1 2 9 0 2 4 7 2 9 1 9 2 5 3 5 2 2 6 7 8 7 5 6 7 8 9 7 8 6 8 5 6 4 6 0 0 5 7 0 5 4 5 1 0 8 9 4 5 3 7 4 1 9 0 6 4 9 3 7 1 5 5 8 8 9 4 2 5 3 3 2 9 7 0 3 4 8 6 9 8 2 6 9 3 3 8 6 6 3 4 5 7 4 8 0 7 8 0 1 0 7 8 7 1 9 2 5 4 1 2 9 7 8 4 9 0 7 1 5 5 2 7 6 6 8 3 4 0 5 3 6 2 4 0 7 2 2 8 9 7 5 0 1 8 0 1 6 4 1 7 4 8 6 6 9 5 2 2 6 6 3 9 4 6 8 8 9 7 7 9 9 8 2 9 7 4 7 0 3 4 4 1 4 8 4 6 6 0 5 2 3 2 9 7 7 5 3 1 9 1 4 2 6 6 6 3 8 4 7 3 9 0 6 8 1 0 5 4 1 6 7 1 1 6 8 0 6 6 1 3 1 2 6 2 9 1 8 8 3 4 7 6 4 8 0 0 6 3 9 6 5 4 7 6 2 3 4 5 1 9 2 5 4 0 5 8 0 4 0 0 2 5 7 7 2 7 9 5 0 8 5 9 0 6 1 8 1 7 3 2 6 0 0 0 1 8 8 3 5 6 6 7 7 5 7 6 2 4 9 6 3 5 0 8 4 5 1 2 2 6 6 4 1 0 5 5 7 5 5 1 6 4 5 1 3 4 4 7 0 2 6 2 0 8 3 4 8 5 4 8 0 7 7 6 1 7 3 7 0 1 9 2 3 6 2 6 4 0 6 3 8 4 8 3 1 3 7 1 8 4 2 0 8 7 4 7 7 2 2 3 0 9 4 4 6 7 9 7 8 6 6 1 2 2 1 6 4 9 6 8 9 8 4 2 3 2 2 7 8 9 2 4 8 7 6 2 6 0 5 1 6 7 8 9 8 6 8 6 4 7 5 7 3 9 0 1 2 2 6 0 3 6 1 0 6 7 9 2 4 6 6 1 7 2 8 3 9 0 0 1 6 2 6 7 3 4 4 0 5 9 9 0 3 2 2 4 0 2 6 5 3 6 3 4 3 5 5 0 3 0 1 5 5 2 9 8 3 2 6 4 5 1 9 8 6 5 8 8 1 3 0 3 9 4 2 5 8 6 6 1 7 7 3 4 9 8 7 2 8 0 2 3 1 8 9 2 5 4 4 2 7 8 0 1 6 1 1 3 3 1 8 3 5 4 2 7 6 1 0 3 2 5 8 0 0 2 3 9 3 9 4 2 6 0 7 8 5 8 7 5 6 9 4 9 4 8 5 1 1 9 3 0 0 7 1 5 8 5 3 9 2 9 8 4 3 1 6 3 9 6 7 5 7 5 5 3 1 3 5 2 4 8 4 2 2 1 2 7 4 8 1 4 8 6 4 0 2 7 2 9 7 3 0 7 1 5 5 4 5 7 1 0 9 4 2 3 4 3 2 4 7 1 8 5 6 9 7 0 5 2 3 6 3 5 6 7 2 2 8 6 5 5 1 5 1 6 2 6 5 6 7 2 3 8 9 2 4 8 0 8 0 6 5 9 2 7 9 4 4 8 9 5 3 0 7 8 7 0 8 1 5 3 6 0 6 6 6 6 7 4 1 3 1 4 5 9 8 2 6 0 7 9 8 8 1 1 2 7 8 7 5 4 6 5 6 3 1 3 0 0 7 7 8 5 7 4 3 4 8 4 1 8 9 6 1 0 8 0 9 4 9 9 1 1 9 4 3 6 0 3 7 5 6 1 0 7 5 3 2 6 3 5 9 4 1 4 1 4 3 4 7 6 8 8 2 4 9 4 6 9 2 5 3 0 7 8 7 7 9 0 6 9 3 2 7 5 2 9 0 8 9 5 9 0 9 9 4 5 0 6 5 2 7 2 0 7 1 9 7 9 4 1 9 6 8 2 7 4 1 8 4 0 8 1 9 8 3 0 5 6 7 4 9 7 6 8 8 0 8 6 2 3 6 4 6 0 8 1 9 3 4 5 6 2 3 6 3 7 7 0 2 4 6 7 8 1 5 0 7 3 1 3 3 4 6 6 1 9 7 9 2 3 1 1 9 9 3 9 1 1 7 1 9 5 9 7 9 3 5 2 8 3 3 1 1 7 4 9 6 8 2 0 5 0 0 5 7 7 2 9 9 9 3 8 5 6 6 4 7 6 9 8 4 2 6 0 8 1 5 5 1 8 9 4 0 8 6 6 7 7 6 3 2 0 8 5 5 4 8 3 1 5 9 8 3 6 1 8 8 8 5 0 4 4 8 3 3 9 9 1 1 3 5 1 5 0 5 1 3 2 9 0 9 7 0 3 9 9 0 0 8 8 9 1 9 0 6 3 1 3 3 3 7 5 8 0 4 0 9 4 8 8 6 9 5 5 8 9 5 4 6 5 9 1 2 6 4 8 1 0 4 5 3 4 6 2 1 4 3 0 2 9 5 7 3 3 3 7 5 9 9 2 8 9 8 9 5 9 3 2 9 6 6 4 4 4 4 6 8 6 9 0 0 6 4 8 6 7 4 5 3 1 6 6 1 8 7 8 8 2 1 2 9 7 1 9 4 1 4 6 1 9 1 9 1 4 1 3 2 9 7 8 6 7 3 3 7 5 2 8 3 7 0 2 9 9 5 1 9 0 7 0 6 1 7 9 9 2 4 1 7 8 1 4 0 2 4 9 3 5 6 2 8 5 0 0 6 5 3 6 2 7 3 7 7 1 6 3 6 3 5 5 5 6 9 7 2 0 0 0 3 2 4 6 9 9 6 1 3 0 6 6 5 2 8 2 4 5 1 6 9 5 1 6 7 2 7 3 1 6 1 8 3 1 3 9 3 8 6 7 5 5 8 7 9 1 2 7 8 2 6 4 9 3 3 7 5 8 0 4 0 0 1 1 0 5 9 2 1 1 3 7 2 2 7 0 8 3 9 1 2 3 5 1 8 4 5 9 7 0 9 1 0 7 4 8 0 6 6 9 8 5 2 6 9 6 0 8 0 9 0 9 1 8 1 8 7 2 9 7 8 5 0 1 5 7 4 0 6 4 5 4 4 5 4 8 2 6 4 4 7 1 0 7 8 6 3 3 3 8 6 5 9 9 1 1 3 1 8 8 8 1 0 1 3 7 7 4 6 3 1 8 9 8 4 4 9 6 7 4 5 9 8 9 0 1 1 5 4 0 3 3 4 2 5 9 3 1 5 3 4 7 7 4 0 0 8 2 1 1 0 7 3 4 8 1 8 4 7 1 5 2 1 2 5 3 3 7 4 5 0 7 2 7 1 5 3 8 1 3 1 0 4 8 2 9 6 6 1 2 9 7 9 0 8 1 4 7 7 6 6 3 2 6 9 7 9 1 3 9 4 5 7 0 3 5 7 3 9 0 5 3 7 4 2 2 7 6 9 7 7 9 6 3 3 8 1 1 5 6 8 3 9 6 2 2 3 2 0 8 4 0 2 5 9 7 0 2 5 1 5 5 3 0 4 7 3 4 3 8 9 8 8 3 1 0 9 3 7 6

 
Das ist die Zahl 2**(10**5) mit 30103 Ziffern und der Quer­summe 135178.

Das WebSeiten­Betrachtungs­Gerät Chrome jeden­falls hat kaum ein Problem mit diesem wunder­baren Zahlen­salat, der sich auch kurz als 2**(10**5) zusammen­fassen lässt - ein hoch auf die Mathe­matik.

Nebenbei, es ist gar nicht so einfach, zehn geeig­nete Farben zur Einfär­bung eines solchen Zahlen­salats zu finden. Ich werde mich wohl auf die Suche nach einer geeig­neten Metrik im Farben­raum machen müssen: Das eine Dunkel­blau hebt sich fast ein wenig zu wenig vom pech­chwarzen Hinter­grund ab.


Hier nun noch die Quer­summen samt Ziffern­zahl der ersten Potenzen 2**(10**k), k = 0 .. 7, schön von Python forma­tiert, aber mit mei­ner hand­gemachten Einfär­bung der Ziffern:
 


2**(10**k), k = 0 .. 7


Hier einige Laufzeiten zur Berechnung der Quersummen für 2**(10**k):

Der Anstieg ist also ganz gewaltig.

   k      Laufzeit

   5        0,03 s
   6        2,27 s
   7      219,86 s
  

Für 2**(10**8) habe ich den Rechner eine gute Stunde arbeiten lassen, dann brach ich den Re­chen­lauf ab - immerhin, gut drei Mil­liarden Ziffern hätte er verwursten sollen.

Der mathematische Ausdruck der Zweier­potenzen 2**(10**k) sieht ganz schlicht und einfach aus, er drückt ein regu­läres Bau­prinzip aus. Was sollte man da von den Ergeb­nissen erwarten? Einen regu­lären Ziffern­aufbau?

Doch eher nicht – so ich war zunächst über­rascht, dass sowohl die Ziffern­zahl als auch Quer­summe selbst ein regu­läres Bau­muster auf­weisen.


Zur Anzahl der Ziffern

Ich möchte dazu noch etwas nachharken. Die Anzahl der Ziffern sei (m+1).

m muss dabei die neben­stehenden Un­glei­chungen erfüllen:

k

log10(2) 10k < m+1

m

0

0,301029995663981 < m+1

0

1

3,01029995663981 < m+1

3

2

30,1029995663981 < m+1

30

3

301,029995663981 < m+1

301

4

3010,29995663981 < m+1

3010

5

30102,9995663981 < m+1

30102

6

301029,995663981 < m+1

301029

7

3010299,95663981 < m+1

3010299

 

Potenz 0 | Ziffernzahl 1

Potenz 1 | Ziffernzahl 4

Potenz 2 | Ziffernzahl 31

Potenz 3 | Ziffernzahl 302

Potenz 4 | Ziffernzahl 3011

Potenz 5 | Ziffernzahl 30103

Potenz 6 | Ziffernzahl 301030

Potenz 7 | Ziffernzahl 3010300

Die Ziffernzahlen in der rechten Spalte erweckt den Eindruck, als wüchsen die Ziffern­zahlen für höhere Potenzen einfach mit dem Faktor 10. Das dem nicht so sein kann, zeigt die linke Spalte, denn es ist die (irra­tionale) Zahl log10(2), also der Zehner-Loga­rithmus von 2, der die Anzahl der Ziffern bestimmt.

Es sei  

Der zweifache Stern kennzeichnet die Exponentiation: a**b = ab.

Die oben verwendete Zahlen­folge lässt sich auch in rekur­siver Weise auf­schreiben.

Kennt man die Ziffern­folge für PN, so lässt sich durch mehr­fache Multi­plikation die Ziffern­folge von PN+1 berechnen.



Die erste, ranghöchste Ziffer von PN+1 erhält man durch die 10-fache Multiplikation der rang­höch­sten Ziffer von PN, aber hinzu kommen gegebenfalls weitere Beiträge von gemischten Termen, die Überträge für höhere Potenzen liefern können.

Die führenden Ziffern 135... der Quer­summen von 2**(10**N) bleiben eine kleine Weile nur erhalten, weil die führenden Ziffern der Quer­summen für kleine N - begin­nend mit 2**10=1024 - klein sind.



Die Verteilung der Ziffern in der Quersumme


Neugierig ob des (naja, 'zufälligen') Bau­musters geworden, stellte ich mir die Frage, wie denn die Ziffern bei den Quer­summen wohl verteilt sind.

ziffernInQuersumme(n)

Um die Anzahl der Ziffern in einer Quer­summe zu speichern, verwende ich ein Wörter­buch (dictionary), das sind Paare aus Schlüs­seln und den zugeord­neten Werten, Schlüs­sel sind hier die Ziffern von 0 bis 9, Werte die Anzahl der jewei­ligen Ziffer, das Wörter­buch wird hier digitsMap genannt.

Für das Anlegen und die Initiali­sierung der digitsMap verwende ich eine dictio­nary compre­hension, die in geschweif­ten Klammern ausgeschrieben wird, im Beispiel {ix : 0 for ix in range(10)}. Ich könnte statt­desssen auch die eingebaute Wör­ter­buch­funk­tion fromkeys verwenden, müsste dann aber auch die Punktnotation gebrauchen, was ich hier ziem­lich abwegig fände, wie auch an so manch anderen Stellen.

Dann wird wieder eine Liste von Ziffern erstellt, über die iteriert wird, wobei in der digitsMap hochgezählt wird.

Ist das eine Wonne, mit Python über Listen zu laufen! Wenn ich da an die Mühsal mit den Booch-Kompo­nenten in Ada denke – deren Initiali­sierung brauchte schon einen halben Arbeits­tag.



 

Auch die formatierte Ausgabe ging mir dieses Mal schnell von der Hand. Hier ist zu beachten, dass Python keine Aus­sage dazu macht, in welcher Reihen­folge* die Ein­träge in einem Wörter­buch vor­liegen, daher muss die Schlüssel­liste entspre­chend sortiert werden, um die Liste der Anzahl der Zif­fern in der gewünsch­ten Reihen­folge zu erhalten.

(*) wohl in der Reihenfolge der Hashwerte für die Schlüssel

Und das ist die Verteilung der Ziffern:

 >>>  Z | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|  ------------------------------------------------------------------------------------  P 0| 0| 0| 1| 0| 0| 0| 0| 0| 0| 0|  P 1| 1| 1| 1| 0| 1| 0| 0| 0| 0| 0|  P 2| 6| 2| 6| 2| 2| 2| 5| 3| 1| 2|  P 3| 28| 34| 23| 25| 35| 35| 34| 35| 30| 23|  P 4| 292| 319| 287| 311| 292| 303| 303| 287| 328| 289|  P 5| 2991| 2969| 3068| 3075| 3040| 3015| 2952| 3052| 2932| 3009|  P 6| 30186| 30354| 30047| 30193| 30230| 30174| 30103| 29840| 29896| 30007|  P 7| 301010| 299675| 301840| 301619| 301385| 300980| 301002| 300925| 301477| 300387|  >>>

Ich mag es nicht noch weiter treiben und über­treiben - keine weitere gra­fische und statis­tische Auf­be­rei­tung. (Zudem ist die Mess­reihe not­gedrungen etwas kurz geraten.)

Was aber auffällt: Für höhere Potenzen sind die Ziffern per Augen­schein ungefähr gleich­verteilt. Ich hätte er­war­tet, dass gerade Ziffern häufiger auf­träten. Auch die Ziffer mit dem häu­fig­sten Auf­treten streut. Und die 2 ist eher unter­vertreten.

Dennoch, hier gibt es anschei­nend kein Bau­muster, das gleich ins Auge fällt.



Doch noch etwas Algorithmik


Wie peformant ist nun aber der Python-Code, der dem funk­tio­nalen Ansatz mit Listen folgt? Die erste Ver­mutung wäre natürlich, dass der algo­rithmisch gestrick­te Quell­code natürlich leistungs­fähiger sein müsste. Puste­kuchen?

Python kennt die Ganz­zahl­arithmetik für große Zahlen: Addition, Sub­traktion, Multi­plikation. Test­aus­gaben auf der Konsole machten einen zügigen Eindruck.

Ein Algorithmus zur Bestim­mung der Quer­summe einer natür­lichen Zahl? So unge­fähr geht das: Man bestimmt die zur höch­sten Zehner­potenz gehö­rige Ziffer h und addiert sie gleich zur Quer­summe; dann wird der Beitrag 10**h der höch­sten Ziffer von der Ausgangs­zahl sub­trahiert und für die Differenz erneut die Ziffer zur (nächst­)höchsten Potenz bestimmt und so fort. Die höchste Zehner­potenz der Ausgangs­zahl selbst bestimme ich nicht ganz konven­tionell aus der Anzahl der von Python für die Zahl­dar­stellung ver­wen­deten Bits.


 

 

(Am Rande: Mit der knappen Anwei­sung pot-=1 habe ich eine natür­liche Fehler­quelle eingebaut, die aus der über­aus gars­tigen Welt der Assembler­hoch­sprache C in Python über­nommen wurde, ich sollte sie zu­mindest durch pot+=-1 ersetzen, wenn nicht gar durch pot=pot-1.)

Für die Zahl 2**(10**5) liefert ein Programm­lauf mit dem Python-Profiler die fol­gende Über­sicht - für mich eine Über­raschung:

python -m cProfile  quersumme-algo.py

   135178
   30168 function calls in 95.015 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 (__init__)
        1    0.000    0.000    0.000    0.000 (_load_backward_compatible)
        1    0.000    0.000    0.000    0.000 (_load_unlocked)
        1    0.000    0.000    0.000    0.000 (find_spec)
        1    0.000    0.000    0.000    0.000 (load_module)
        1    0.000    0.000    0.000    0.000 (is_package)
        1    0.000    0.000    0.000    0.000 (__init__)
        1    0.000    0.000    0.000    0.000 (__enter__)
        1    0.000    0.000    0.000    0.000 (__exit__)
        4    0.000    0.000    0.000    0.000 (<genexpr>)
        1    0.000    0.000    0.000    0.000 (__init__)
        1    0.000    0.000    0.000    0.000 (acquire)
        1    0.000    0.000    0.000    0.000 (__enter__)
        1    0.000    0.000    0.000    0.000 (__exit__)
        1    0.000    0.000    0.000    0.000 (_find_spec)
        1    0.000    0.000    0.000    0.000 (release)
        1    0.000    0.000    0.000    0.000 (_find_and_load_unlocked)
        1    0.000    0.000    0.000    0.000 (_find_and_load)
        1    0.000    0.000    0.000    0.000 (_handle_fromlist)
        1    0.000    0.000    0.000    0.000 (__init__)
        1    0.000    0.000    0.000    0.000 (__enter__)
        1    0.000    0.000    0.000    0.000 (__exit__)
        1    0.000    0.000    0.000    0.000 (_get_module_lock)
        1    0.000    0.000    0.000    0.000 (cb)
        1    0.000    0.000    0.000    0.000 (_call_with_frames_removed)
        2    0.000    0.000    0.000    0.000 (_requires_builtin_wrapper)
        1    0.000    0.000    0.000    0.000 (__init__)
        1    0.000    0.000    0.000    0.000 (spec_from_loader)
        2    0.000    0.000    0.000    0.000 cp850.py:18(encode)
        1    0.005    0.005    0.005    0.005 quersumme-algo.py:10(getPot)
        1    0.000    0.000   95.015   95.015 quersumme-algo.py:2(module)
    30103   82.283    0.003   82.283    0.003 quersumme-algo.py:21(getDigit)
        1   12.727   12.727   95.015   95.015 quersumme-algo.py:28(getSumOfDigists)
        1    0.000    0.000    0.000    0.000 quersumme-algo.py:4(InvalidDataError)
        1    0.000    0.000    0.000    0.000 {built-in method __build_class__}
        1    0.000    0.000    0.000    0.000 {built-in method acquire_lock}
        2    0.000    0.000    0.000    0.000 {built-in method allocate_lock}
        1    0.000    0.000    0.000    0.000 {built-in method any}
        1    0.000    0.000    0.000    0.000 {built-in method ceil}
        2    0.000    0.000    0.000    0.000 {built-in method charmap_encode}
        1    0.000    0.000   95.015   95.015 {built-in method exec}
        2    0.000    0.000    0.000    0.000 {built-in method get_ident}
        3    0.000    0.000    0.000    0.000 {built-in method getattr}
        4    0.000    0.000    0.000    0.000 {built-in method hasattr}
        1    0.000    0.000    0.000    0.000 {built-in method init_builtin}
        1    0.000    0.000    0.000    0.000 {built-in method is_builtin}
        1    0.000    0.000    0.000    0.000 {built-in method log10}
        1    0.000    0.000    0.000    0.000 {built-in method print}
        2    0.000    0.000    0.000    0.000 {built-in method release_lock}
        1    0.000    0.000    0.000    0.000 {method 'bit_length'}
        1    0.000    0.000    0.000    0.000 {method 'disable'}
        1    0.000    0.000    0.000    0.000 {method 'rpartition'}

Das Ergebnis ist richtig, die Quersumme von 2**(10**5) ist 135178. Aber jeder Aufruf der Funktion getDigit braucht 3 Milli­sekunden, diese Funktion wird gut 30000 mal aufge­rufen. Da summt sich schon ein Sümm­chen zusam­men.

Verzichtet man auf den Funktions­aufruf und baut den Code der Funktion getDigit inline ein, gewinnt man nur 2 Sekun­den. Übel­täter oder Nadel­öhr sind also die sich wieder­holen­den Subtrak­tionen.

Und die Variante mit der Listen­verarbeitung, der Ein­zeiler?

def quersumme(n):
    return sum((map(int,list(str(n)))),0));

python -m cProfile  quersumme-01.py>

Potenz  5 | Ziffernzahl    30103 | Quersumme:  135178
         14 function calls in 0.030 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        2    0.000    0.000    0.000    0.000 cp850.py:18(encode)
        1    0.000    0.000    0.030    0.030 quersumme-01.py:2(module)
        1    0.022    0.022    0.029    0.029 quersumme-01.py:2(quersumme)
        2    0.000    0.000    0.000    0.000 {built-in method charmap_encode}
        1    0.000    0.000    0.030    0.030 {built-in method exec}
        1    0.000    0.000    0.000    0.000 {built-in method len}
        1    0.000    0.000    0.000    0.000 {built-in method print}
        1    0.006    0.006    0.006    0.006 {built-in method sum}
        1    0.000    0.000    0.000    0.000 {method 'disable'}
        3    0.000    0.000    0.000    0.000 {method 'format'}

Die gleiche Aufgabe und zwei Zeiten in verschie­denen Größen­ord­nungen: Die Lauf­zeiten unter­scheiden sich um den Faktor 3167.



Eine Übungsaufgabe


Bestimme alle natür­lichen Zahlen im Intervall [minNum,maxNum] (im Code ange­geben), die eine vorge­gebene Quer­summe haben.

Das Problem könnte ein Zwei­zeiler erle­digen, es wird ein­fach pro­biert:


 

 

Schon für kleine Quer­summen steigt die An­zahl der gefun­denen Zahlen (und die Re­chen­zeit) rapide an:

Die Suche nach den Zahlen mit der Quer­sum­me 9 brauchte mir schon zu lange.

   QS      Anzahl
    4           21
    5           77
    6         287
    7       1079
    8       4082
   

Hausaufgabe

Man könnte auch einen kon­struk­tiven Weg für die Lösungs­suche zum gerade gestel­lten Problem ein­schlagen.

Man braucht sortierte Ziffern­tupel, die die gewünschte Quer­summe haben. Durch geeig­netes Befül­len mit der 0 erhält man weitere Tupel. Gleich unten findet der Leser ein Bei­spiel. Alle Zahlen ergeben sich dann durch Per­muta­tionen der Ziffern. Viel­leicht könnte man als Ergebnis­typ die Menge wählen?

Ein Beispiel, ich gebe die Quersumme 4 vor:

Die Restaufgabe wären die Permutationen und etwas Filtern - als Hausaufgabe.

(1,1,1,1)
(1,1,2)    (0,1,1,2)
(1,3)      (0,1,3)     (0,0,1,3)  
(2,2)      (0,2,2)
(4)        (0,4)       (0,0,4)
                        

Der obige Zweizeiler liefert zwischen den Grenzen 4 und 1111 diese 21 Zahlen für die Quersumme 4:

[4, 13, 22, 31, 40, 103, 112, 121, 130, 202, 211, 220, 301, 310, 400, 1003, 1012, 1021, 1030, 1102, 1111]

Quellcode für Python 3


quersumme-py.html

quersumme.py

quersumme-algo-py.html

quersumme-algo.py



© 2015 Bernd Ragutt
Alle Rechte vorbehalten
 ... hier kann man hinschreiben letzte Änderung: 28. März 2020
Kruschtkiste