Na=aheadanull
Na=aentryanull
Na=aheadaentry
a>=anc0
Na=anc0
Na=axanull
a<a-anc1anAa<=c0an
variant decrease
a>=a-anc1c0
precondition
a>=V2c0Aa<V2V1Aa<=c0V1La-V1c1INa=V0anullINa=V1c0Ia>=V1c0F
VC for list
ialistV0aV0V1a-V2c1V3ANa=V1anullqalistV0V1V2V3a=V1V3qalistV0V1V2V3a=V2c0Ia>=V2c0F
a>=an1c0
a>=an2c0
alistamemaxan1ay
Na=ayanull
alistamemaamemayan2az
a>an1c0
a<a-an1c1an1Aa<=c0an1
a>=a-an1c1c0
alistamemaamemaxa-an1c1ay
alistamemaamemaxa+a+a-an1c1c1an2azONa>an1c0
alistamemaxa+a+an1c1an2az
postcondition
alistV4V5a+a+V6c1V8V9IalistV4aV4V5a+a+a-V6c1c1V8V9ONa>V6c0AalistV4aV4V7V8V9ANa=V7anullAalistV4aV4V5V10V7Aa>=V8c0Aa>=V10c0Aa<V10V6Aa<=c0V6La-V6c1Ia>V6c0IalistV4aV4V7V8V9ANa=V7anullAalistV4V5V6V7Aa>=V8c0Aa>=V6c0F
VC for list_concat
alistV4V5a+a+V6c1V8V9IalistV4aV4V7V8V9INa=V7anullIalistV4V5V6V7Ia>=V8c0Ia>=V6c0F
alistV10aV10V11a-V12c1V13Ia>V12c0IalistV10V11V12V13F
empty_shape
alistV14V17a+V16c1aV14V15INa=V15anullIalistV14V17V16V15Ia>=V16c0F
a<c0an
a<=c0an'
Na=aeanull
alistamemaeanae
alistamemaean'anull
a>an'c0
a>=c0c0
alistamemaamemaea-anc1ae
alistamemaamemaec0aamemae
alistamemaamemaea+a+a-anc1c1c0aamemae
a<a-an'c1an'Aa<=c0an'
a<=c0a-an'c1
Na=aamemaeanull
alistamemaamemaeanaamemae
alistamemaamemaea-an'c1anull
Na>an'c0
f
fINa>V21c0AalistV18V26V25anullAalistV18V26V20V26ANa=V26anullAa<=c0V25Aa<c0V20Aa<V25V21Aa<=c0V21LaV18V19La-V21c1IalistV18V24a+a+V23c1c0V22AalistV18aV18V19c0V22ANa=V19anullAalistV18V24V23V19Aa>=c0c0Aa>=V23c0LaV18V19La-V20c1LaV18V19Ia>V21c0IalistV18V19V21anullAalistV18V19V20V19ANa=V19anullAa<=c0V21Aa<c0V20F
VC for no_cycle_to_null
fIalistV18V19V21anullIalistV18V19V20V19INa=V19anullIa<=c0V21Ia<c0V20F
Na=aamemayanull
a>an2c0
alistamemaamemayan2anull
alistamemaamemaamemaya-an2c1anull
assertion
alistamemayan'az
Na=azay
a<=c0an
alistamemazananull
a>anc0
a<=c0a+an'c1
alistamemaya+an'c1aamemaz
Na=aamemazay
a<=c0a-anc1
alistamemaamemaza-anc1anull
alistamem'aamemaza-anc1anullONa>anc0
alistamem'azananull
alistamemazanay
alistamemaamemaza-anc1ay
alistamem'aamemaza-anc1ayONa>anc0
alistamem'azanay
a<=c0c1
alistamemayc1aamemay
Na=aamemayay
a<=c0an2
alistamem'aamemayan2anull
alistamem'aamemaamemaya-an2c1anull
alistamem'ayan2anull
alistamem'axan1ay
alistaamemayaamemaamemayaxa+an1an2anull
alistaV22V25aV22aV22V25V23a+V24V26anullIalistV27V23V24V25AalistV22V23V24V25Aa>=V24c0AalistV27V25V26anullAalistV27aV22aV22V25a-V26c1anullIalistV27V28V26anullAalistV22V28V26anullAa<=c0V26ANa=V28V25AalistV22V25c1V28Aa<=c0c1LaV22V25AalistV27V29V30V25IalistV27aV22V29a-V30c1V25ONa>V30c0AalistV22aV22V29V31V25Aa>=V31c0Aa<V31V30Aa<=c0V30La-V30c1Ia>V30c0IalistV22V29V30V25Aa>=V30c0FAalistV27V33V34anullIalistV27aV22V33a-V34c1anullONa>V34c0AalistV22V36V35anullAa<=c0V35ANa=V36V25AalistV22V25V37V36Aa<=c0V37Aa<V35V34Aa<=c0V34La+V32c1LaV22V33La-V34c1Ia>V34c0IalistV22V33V34anullAa<=c0V34ANa=V33V25AalistV22V25V32V33Aa<=c0V32FLaV22V25aV22aV22V25AalistV22aV22aV22V25a-V26c1anullIalistV22aV22V25V26anullAa>V26c0ANa=aV22V25anullANa=V25anullAalistV22V23V24V25Aa>=V24c0F
VC for jump_over
alistaV22V25aV22aV22V25V23a+V24V26anullIalistV22aV22V25V26anullIa>V26c0INa=aV22V25anullINa=V25anullIalistV22V23V24V25Ia>=V24c0F
alistamemaheadan1aentry
alistamemaentryan2anull
a<c0c1
loop invariant init
a<=c1an1
a<=c1an1Aa<c0c1
alistamemaheadc1aamemahead
Na=aamemaheadanull
t
tIt
a=aamemanullaamemahead
a=aamemanullaamemaheadIf
alistamemaheada-c1c1anull
alistamemaheada-c1c1anullIf
alistamemaamemaheada-an1c1aentry
a<=anan1
alistamemaheadanacurr
Na=acurranull
a=anc1Ia=aprevanull
a=aamemaprevacurrINa=aprevanull
alistamemaheada-anc1aprevINa=aprevanull
alistamemacurra-an1anaentry
Na=acurraentry
a=aprev1acurr
a=acurr1aamemacurr
a=an3a+anc1
a<a-an1an3a-an1anAa<=c0a-an1an
loop variant decrease
a<=an3an1Aa<c0an3
loop invariant preservation
alistamemaheadan3acurr1
Na=acurr1anull
a=aprev1anull
a=an3c1
a=an3c1Ia=aprev1anull
Na=aprev1anull
a=aamemaprev1acurr1
a=aamemaprev1acurr1INa=aprev1anull
alistamemaheada-an3c1aprev1
alistamemaheada-an3c1aprev1INa=aprev1anull
alistamemacurr1a-an1an3aentry
NNa=acurraentry
a=aprevanull
alistamemaheadc0ahead
alistamemaamemaheadan2anull
alistaamemaheadaamemaamemaheadaheada+c0an2anull
a=amem1aamemaheadaamemacurr
alistamem1aheada-a+an1an2c1anull
Na=aprevanull
a=amem1aamemaprevaamemacurr
iialistV34aheada-a+V28V29c1anullIa=V34aV27V33aV27V32FANa=V33anullANa=V32anullalistV38aheada-a+V28V29c1anullIa=V38aV27V37aV27V32FANa=V37anullLaheadANa=V32anullIalistaV27V35aV27aV27V35V36a+c0V29anullAalistV27aV27V35V29anullAa>V29c0ANa=aV27V35anullANa=V35anullAalistV27V36c0V35Aa>=c0c0LaheadLaheada=V33anullalistV27aentryV29anullAalistV27V40a-V28V41aentryAalistV27aheada-V41c1V39INa=V39anullAa=aV27V39V40INa=V39anullAa=V41c1Ia=V39anullANa=V40anullAalistV27aheadV41V40Aa<=V41V28Aa<c0V41Aa<a-V28V41a-V28V31Aa<=c0a-V28V31Ia=V41a+V31c1FIa=V40aV27V32FANa=V32anullIa=V39V32FNa=V32aentryIalistV27aentryV29anullAalistV27V32a-V28V31aentryAalistV27aheada-V31c1V33INa=V33anullAa=aV27V33V32INa=V33anullAa=V31c1Ia=V33anullANa=V32anullAalistV27aheadV31V32Aa<=V31V28Aa<c0V31FAalistV27aentryV29anullAalistV27aV27V30a-V28c1aentryAalistV27aheada-c1c1anullIfAa=aV27anullaV27V30IfAtItANa=aV27V30anullAalistV27aheadc1aV27V30Aa<=c1V28Aa<c0c1ANa=V30anullLaheadIalistV27aentryV29anullAalistV27aheadV28aentryAa>V29c0Aa>V28c0FF
VC for remove1
alistamemaheada-c1c1ahead
Na=aindanull
alistamemaheada-anc1aind
alistamemaamemainda-an1anaentry
Na=aamemaindaentry
a=aind1aamemaind
Na=aind1anull
alistamemaheada-an3c1aind1
alistamemaamemaind1a-an1an3aentry
NNa=aamemaindaentry
a=amem1aamemaindaamemaentry
ialistV33aheada-a+V28V29c1anullIa=V33aV27V31aV27V32FANa=V31anullANa=V32anullLaentryalistV27aentryV29anullAalistV27aV27V34a-V28V35aentryAalistV27aheada-V35c1V34ANa=V34anullAa<=V35V28Aa<c0V35Aa<a-V28V35a-V28V30Aa<=c0a-V28V30Ia=V35a+V30c1FIa=V34aV27V31FANa=V31anullNa=aV27V31aentryANa=V31anullIalistV27aentryV29anullAalistV27aV27V31a-V28V30aentryAalistV27aheada-V30c1V31ANa=V31anullAa<=V30V28Aa<c0V30FAalistV27aentryV29anullAalistV27aV27aheada-V28c1aentryAalistV27aheada-c1c1aheadANa=aheadanullAa<=c1V28Aa<c0c1IalistV27aentryV29anullAalistV27aheadV28aentryAa>V29c0Aa>V28c0FF
VC for remove2

e159f7f743600f3652124b0482af4108 11H10H2H1H0
fde45c8e28e543dd8c9ea27c9f73fce2 7H6H5H4H3H2H1H0
147128edbbd4e12d5f65d907c9c72d15 9H8H5H4H3H2H1H0
6d8e0050eba21ec1220fd0492d986893 26H25H12H2H1H0
1573f3695a349c289542554dc3d981ff 7H19H18H17H16H15H14H13H12H2H1H0
7d2b0e58cd0094da446b7e510e4e7c35 9H20H18H17H16H15H14H13H12H2H1H0
de89259b6358ace6f5ba7cc14366e4c9 9H14H20H18H17H16H15H14H13H12H2H1H0
3c5f628129689fb226b28dea6bd463bb 9H21H14H20H18H17H16H15H14H13H12H2H1H0
7498b94c9a25c48544cf75c2391142ec 9H16H21H14H20H18H17H16H15H14H13H12H2H1H0
e8d4368fee187165056895bbe24b91a8 9H17H16H21H14H20H18H17H16H15H14H13H12H2H1H0
0a8dd301d55664de44205c705935e951 24H23H22H17H16H15H14H13H12H2H1H0
0a8dd301d55664de44205c705935e951 24H23H22H17H16H15H14H13H12H2H1H0
8210855572c203a203cd89dc4e7e92d0 29H28H27H12H2H1H0
56aeeaa5b79d90f060b1ceb22448d4f9 29H30H28H27H12H2H1H0
a8814c30ca54bfb9a44d5b688720bd87 49H48H30H28H27H12H2H1H0
a4602c0058192f4b95374d3aa7d86cb2 9H8H36H35H34H33H32H31H30H28H27H12H2H1H0
f00c37a72348eced2b713e90ea2a9a53 9H37H8H36H35H34H33H32H31H30H28H27H12H2H1H0
2695732558d6c537d933cba11197c382 9H38H37H8H36H35H34H33H32H31H30H28H27H12H2H1H0
621cc520f8e485d0b38bee1c8901e09e 9H33H38H37H8H36H35H34H33H32H31H30H28H27H12H2H1H0
7758528188e328e1ebb3d721a28ea629 9H39H33H38H37H8H36H35H34H33H32H31H30H28H27H12H2H1H0
81e7e0d1c88c2d547a8a99c40913c0d6 7H41H40H36H35H34H33H32H31H30H28H27H12H2H1H0
582a0e9c5259390e3d58ac223616cb5c 9H31H40H36H35H34H33H32H31H30H28H27H12H2H1H0
cd98e162e1a6aa275cb54b67710825e3 9H42H31H40H36H35H34H33H32H31H30H28H27H12H2H1H0
09fc6f19c64fd969c9179a61fad486e4 9H43H42H31H40H36H35H34H33H32H31H30H28H27H12H2H1H0
475f64f5f1cc1cdec2ff576494fdccd9 9H44H43H42H31H40H36H35H34H33H32H31H30H28H27H12H2H1H0
a165793330447a975ca2474d5dfa9032 9H45H44H43H42H31H40H36H35H34H33H32H31H30H28H27H12H2H1H0
6ae1f94af8a49b48f819cbb673437a53 24H47H46H35H34H33H32H31H30H28H27H12H2H1H0
f988bfc5db8060c644f803f2ade9d60c 82H81H50H30H28H27H12H2H1H0
0b30c64b82ad2b82262e0db6a2cab295 55H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
260e965498462b03923401fdfaa23c35 7H6H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
ceb33b7bf6cfc04c783fc4b118770e11 9H61H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
bd1cfe43e665c15d019c9df09ea4eecb 9H62H61H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
0f145b087a21fca2585487a7f2e6df59 9H63H62H61H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
b345f0033ac5b99c1371bcbb6905d0d3 9H64H63H62H61H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
d4e1b579033ff6e1fff0f9aa900d47ff 9H65H64H63H62H61H60H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
e3ace3082dcc41de0e60509a5f1f00d1 24H67H66H59H58H57H56H32H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
0a28dd1418c58e9c500beda12f6e3655 7H6H60H68H3H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
2aba3c97ffb2725de427f6a92f12789c 9H8H60H68H3H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
a4c8a49c13d690358ce8a94e50f18170 9H69H8H60H68H3H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
8fa993f8a2685182711d64c10e69da7b 24H71H70H68H3H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
8e35ade52536d568da858ace32254e77 9H72H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
c357040d2421c650e4ed4db1b91d7f18 9H73H72H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
fe080773c3b82a2575c02461387d9266 9H74H73H72H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
a0ca8d7d7eaf653f915f8872b5395f57 9H75H74H73H72H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
e8560fe33dc31dd7fabde429f0f485e7 9H53H75H74H73H72H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
4d0977ef0e3d2fc6b6ed14415b08de0c 55H77H76H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
468f0cc9bf3cd4fb64e5e6d4d2e7c400 55H78H77H76H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
e9150992c8d6925edaa3b02a59fc4e23 9H13H78H77H76H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
77ed2f02cafebc7253e8a0700fe7ff7f 9H15H13H78H77H76H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
e8a07e38f1d7dffed4d468faf7594bb1 24H80H79H78H77H76H54H53H52H51H16H15H13H50H30H28H27H12H2H1H0
5411b79b599e7f52631e670ffe2673d7 135H134H83H50H30H28H27H12H2H1H0
a91d87343d8d4aacf8d4f6913c426165 9H0H85H84H52H18H83H50H30H28H27H12H2H1H0
7dc52b079c28bf66950b9eec4866d21b 87H89H85H84H52H18H83H50H30H28H27H12H2H1H0
0ab0e3bbe11660f28ea7ea826ceb096e 87H86H85H84H52H18H83H50H30H28H27H12H2H1H0
50365711574763d8770282b0b59555c9 87H88H85H84H52H18H83H50H30H28H27H12H2H1H0
91d1dad03bb5dbcd299663f4a4e7be76 87H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
4f43e5f5a8709e4b44a655f1bbad57f9 87H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
17febfcf56a440b654334c28a598ea37 87H92H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
aac850c039934dbcbbedd5a6e327305e 87H94H47H93H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
20b87f1906cb2fc487ab8ae93c05ccd1 87H96H47H95H93H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
0ba68fa19c52cb1f8bd58015df6ade69 87H98H97H95H93H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
f89a4b1e50fd91e125223f2513408c8c 87H85H98H97H95H93H91H90H89H85H84H52H18H83H50H30H28H27H12H2H1H0
b78b9c1bab3d79b5409c35dfe676582f 9H101H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
a409da968bd07ef6ae8465d9aa55977a 111H110H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
538174b363adbc724c25f352ad4697d9 113H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
ba96f247ea4ce13780f04cc36ef30a5f 113H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
7bce88ffe283f00a69c672d069227943 113H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
d20cea1a98cb01a5d3cfd91774ac2e8f 113H117H116H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
08b04a4f2acf4faaed56448398d2c7a7 113H120H119H118H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
11634feddd7c8a6d14b9d71742f8bd66 113H122H119H121H118H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
eb39e82784cd06c7f4f5e47186ec7fb0 113H124H123H121H118H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
0a91de1a33d833f41d519d9f50a4f4fa 113H85H124H123H121H118H115H114H112H109H108H107H106H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
4dbd6a898fef3d31f665cade93d02daa 9H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
7046eb6c7e263b5978a3d15b0b321b1b 9H127H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
c5b97e3c82ee91febf2cfb68035a0fbd 9H0H127H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
729c453100248b65b2376ff945b446b7 9H91H0H127H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
d589a8d71cda0a0d28f4d0c3fbe23945 9H52H91H0H127H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
002faa8d22fbbcd0d1df84e8eacf20a5 9H128H52H91H0H127H37H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
802117bc0e4afc8f9f75f0702bd07304 9H101H129H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
4867f23b3a0fa453449d6fbe2d929629 9H0H129H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
e455bf57c65c02a6180392aa08bb8c07 24H131H130H129H126H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
c52609171d831f17042daa97b1582297 9H101H132H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
5694b4bd0667269aa0fe0834791d204a 9H132H132H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
5694b4bd0667269aa0fe0834791d204a 9H132H132H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
636ef7519ba741643a55ebe64ee8f798 24H131H133H132H125H85H105H104H103H102H101H100H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
aac19f3fe6b44ec1e542b1f883c1932b 148H147H83H50H30H28H27H12H2H1H0
7dc52b079c28bf66950b9eec4866d21b 87H89H85H84H52H18H83H50H30H28H27H12H2H1H0
12d1539a389c9bc41152c3daf7074270 87H0H89H85H84H52H18H83H50H30H28H27H12H2H1H0
12590732d890f2305e2d7eea899dee5b 87H136H0H89H85H84H52H18H83H50H30H28H27H12H2H1H0
6ad2093df82f7ec13fad93515c01a9a6 87H98H136H0H89H85H84H52H18H83H50H30H28H27H12H2H1H0
ba205bef86d8d0fb842e57ee12d6aaec 87H85H98H136H0H89H85H84H52H18H83H50H30H28H27H12H2H1H0
94c96af1829cbcab675b0a989b9528c6 9H137H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
588be0a28773dc9cb14d589f056d134d 9H137H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
96c12fa38796d1fcbeb8cc8128644656 111H110H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
71c6b6cf3981aad3c5b13dea70f74f41 113H112H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
5be7dbe2030c5e4039fa960c464184de 113H142H112H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
b4c86b5d7390361e1afdccc6572c59b5 113H143H142H112H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
aae82ca0af7455f0ad638ad9b21e0533 113H144H143H142H112H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
87c38943fe429f84b4e71c379ace8552 113H85H144H143H142H112H109H141H140H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
34bc90e34b7f58a7ec04cb45683bca27 9H1H145H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
29591f12487c9952be88acd00a58e56c 9H137H145H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
e76fc074f522cb2af359502821104106 24H131H146H145H85H139H138H137H99H31H85H84H52H18H83H50H30H28H27H12H2H1H0
