Exemples de Pangrammes et Palindromes
Exemples de Pangrammes et Palindromes
CREFOP Tunis 1
Thème De Formation
Pseudocode Et Implémentation En
Python
Problème 1
Un "pangramme" est une chaine ayant la propriété de contenir toutes les lettres de l’alphabet (sans
distinction entre minuscule et majuscule), même si elle peut parfois être dénuée de sens véritable.
Exemple : la chaine suivante est un pangramme
"Monsieur Jack vous dactylographiez bien mieux que votre ami Wolf"
Une chaine est dite "palindrome", si elle se lit de la même façon dans les deux sens de gauche à droite et
de droite à gauche.
Exemple : la chaine suivante est un palindrome "Radar".
On se propose de déterminer et d’afficher si une chaine donnée est pangramme ou palindrome ou
palindrome et pangramme en même temps.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python sachant
qu’une chaine de caractères saisie doit être non vide et composée que par des lettres et des espaces.
Problème 2
L’IMEI (International Mobile Equipement Identity) est un numéro composé de 15 chiffres. Ce numéro
permet à un opérateur de réseau GSM d’identifier le mobile appelant et ainsi de l’autoriser ou non à se
connecter.
Un numéro est dit un IMEI s’il vérifie la formule de LUHN décrite ci-dessous :
1. Calculer la somme S des chiffres du numéro en appelant le principe suivant :
• Doubler les valeurs des chiffres de rang impair
• Si le double est supérieur ou égale à 10 alors il sera remplacé par la somme de ses chiffres.
NB : Le premier chiffre à gauche est de rang 0, le deuxième chiffre à gauche est de rang 1, etc.
2. Si la somme est un multiple de 10 alors le nombre est en accord avec la formule LUHN et dans ce
cas il est valide, sinon il est dit invalide.
Exemples :
✓ Le nombre 354365039281174 est un IMEI, car en appliquant la formule LUHN on obtient 60 qui
est un multiple de 10.
Etape1 : 3 5*2 4 3*2 6 5*2 0 3*2 9 2*2 8 1*2 1 7*2 4
Etape2 : 3 10 4 6 6 10 0 6 9 4 8 2 1 14 4
Etape3 : 3 1+0 4 6 6 1+0 0 6 9 4 8 2 1 1+4 4
Etape5 :S= 3+ 1+ 4+ 6+ 6+ 1+ 0+ 6+ 9+ 4+ 8+ 2+ 1+ 5+ 4+ =60
1
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
✓ 100000000001111 n’est pas un IMEI car en appliquant la formule LUHN on obtient 7 qui n’est
pas un multiple de 10.
On se propose de déterminer et d’afficher si un numéro de 15 chiffres (chaine de caractères) donné est un
IMEI ou non en appliquant la formule LUHN.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Problème 3
Soit T un tableau contenant des entiers distincts de l’intervalle [1..99].
Pour trier dans l’ordre croissant les éléments du tableau T. On propose la méthode suivante :
• Placer chaque élément T[i] dans la case d’indice T[i] d’un tableau intermédiaire TI, sachant que
les éléments du tableau TI sont initialisés à 0.
• Replacer dans l’ordre tous les entiers différents de zéro du tableau TI, dans le tableau T.
Exemple :
Soit le tableau T 6 2 11 8 4 5
0 1 2 3 4 5
Après application du principe de tri décrit précédemment, on obtient le tableau intermédiaire TI suivant :
TI 0 0 2 0 4 5 6 0 8 0 0 11 0 … 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 … 94 95 96 97 98 99
T 2 4 5 6 8 11
0 1 2 3 4 5
On se propose de trier, selon le principe décrit ci-dessus, et d’afficher un tableau T donné sachant que le
tableau T devrait contenir N entiers distincts de l’intervalle [1..99] avec (5≤N≤99)
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Problème 4
La notation des nombres romains est basée sur l’utilisation des lettres M, D, C, L, X, V et I.
On se propose d’écrire un programme qui, à partir d’une chaine de caractères formée uniquement de chiffres
romains, donne son équivalent décimal en appliquant le principe suivant :
• L’équivalent de chaque chiffre romain est : M=1000, D=500, C=100, L=50, X=10, V=5 et I=1.
• L’équivalent décimal de la chaine de chiffres romains est obtenu en additionnant les équivalents
décimaux de ses chiffres. Le parcours de la chaine se fait de gauche à droite et dans le cas où un
chiffre est inférieur à son successeur, il sera précédé du signe (-).
2
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Exemples :
CDXL = -100+500-10+50=440
CXVI = 100+10+50+1=116
CXIV = 100+10-1+5=114
MMCIX = 1000+1000+100-1+10=2109
On se propose de calculer et d’afficher l’équivalent décimal d’une chaine donnée composée uniquement
par des chiffres romains.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Problème 5
Soit T un tableau rempli par N mots (avec 3≤N≤10). Les mots sont des chaines de caractères non vides
formées par des lettres alphabétiques. La taille maximale d’un mot est 10 caractères.
On se propose de crypter les mots du tableau T en appliquant le principe suivant :
• Chaque lettre d’un mot sera remplacée par la lettre qui la suit par P positions dans l’alphabet
français, où P est le rang du mot dans le tableau T.
• On suppose que la lettre qui suit « Z » est « A » et celui qui suit « z » est la lettre « a ».
Exemple :
On se propose de crypter et d’afficher le contenu tableau T rempli par N mots en respectant les contraintes
décrites ci-dessus.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
3
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Problème 1
Un "pangramme" est une chaine ayant la propriété de contenir toutes les lettres de l’alphabet (sans distinction entre minuscule
et majuscule), même si elle peut parfois être dénuée de sens véritable.
"Monsieur Jack vous dactylographiez bien mieux que votre ami Wolf"
Une chaine est dite "palindrome", si elle se lit de la même façon dans les deux sens de gauche à droite et de droite à gauche.
On se propose de déterminer et d’afficher si une chaine donnée est pangramme ou palindrome ou palindrome et pangramme en
même temps.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python sachant qu’une chaine de
caractères saisie doit être non vide et composée que par des lettres et des espaces.
Solution
Algorithme du PP T.D.O.G
Algorithme Probleme1 Objet Type/Nature
Début Ch Chaine
Saisir(Ch) Pan Booléen
PanVerifierPan(Ch) Pal Booléen
PalVerifierPal(Ch) Saisir Procédure
Afficher(Pan,Pal) VerifierPan Fonction
Fin VerifierPal Fonction
Afficher Procédure
Algorithme de la procédure Saisir
2
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Procédure Afficher(Pan,Pal:Booléen)
Début
Si (Pan) et (Pal) alors
Ecrire("Chaine pangramme et palindrome")
Sinon Si (Pan) et (non Pal) alors
Ecrire("Chaine pangramme")
Sinon Si (non Pan) et (Pal) alors
Ecrire("Chaine Palindrome")
Sinon
Ecrire("Chaine ni pangramme ni palindrome")
Fin Si
+ Fin
Problème 2
L’IMEI (International Mobile Equipement Identity) est un numéro composé de 15 chiffres. Ce numéro
permet à un opérateur de réseau GSM d’identifier le mobile appelant et ainsi de l’autoriser ou non à se
connecter.
Un numéro est dit un IMEI s’il vérifie la formule de LUHN décrite ci-dessous :
1. Calculer la somme S des chiffres du numéro en appelant le principe suivant :
• Doubler les valeurs des chiffres de rang impair
• Si le double est supérieur ou égale à 10 alors il sera remplacé par la somme de ses chiffres.
NB : Le premier chiffre à gauche est de rang 0, le deuxième chiffre à gauche est de rang 1, etc.
2. Si la somme est un multiple de 10 alors le nombre est en accord avec la formule LUHN et dans ce
cas il est valide, sinon il est dit invalide.
3
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Exemples :
✓ Le nombre 354365039281174 est un IMEI, car en appliquant la formule LUHN on obtient 60 qui
est un multiple de 10.
Etape1 : 3 5*2 4 3*2 6 5*2 0 3*2 9 2*2 8 1*2 1 7*2 4
Etape2 : 3 10 4 6 6 10 0 6 9 4 8 2 1 14 4
Etape3 : 3 1+0 4 6 6 1+0 0 6 9 4 8 2 1 1+4 4
Etape5 :S= 3+ 1+ 4+ 6+ 6+ 1+ 0+ 6+ 9+ 4+ 8+ 2+ 1+ 5+ 4+ =60
✓ 100000000001111 n’est pas un IMEI car en appliquant la formule LUHN on obtient 7 qui n’est
pas un multiple de 10.
On se propose de déterminer et d’afficher si un numéro de 15 chiffres (chaine de caractères) donné est un
IMEI ou non en appliquant la formule LUHN.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Solution
Algorithme du PP T.D.O.G
Algorithme Probleme2 Objet Type/Nature
Début Code Chaine
Saisir(Code) V Booléen
VVerifierLUHN(Code) Saisir Procédure
Afficher(V) VerifierLUHN Fonction
Fin Afficher Procédure
4
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Procédure Afficher(V:Booléen)
Début
Si (V=Vrai) alors
Ecrire("IMEI valide")
Sinon
Ecrire("IMEI non valide")
Fin Si
Fin
Problème 3
Soit T un tableau contenant des entiers distincts de l’intervalle [1..99].
Pour trier dans l’ordre croissant les éléments du tableau T. On propose la méthode suivante :
• Placer chaque élément T[i] dans la case d’indice T[i] d’un tableau intermédiaire TI, sachant que
les éléments du tableau TI sont initialisés à 0.
• Replacer dans l’ordre tous les entiers différents de zéro du tableau TI, dans le tableau T.
Exemple :
Soit le tableau T 6 2 11 8 4 5
0 1 2 3 4 5
Après application du principe de tri décrit précédemment, on obtient le tableau intermédiaire TI suivant :
5
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
TI 0 0 2 0 4 5 6 0 8 0 0 11 0 … 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 … 94 95 96 97 98 99
T 2 4 5 6 8 11
0 1 2 3 4 5
On se propose de trier, selon le principe décrit ci-dessus, et d’afficher un tableau T donné sachant que le
tableau T devrait contenir N entiers distincts de l’intervalle [1..99] avec (5≤N≤99)
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Solution
7
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Problème 4
La notation des nombres romains est basée sur l’utilisation des lettres M, D, C, L, X, V et I.
On se propose d’écrire un programme qui, à partir d’une chaine de caractères formée uniquement de chiffres
romains, donne son équivalent décimal en appliquant le principe suivant :
• L’équivalent de chaque chiffre romain est : M=1000, D=500, C=100, L=50, X=10, V=5 et I=1.
• L’équivalent décimal de la chaine de chiffres romains est obtenu en additionnant les équivalents
décimaux de ses chiffres. Le parcours de la chaine se fait de gauche à droite et dans le cas où un
chiffre est inférieur à son successeur, il sera précédé du signe (-).
Exemples :
CDXL = -100+500-10+50=440
CXVI = 100+10+50+1=116
CXIV = 100+10-1+5=114
MMCIX = 1000+1000+100-1+10=2109
On se propose de calculer et d’afficher l’équivalent décimal d’une chaine donnée composée uniquement
par des chiffres romains.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Solution
Fonction Nombre(C:caractère):Entier
Début
Selon C
"M" : X1000
"D" : X500 T.D.O.L
"C" : X100
"L" : X50 Objet Type/Nature
"X" : X10 X Entier
"V" : X5
"I" : X1
Fin Selon
Retourner X
Fin
9
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
Problème 5
Soit T un tableau rempli par N mots (avec 3≤N≤10). Les mots sont des chaines de caractères non vides
formées par des lettres alphabétiques. La taille maximale d’un mot est 10 caractères.
On se propose de crypter les mots du tableau T en appliquant le principe suivant :
• Chaque lettre d’un mot sera remplacée par la lettre qui la suit par P positions dans l’alphabet
français, où P est le rang du mot dans le tableau T.
• On suppose que la lettre qui suit « Z » est « A » et celui qui suit « z » est la lettre « a ».
Exemple :
On se propose de crypter et d’afficher le contenu tableau T rempli par N mots en respectant les contraintes
décrites ci-dessus.
Travail demandé : Ecrire un algorithme solution de cette situation puis l’implémenter en python.
Solution
Algorithme du PP
T.D.N.T
Algorithme Probleme5
Début Type
Saisir(N) Tab=Tableau de 10 chaines
Remplir(T,N)
Crypter(T,N)
T.D.O.G
Afficher(T,N)
Fin Objet Type/Nature
T Tab
N Entier
Saisir Procédure
Remplir Procédure
Crypter Procédure
Afficher Procédure
10
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
T.D.O.L
Objet Type/Nature
i Entier
Valider Fonction
11
Thème de formation : Pseudocode et implémentation en python
Formateur : Abdelhalim MAKHZOUMI
Inspectrice : Mme Besma TOUNSI HMAIDI
Dates : 18-19 novembre 2021
12
012332010331561 789
3
' ()*+,-./+./01202./
3 456/789:9;<=>/
? ////@AB2CD,E<F@AB/F=/
G ////HI9J5/KLM/<<-.C<@A=NO=/8K4/<P1-2+.Q<@A===>/
R ////////@AB2CD,E<F@AB/F=/
S ////;5MT;K/@A/
U ()*+,-./+./V.Q2W2X1E2*C/+./-1/XA12C./
Y 456/Z8J945;<@A=>/
[ ////2BO/
'\ ////PB];T5/
'' ////HI9J5/<P=/8K4/<2^-.C<@A==>/
'3 ////////96/KLM/<<F_F^B@A`2ab,DD.Q<=^BFcF=/L;/<@A`2aBBF/F==>/
'? ////////////PBd8J:5/
'G ////////5J:5>/
'R ////////////2eBf/
'S ////;5MT;K/P/
'U ()*+,-./+./V.Q2W2X1E2*C/g1ChQ1ii./
'Y +.W/P.Q2W2.Qg1C<@A=>/
'[ ////@BF_F/
3\ ////PBjQ,./
3' ////kA2-./<P=/1C+/<@^BFcF=>/
33 ////////PB<<@Ab,DD.Q<=bW2C+<@==lBmf=/
3? ////////@BXAQ<*Q+<@=ef=/
3G ////Q.E,QC/P/
3R ()*+,-./+./V.Q2W2X1E2*C/g1-2C+Q*i.
3S +.W/P.Q2W2.Qg1-<@A=>/
3U ////2BO/
3Y ////PBjQ,./
3[ ////@AB@Ab,DD.Q<=/
?\ ////kA2-./<P=/1C+/<2^B<-.C<@A=nno==>/
?' ////////PB<<@A`2aBB@A`mfm2a==/
?3 ////////(PB<<@A`2aBB@A`-.C<@A=mfm2a==/
?? ////////2eBf/
?G ////Q.E,QC/P////
?R ()*+,-./+p1WW2XA1h./
?S +.W/_WW2XA.Q<g1Cqg1-=>/
?U ////2W/<g1C=/1C+/<g1-=>/
?Y ////////DQ2CE<F@A12C./D1-2C+Q*i./.E/D1ChQ1ii.F=/
?[ ////.-2W/<C*E/g1C=/1C+/<g1-=>/
G\ ////////DQ2CE<F@A12C./D1-2C+Q*i.F=
G' ////.-2W/<g1C=/1C+/<C*E/g1-=>/
G3 ////////DQ2CE<F@A12C./D1ChQ1ii.F=/
G? ////.-0.>/
GG ////////DQ2CE<F@A12C./C2/D1-2C+Q*i./C2/D1ChQ1ii.F=/
GR
GS (gg/
GU @ABr1202Q<=/
GY g1CBP.Q2W2.Qg1C<@A=/(V.Q2W2.Q/02/@A/.0E/D1ChQ1ii./
G[ g1-BP.Q2W2.Qg1-<@A=/(V.Q2W2.Q/02/@A/.0E/g1-2C+Q*i.ppp/
R\ _WW2XA.Q<g1Cqg1-=/
522252
92
2!"2#
$2%
$$2"
2"
$$&'()" 323
012332010331567 89
0
& '()*+,-.*-./01/1-.
2 345.67898:;<=.
> ....?)*-@1AB+C;D?)*-.E([email protected]<.
G ....HI8J4.KLM.;;,-A;?)*-<@@NO<.7K3.;?)*-P1/A+Q-R1S;<<<=.
T ........?)*-@1AB+C;D?)*-.E([email protected]<.
U ....:4MV:K.?)*-.
W
X '()*+,-.*-.Y-R1Z1S0C1)A.[\]^.
_ 345.`4:8584:abcd;?)*-<=.
&e ....f@g.
&& ....5L:.1.8K.R0Ah-;,-A;?)*-<<=.
&2 ........i@1AC;?)*-j1k<.
&> ........85.1lmn@g=.
&G ............io@m.
&T ............85.;ipq<=.
&U ................i@irrNgsilNg.
&W ........fs@i.
&X ....R-C+RA.;flNg@@g<.
&_ .......
2e '()*+,-.*t0ZZ1Su0h-.
2& *-Z.vZZ1Su-R;w<=.
22 ....1Z.;w<=.
2> ........BR1AC;D?)*-.E(FE.Y0,1*-D<.
2G ....-,/-=.
2T ........BR1AC;D?)*-.E(FE.A)A.Y0,1*-D<.
2U 'xx.
2W ?)*-@f01/1R;<.
2X w@w-R1Z1-R[\]^;?)*-<.
2_ vZZ1Su-R;w<.
522252
92
22
!"2#
!!2
2
!!$""3% 323
012332010331566 789
00
( )*+,-./0,/012313/0
4 567089:;:<=>?0
@ 0000ABC9D;60
E 0000FG:D60=ABBC9D;6>?0
H 00000000I+,/B3JK-L=MI+,/0N*ONB0M>0
P 00000000AB==./J=I+,/>BBQR>09S50=I+,/T31J-U/V3W=>>>0
X 0000<6YZ<S0I+,/0
[
\ )*+,-./0,/0]/V3^3W2L3+J0_`ab0
(c 5670d6<:7:6<efgh=I+,/>?0
(( 0000iBj0
(4 00007k<030:S0V2Jl/=./J=I+,/>>?0
(@ 00000000mB3JL=I+,/n3o>0
(E 00000000:703pqrBj?0
(H 000000000000msBq0
(P 000000000000:70=mtu>?0
(X 0000000000000000mBmvvQjwmpQj0
([ 00000000iwBm0
(\ 0000<6YZ<S0=ipQjBBj>0
4c 0000000
4( )*+,-./0,x2^^3Wy2l/0
44 ,/^0z^^3Wy/V=A>?0
4@ 00003^0=A>?0
4E 00000000KV3JL=MI+,/0N*ON0]2.3,/M>0
4H 0000/.1/?0
4P 00000000KV3JL=MI+,/0N*ON0J+J0]2.3,/M>0
4X ){{0
4[ I+,/Bi2313V=>0
4\ ABA/V3^3/V_`ab=I+,/>0
@c z^^3Wy/V=A>0
522252
92
2!"#2$
%2&
%%2#
2#
%%'()*# 323
012332010331566 789
7
& '()*+,-./0+1*2)(3+45540+
6 789:-;<+:<+=4>=><+
? @A'+BC1D1(EFG+
H ++++IJ>,KE>,/-KELI+J+LFF+
M ++++NO1PA+Q)3+ERSJISJTTFG+
U ++++++++IJ>,KE>,/-KELI+J+LFF+
V ++++(A3W(Q+I+
X 789:-;<+:<+5<./;>==4Y<+:-+K4Z;<4-+
[ @A'+\A*2P1(E]^IFG+
&_ ++++]`abJ>,KE>,/-KEL]`abJ+LFF+
&& ++++NO1PA+Q)3+EcSJ]`abSJTTFG+
&6 ++++++++]`abJ>,KE>,/-KEL]`abJ+LFF+
&? ++++')(+>+1Q+54,Y<Ec^IFG+
&H ++++++++]`>bJ>,KE>,/-KEdL]`e>fbJ+LFF+
&M ++++++++NO1PA+Q)3+EEcSJ]`>bSJTTF+CQ@+E:>=K>,gKE]^>FFFG+
&U ++++++++++++]`>bJ>,KE>,/-KEdL]`e>fbJ+LFF+
&V 789:-;<+:>=K>,gK+
&X :<d+:>=K>,gKE]^>FG+
&[ ++++hJa+
6_ ++++:>=KJ]5-<+
6& ++++ij>;<+EhS>F+4,:+E:>=KFG+
66 ++++++++>d+E]`>bJJ]`hbFG+
6? ++++++++++++:>=KJk4;=<+
6H ++++++++hlJc+
6M ++++5<K-5,+:>=K+
6U 789:<-;<+]5><5+
6V :<d+]5><5E]^IFG+
6X ++++]mJ45540E`abncaaF+7o+
6[ ++++d95+>+>,+54,Y<EIFG+
?_ ++++++++]m`]`>bbJ]`>b+
?& ++++pJa+
?6 ++++d95+>+>,+54,Y<Ec^caaFG+
?? ++++++++>d+]m`>bqJaG+
?H ++++++++++++]`pbJ]m`>b+
?M ++++++++++++plJc+
?U 789:-;<+:r4dd>gj4Y<+
?V :<d+sdd>gj<5E]^IFG+
?X ++++/5>,KEL]+K5>tL^<,:JL+G+LF+
?[ ++++d95+>+>,+54,Y<EIFG+
H_ ++++++++/5>,KE]`>b^<,:JLuLF+
H& 7vv+
H6 IJw4>=>5EF+
H? ]J45540E`>,KEFbnIF+
HH x<./;>5E]^IF+
HM ]5><5E]^IF+
HU sdd>gj<5E]^IF+
522252
92
2882!
"#2$
""2
82
""%8# 323
012332010331567 89
9
9
8
) *+,-./0123450670140
8 9:;<2=>0<>0?@A?A>0
B CDE0F6*7*.GHI0
J 0000KLA1MGA142MGNK0L0NHH0
O 0000PQ*RD0S-/0GTULKULVVHI0
W 00000000KLA1MGA142MGNK0L0NHH0
X 0000.D/Y.S0K0
Z 9:;<2=>0<>0[>34=A??@\>0<20M@]=>@20
^ CDE0_D+,R*.GKHI0
)` 0000aL14b@[[@5GcA1MGHdeKH0
)) 0000acfdLA1MGA142MGNacfdL0NHH0
)8 0000PQ*RD0S-/0GgULacfdULVVHI0
)B 00000000acfdLA1MGA142MGNacfdL0NHH0
)J 0000E-.0A0*S0[@1\>GghKHI0
)O 00000000acAdLA1MGA142MGiNacjAkdL0NHH0
)W 00000000PQ*RD0S-/0GGgULacAdULVVH06SC0G<A?MA1lMGahAHHHI0
)X 000000000000acAdLA1MGA142MGiNacjAkdL0NHH0
)Z 0000.D/Y.S0a0
)^ 9:;<2=>0<A?MA1lM0
8` CDE0C*7/*Sm/GahAHI0
8) 0000nLf0
88 0000<A?MLo.YD0
8B 0000PQ*RD0GnUAH06SC0G<A?MHI0
8J 00000000*E0GacAdLLacndHI0
8O 000000000000<A?MLp6R7D0
8W 00000000nqLg0
8X 0000.D/Y.S0<A?M0
8Z 9:;<>2=>0a[A>[0
8^ CDE0o.*D.GahKHI0
B` 0000arL14b@[[@5GcfdegffH09;104>2M02MA=A?>[021>0];2l=>04;2[0A1AMA@=A?>[0=>0M@]=>@20
B) 0000E-.0A0*S0[@1\>GKHI0
B8 00000000arcacAddLacAd0
BB 0000sLf0
BJ 0000E-.0A0*S0[@1\>GghgffHI0
BO 00000000*E0arcAdtLfI0
BW 000000000000acsdLarcAd0
BX 000000000000sqLg0
BZ 9:;<2=>0<u@iiAlv@\>0
B^ CDE0wEE*mQD.GahKHI0
J` 00004[A1MGNa0M[AxNh>1<LN0I0y0NH0
J) 0000E-.0A0*S0[@1\>GKHI0
J8 000000004[A1MGacAdh>1<LN0y0NH0
JB 9zz0
JJ KL{@A?A[GH0
JO aL|>34=A[GKH0
JW a[A>[GahKH0
JX }iiAlv>[GahKH0
JZ
522252
92
288!2"
#$2%
##2
82
##&'(06& 323
012332010331567 89
68
& '()*+,-.*-./01/1-.
2 345.67898:;<=.
> ....?)*-@1AB+C;D?)*-.E)[email protected]<.
G ....HI8J4.KLM.;N0,1*-O;?)*-<<=.
P ........?)*-@1AB+C;D?)*-.E)[email protected]<.
Q ....:4MR:K.?)*-.
S '()*+,-.*-.T-O1U1V0C1)A.*-.,0.VW01A-.
X 345.Y7J834:;?W<=.
Z ....1@[.
&\ ....N@]:R4.
&& ....HI8J4.;N<.7K3.;1^,-A;?W<<=.
&2 ........N@;?W_1`.8K.aD(DbDcDbD?DbDdDbDeDbDNDbDfDg<.
&> ........1h@i.
&G ....:4MR:K.N.
&P '()*+,-.*-.*jC-OF1A0C1)A.*+.V)*-.*-V1F0,.
&Q 345.k7JlRJ4:;?W<=.
&S ....m@[.
&X ....U)O.1.1A.O0An-;,-A;?W<oi<=.
&Z ........1U.;p)FqO-;?W_1`<^p)FqO-;?W_1hi`<<=.
2\ ............mo@p)FqO-;?W_1`<.
2& ........-,/-=.
22 ............mh@p)FqO-;?W_1`<.
2> ....mh@p)FqO-;?W_oi`<.
2G ....O-C+OA.m.
2P '()*+,-.*-.V0,V+,.*+.T0,-+O.
2Q *-U.p)FqO-;?<=.
2S ....1U.;?@@D(D<=.
2X ........r@i[[[.
2Z ....-,1U.;?@@DcD<=.
>\ ........r@s[[.
>& ....-,1U.;?@@D?D<=.
>2 ........r@i[[.
>> ....-,1U.;?@@DdD<=.
>G ........r@s[.
>P ....-,1U.;?@@DeD<=.
>Q ........r@i[.
>S ....-,1U.;?@@DND<=.
>X ........r@s.
>Z ....-,1U.;?@@DfD<=.
G\ ........r@i.
G& ....O-C+OA.r.
G2 'tt.
G> ?)*-@m01/1O;<.
GG p@?0,V+,-O;?)*-<.
GP BO1AC;?)*-bD.*-T1-AC.-A.*jV1F0,.Dbp<.
522252
92
2882
!2"
2
82
#86$%1
323
012332010331567 89
6
8
) *+,-./01-012342401
5 67819:;<;=>?@1
A 1111B,-0C4DE.F>GB,-01H,I34DC1G?1
J 1111KL;M71NOP1>Q3/4-0R>B,-0??@1
S 11111111B,-0C4DE.F>GB,-01H,I34DC1G?1
T 1111=7PU=N1B,-01
V *+,-./01-01W0R4X4Y3F4,D1-01/31YZ34D01
[ 6781\:M;67=>BZ?@1
] 11114C^1
)_ 1111QC`=U71
)) 1111a0FFR02CG+bBacQdG1
)5 1111KL;M71>Q?1:N61>4e/0D>BZ??@1
)A 11111111QC>a0FFR02fX4D->BZg4h?iCjk?1
)J 111111114lCk1
)S 1111=7PU=N1Q1
)T *+,-./01-01-mF0RI4D3F4,D1-.1Y,-01-0Y4I3/1
)V 6781n:MoUM7=>BZ?@1
)[ 1111pC^1
)] 11118O=141;N1R3Dq0>/0D>BZ?jk?@1
5_ 11111111;81>r,IsR0>BZg4h?er,IsR0>BZg4lkh??@1
5) 111111111111pjCr,IsR0>BZg4h?1
55 111111117M<7@1
5A 111111111111plCr,IsR0>BZg4h?1
5J 1111plCr,IsR0>BZgjkh?1
5S 1111=7PU=N1p1
5T *+,-./01-01Y3/Y./1-.1W3/0.R1
5V 6781tOuv=7>B?@1
5[ 1111;81>BCCG+G?@1
5] 11111111wCk^^^1
A_ 11117M;81>BCCGbG?@1
A) 11111111wCx^^1
A5 11117M;81>BCCGBG?@1
AA 11111111wCk^^1
AJ 11117M;81>BCCGaG?@1
AS 11111111wCx^1
AT 11117M;81>BCCGcG?@1
AV 11111111wCk^1
A[ 11117M;81>BCCGQG?@1
A] 11111111wCx1
J_ 11117M;81>BCCGdG?@1
J) 11111111wCk1
J5 1111=7PU=N1w1
JA *yy1
JJ B,-0Cp3424R>?1
JS rCB3/Y./0R>B,-0?1
JT ER4DF>B,-0zG1-0W40DF10D1-mY4I3/1Gzr?1
JV
522252
92
288!"2#
$2%
2"
82"
&9''(" 323
012332010331567 89
8
( )*+,-./012-3,4+*5-6-
7 89:;/<=-;=->?@>@=-
A BC)-DE3F3*GHI-
J [email protected]@.1/MGNK:0OP=-;=-0:M>-L-NHH-
Q ----RS3TC-U+5-GVWLKWLXYHI-
Z [email protected]@.1/MGNK:0OP=-;=-0:M>-L-NHH
[ ----*C5\*U-K-
] 89:;/<=-;=-P=01<@>>?^=-;/-M?O<=?/-
_ BC)-`C,4T3*GabKHI-
(c ----)+*-@-3U-P?.^=GKHI-
(( --------ad@[email protected]/MGfN9:M-Kg-h@i-I-NH-
(7 --------RS3TC-U+5-GGYW<=.Gad@eHWLXYH-EUB-Gj?<@;=PGad@eHHHI-
(A ------------ad@[email protected]/MGfN9:M-Kg-h@i-I-NH-
(J
(Q 89:;/<=-;=-k=P@f@l?M@:.-;=-<?-lm?@.=-
(Z BC)-nET3BC*GomHI-
([ ----pLY-
(] ----jLq*\C-
(_ ----RS3TC-GjH-EUB-GpW<=.GomHHI-
7c --------jLGNrNWLomdpes/11=PGHWLNtNH-
7( --------puLX-
77 ----*C5\*U-j-
7A 80:;/<=-;=-lP21M?^=-
7J BC)-v*w45C*GabKHI-
7Q ----)+*-@-3U-P?.^=GKHI-
7Z --------ad@eLlm@ffP=PGad@eb@uXH-
7[ -----
7] 80:;/<=-;=-lm@ffP=0=.M-
7_ BC)-xS3))*C*Glmb1HI-
Ac ----lmXLNN-
A( ----)+*-p-3U-P?.^=G<=.GlmHHI-
A7 --------3)-GNrNWLlmdpeWLNtNHI-
AA ------------lmXuLlmPGGG:P;GlmdpeHyz{u1H|}zHuz{H-
AJ --------CTFCI-
AQ ------------lmXuLlmPGGG:P;GlmdpeHy~zu1H|}zHu~zH-
AZ ----*C5\*U-lmX-
A[ -----
A] 89:;/<=-;?ff@lm?^=-
A_ BC)-))3xSC*GabKHI-
Jc [email protected]@>M=-;=>-0:M>-?1P>-lP21M?^=-NH-
J( ----)+*-@-3U-P?.^=GKHI-
J7 [email protected]@eH-
JA 8-
JJ KL?@>@PGH-
JQ 8aL?PP?2GdNNe6Kb;M21=LN
XYNH-8/XY-LL-orK-
Ko-oKaKrKa-r
-9r-XY-o-
JZ aL?PP?2Gd>MPe6KH-
J[ =01<@PGabKH-
J] oP21M=PGabKH-
J_ rff@lm=PGabKH-
522252
92
2882
!"2#
!!2
82
!!$$%9$&' 323