advent-of-code

advent of code attempts
git clone git://bvnf.space/advent-of-code.git
Log | Files | Refs

commit 5d71e62e1816387739ff6156624f42ced14c92ed
parent 7a8e830deb588bf096f2decdb017d7ab78dc4124
Author: aabacchus <ben@bvnf.space>
Date:   Fri,  2 Dec 2022 15:31:10 +0000

22.2.1 in forth

Diffstat:
A2022/02/a.ft | 32++++++++++++++++++++++++++++++++
A2022/02/input | 2501+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 2533 insertions(+), 0 deletions(-)

diff --git a/2022/02/a.ft b/2022/02/a.ft @@ -0,0 +1,32 @@ +\ A B C are the opponent's moves; X Y Z are ours. + +1 constant ROCK +2 constant PAPER +3 constant SCISSORS + +ROCK constant A +PAPER constant B +SCISSORS constant C + +variable total +0 total ! + +: add_to_total ( n -- ) total @ + total ! ; +: win ( -- ) 6 add_to_total ; +: draw ( -- ) 3 add_to_total ; + +: X ( n -- ) DUP ROCK + DUP add_to_total + = IF draw DROP + ELSE SCISSORS = IF ( rock beats scissors ) win THEN + THEN ; +: Y DUP PAPER + DUP add_to_total + = IF draw DROP + ELSE ROCK = IF ( paper beats rock) win THEN + THEN ; +: Z DUP SCISSORS + DUP add_to_total + = IF draw DROP + ELSE PAPER = IF ( scissors beats paper ) win THEN + THEN ; diff --git a/2022/02/input b/2022/02/input @@ -0,0 +1,2501 @@ +C Z +B Y +C X +B Z +C Y +B Y +C Z +C Z +B Y +B X +C Y +B Y +B Z +A Z +A Y +B X +C Y +C Z +B Z +A Y +C Y +C Z +A Y +C Z +B X +B Y +B Y +A Y +C Z +B Y +B Y +B Y +C Z +C Y +B X +C Y +A Z +C Y +B X +B Z +C Z +C Z +B X +A Y +A Y +C Z +C Z +C Z +B Y +C Y +B Y +C Z +C Z +A Z +B Y +C Y +B X +A Y +C Y +B Y +C Z +A Y +B Y +B Y +B Y +B Z +C Y +A X +C Y +B Y +C Z +A Z +B X +C Z +C X +A Y +C Y +B Z +C Y +C Z +B X +C Z +C Y +B Y +B Y +B Y +B Y +A Y +C Z +C Z +B Y +B Y +C Z +B Z +B Y +B Y +B Y +A Y +B Z +B Y +C Y +B X +B Y +B X +C Z +B X +C Y +B Z +C Z +C Z +B Y +B Z +C Z +B X +C Y +B Y +C Y +C Z +C Y +B Z +C Z +B X +B Y +C Y +B X +B Z +B Y +C Y +B X +C Y +C Z +B Y +B Y +B X +C Y +C Z +C Z +B X +C Y +C Z +B Y +B Z +C Y +C Y +C Z +C Y +C Z +B Y +B Y +C Z +C Y +C Y +C Y +B Y +B Y +A Y +C Z +B X +B Y +C Z +C Z +C Z +B Y +B Z +C Y +C X +B Y +C Z +C Z +B Y +C Z +C Z +C Z +B Z +C Y +B Y +B X +C Z +B X +B X +B Y +C Z +B X +C Z +B Z +C Z +B X +A Y +B X +A Y +A Y +A Z +C Y +B Z +B Z +B X +C Y +C Y +B Y +C Z +B X +C Z +B Y +B Z +C Z +C Z +B Y +C Y +B Y +C Y +A Y +C Z +C Y +C Y +B Y +B Z +C Y +B X +B Z +A Z +C Y +B X +B Y +B Y +B Y +B Z +C Z +A X +B Z +B X +C Y +B Z +B Y +A Y +C Z +B X +C Z +B Z +C Z +B Y +C Z +C Y +B X +C Z +C Y +B Y +C Z +C Y +C Z +C Y +B Z +A Y +B Y +B X +C Y +A X +C Z +A Y +C Z +B Y +C Z +B Y +C Z +B Y +B Y +B Y +B Y +A Y +C Z +B Y +A Z +B Z +C Y +B Y +B Z +A Y +C Z +B Y +B Y +C Z +A Z +B X +A Y +C Z +B Z +B Z +B Y +B X +A Y +B Y +A X +C X +B Z +B Y +C Y +C Z +C Y +C Z +B Y +B Z +C Y +A Z +C Y +C Y +C Y +A Z +C Y +C Z +C Z +C Z +C X +B Y +B Y +C Y +C Z +C Y +B Y +C Y +C Z +C Z +B Z +B Y +B Y +B Y +C Z +C Y +B X +C Y +B Z +B Y +B Y +B Y +C Y +C Y +C Z +C Z +C Y +B X +C Y +B Y +B Z +B Z +B Z +C Z +B X +C Y +C X +C Y +B X +C Z +A Y +A Y +B X +C Z +A Z +C Y +C Z +A Y +C Z +B Y +B Y +C Y +B Y +C Y +B Y +C Y +B Y +C Y +C Y +B Y +C Z +B Z +C Y +A Y +C Y +A Y +B X +C Y +A Y +B Z +B Y +C Y +B Y +C Y +B Y +C Y +C Z +C Y +C Z +B Y +C Y +C Z +B Y +B Z +C Y +A Y +C Z +C Z +C Z +B Z +C Y +A Y +B Z +A Y +B Y +C Y +C Z +C Y +A Y +B X +A Z +C Z +C Y +B X +C Z +A X +C Z +C Y +C Z +B Y +C Y +C Y +B Y +C Y +C Z +C Y +C Y +C Y +A Y +C Z +C Y +C Z +C Z +B X +A Y +B X +B Y +A Y +B Y +A Y +C Z +A Y +C Y +C Y +B Y +C Y +B Z +C Y +C Z +B Z +B Y +B X +B Y +B Y +C Y +C Y +B Y +B X +C Z +B X +B X +A Y +B Z +B X +A Y +C Y +C Y +B X +B Z +C Y +B Y +B X +B X +C Y +C Z +B Y +B Y +B Y +A Y +A Y +C Z +C Z +C Y +B X +C Y +C Y +B Z +B Z +A X +C Y +C Y +A Z +A Y +B X +B Y +C Y +B Y +C Z +B Y +C Y +B Y +C Z +C X +C Z +A Z +B X +A Z +C Z +B Y +C Y +B Z +C Y +B X +C Y +C Z +B Y +A Y +C Y +C Y +B Z +B Y +B X +C Z +B Y +C Y +C Y +C Y +A Z +B Y +B Y +C Y +B Y +C Z +B Y +C Y +B Y +C Z +B X +C Y +B Y +B X +C Y +C Z +C Y +B X +B Y +C Y +B Z +B X +C Y +B X +B Y +B Z +C Y +B Y +C Y +B Y +B Y +C Y +B Z +B Y +C Z +C Z +B X +A X +C Z +B Z +B Y +B X +C Z +C Z +B Z +A Z +B Y +C Y +C Z +C Y +C Y +C Y +C Z +B Y +B Y +C Y +C Z +C Z +C Y +C Y +C Z +B Y +C Y +B Y +B Y +A Y +C Y +A Y +C Z +C Y +C Z +C X +B X +C Z +A Y +B X +C Z +C Z +C Y +B Z +B Y +A Y +C Z +B X +B Y +B Z +B X +C Y +B Y +C Z +C Z +C Z +C Y +A Y +C Z +C Z +B Y +B Y +B Y +C Y +C Y +C Z +B X +C Y +C Y +C Y +B Y +C X +B Y +B Y +C Y +A Z +C Y +C Z +A Y +C Y +B Z +C Y +C Z +A X +B X +C Z +C Y +B Y +C Y +C Y +B Y +C Z +C X +C Y +C Y +B X +C Y +B Y +C Y +C Z +A Z +B X +B X +C Z +C Y +B Y +B Z +B Y +B Z +A X +B X +B X +B X +C Y +A X +C Z +C Z +B Y +B X +B Y +B Y +C Z +B Z +C Y +C Y +B X +B Z +C X +A X +B Y +C X +C X +B Y +C Z +C Z +C Z +B X +B Z +C Y +B Y +A Y +C Z +B Z +A Z +B X +B X +B X +B Y +B X +B X +B X +B Y +C Z +C Y +C Y +C Y +A Y +C Z +C Y +C Z +C Y +B Y +A X +A Z +A Z +C Z +B Z +B Z +B Y +C Z +B Y +B X +B Y +B Z +A Y +B Y +B Y +B Z +C Y +B Y +C Y +B Y +C Y +B Z +C Z +B Z +C Y +B Z +B Y +B Y +A Y +C Z +B Y +B X +B Y +B X +C Z +C Y +B Z +C Z +C Z +A Z +C Z +B X +C Z +C Z +C Z +C Y +B Y +B X +C Y +C Y +C Z +C Z +B X +C Y +C Z +B Z +A Y +A Y +B Y +C Y +B Z +A X +C X +C Y +A Y +B Z +B X +C Z +C Y +B Y +C Z +C Y +B Z +C Z +C Z +C Y +B X +C Z +C Y +B Y +C Y +C Y +C Z +B X +C Y +C Z +C Z +C Y +C Y +B Y +C Y +B X +C Z +B Z +B X +A Z +C Z +B Z +C Z +C Y +B X +C Z +A Z +A Y +A Y +C Y +B Y +B X +C Y +C Z +B X +A Y +B Y +B X +B X +C Y +B Y +C Y +C Z +B Y +B X +C Y +B Y +B X +A Y +B Y +B Y +C Y +A Y +B Y +A Z +C Z +A X +C Z +C X +C Z +C Z +C Y +B Z +B Z +A Z +A Y +B Y +B Y +C X +C Z +C Z +B Z +A X +C Y +C Z +A Y +A Y +B X +C Z +B Z +A X +C Z +C Y +B X +C Y +C Y +C Z +C Z +B X +C Z +A Y +B Y +B X +B Y +C Y +B X +C Y +B Y +A X +C Z +C Y +C Z +B Z +C Y +C Y +C Z +C Z +A Y +C Z +B Y +C Z +C Y +B Y +C Y +A Y +C Y +A Z +C Y +A Z +C Z +C Z +B Y +C Z +C Y +A Y +C Y +A Y +C Z +B Z +B Y +B Z +C Z +B Y +A Z +B Y +C Z +A Y +B Y +A Z +B X +B Z +B X +B Y +B Y +B Y +C Y +C Z +B Y +C X +B Y +A X +B Y +B Y +C Z +C Z +A X +C Z +C Y +C Z +B Y +B Y +B X +B X +A X +B X +B Y +B Y +C Z +B Z +B Y +B Y +B Z +B Y +C Z +C Z +B X +B Z +A Z +B Z +C Z +B Z +C Y +C Z +C Z +B X +C Y +C Y +B X +B Y +C Y +B Y +C Z +C Y +B Y +B X +A Z +C Z +C Y +C Y +B Z +B X +A Z +B Z +C Z +C Z +B X +B X +C Z +C Y +B Z +C Z +C Z +B X +C Y +C Y +B Y +C Y +B Z +C Z +A Y +B X +C Y +C Z +B Y +B X +B X +A Z +B Y +B Y +C Z +B X +A Y +A X +C Y +B Z +B X +A Y +B Y +B X +C Z +C Z +C Z +C Z +C Z +A Y +C Y +C Z +C Y +C Z +C Y +A Y +B Y +C Y +C Y +B Y +C Z +A X +B Y +C Y +C Z +B Y +C Z +B Y +A Z +B X +B X +A Y +B X +C Y +B Z +B Y +B Z +C Y +A Y +C Z +A Y +A Y +C Z +C Z +C Y +B X +A Y +C X +C Y +C X +C Z +B Y +B Y +C Z +B X +B Y +C Z +B X +C Z +C Z +B Y +A Y +B X +B Y +C Z +B Y +C Z +A Y +B X +C Z +C Y +A Y +C Z +A Y +C Y +A Y +C Z +B X +B Y +B Z +A Y +C Z +C Y +C Z +B Z +C Z +C Y +C Y +B Z +C Z +C Y +B X +B Y +A Y +A Y +B X +C Y +C Y +C Z +B Y +B Z +B X +B Y +B Y +B Z +B Y +B Y +B Z +B Y +B X +C Y +C Y +C Z +B X +C Z +C Y +A Y +C Y +C Z +B Y +A Z +C Y +C Z +B X +A Y +C Y +C Y +C Y +A Y +A Y +C Y +B X +C Z +A Y +C X +B Y +C Y +B Y +C Y +B Z +C Y +A Z +B Y +A Y +A Y +B X +B Y +B Y +B Y +C Y +B Z +C Z +B X +B X +B X +C Y +B X +C Z +B Z +C Z +B Y +C Y +C Z +C Y +C Y +B Y +B Y +B Z +B Y +C Z +B Y +B X +C Z +A Z +C Y +C Y +C Z +B Y +A Y +C Z +C Y +B Z +C Z +B Y +B Z +B X +C Y +B X +C Z +B Z +C Z +C Z +B Y +B X +B X +C X +C Z +C Z +A Y +C Z +C Y +C Y +C Y +C Z +C Y +B X +B X +B X +C X +C Y +B X +B X +B X +B Z +A Z +B X +C Y +B Y +C Z +A Z +B Y +B X +B Z +C Y +B Z +B Y +A Z +C Z +B Y +C Y +B Y +B X +C Y +A Z +C Z +C Y +B Y +B X +C Y +C Z +C Y +C Z +B Y +A Z +B Y +B X +C Y +C Y +A X +B X +C Y +C Z +A Z +C Z +C Y +C Z +B Y +B Y +C Z +A Y +C Z +B X +B X +B Y +B Y +B X +B X +B X +B Z +B X +A X +A Y +C Z +C Y +A Y +C Y +C Z +C Y +B Y +C Z +A Y +B X +B X +C Y +C Y +B Z +B Z +B Z +B Y +B Y +B Y +B Y +C Y +C Z +B Z +A Y +B Z +C Y +C Y +C Z +B X +A Y +C Y +B X +B Z +A Y +C Y +C Z +A X +C Z +B X +B X +B Z +A Y +C Z +B Z +C Z +A Y +A Y +B Y +B Y +A Y +C Y +A Y +B X +C Y +C Z +B Y +B Z +C Z +C Y +B Y +C Y +C Z +B Y +C Z +C Y +A Y +C Y +C Y +B X +C Y +B Y +B Y +B X +C Z +B Y +C Y +C Y +B Y +B Y +B Z +C Y +C Z +A X +C Z +C Y +C Y +C Y +B Z +C Y +C Y +C Y +A Y +C Y +A Y +C Y +C Y +C Y +C Y +C Y +C Y +A Z +B Z +B Y +C Z +B Y +C Z +B Y +C Z +B Y +C Z +C Z +C Z +C Y +C Z +B Y +B Y +C Y +C Z +B Z +C Y +A Y +C Y +C Z +C Y +C Y +A Z +B Y +C Y +B X +B Y +C Y +C Z +B Y +C Y +B X +B X +B Y +C Y +B Z +B Y +A Y +B Y +B Y +B X +C Z +B Z +B X +C Z +A Z +B Z +C Y +C Z +C Y +B X +C Y +C X +B Z +C Y +C Y +B Y +C X +B Y +C Z +A Z +C X +A Y +B Y +B Y +C Z +C Z +B Y +B Y +B Z +C Z +C Y +C Z +B X +A Z +C Y +C Y +B Z +B X +B Y +B X +A Z +C Y +B Y +C Z +A Y +B Z +C Y +B X +B X +B Y +B Y +B Z +B X +C Z +C Y +B X +B X +B X +B Y +B X +B X +B Y +B Y +B Y +C Y +A Z +C Z +C Y +B Y +B Y +B Z +C Z +C Y +C X +B Z +A X +C Y +B X +B Y +C Y +A X +C Y +C Y +B Y +B Y +B Y +A Z +C Y +C Y +A X +C Y +A Z +C Z +B X +A Y +C Z +B Z +B Y +B Y +C Y +B Y +C Z +B X +C Z +B X +A Y +C Z +C Y +B X +B Z +B Y +B X +C Y +C Z +C Z +A Z +B Z +B Z +C Z +C Y +C Z +C Y +B Z +B Y +B Y +C Y +C Z +C Y +C Y +C Z +A Y +B Y +A Z +B Z +C Z +B X +A Y +B Y +C Y +C Z +A Y +C Y +B Y +B X +C Y +B Y +C Y +A Y +C Y +B Y +B Z +C Z +B X +B X +C Z +C Y +C Z +B Y +C Y +B Y +B Y +C Z +C Y +A Z +B Z +B X +C Z +C X +C Z +B X +C Z +C Y +B X +B Y +B Y +C Z +C Z +C Z +B Y +B Y +A X +B X +C Z +C Y +C Z +B Y +C Y +B Y +C Y +C Z +C Z +C Y +C Y +B X +B Y +B Y +C Y +B Y +A Y +B Y +B Z +C Z +C Z +A Z +C Z +B Z +B Y +C Z +B Y +B X +B Y +A Y +A Y +B Y +C Y +B Z +B Y +B Y +B Y +B X +B X +B X +B Z +B Z +C Z +A X +C Z +B Y +C Z +A Y +C Z +C Y +A Y +B Z +B Y +C Z +B Y +B X +B Z +C Y +C Z +C Z +C Y +B X +B X +C Y +C Y +A Y +C Y +B Y +C Y +C Y +C Y +B X +C Z +B Y +C Z +B Y +B Y +A Y +B Y +C X +B Y +C Y +B Y +C Z +C Y +B X +B Y +C Y +B Y +B Z +B X +C Z +A X +C Y +C Y +B X +B Z +B X +C Y +C Y +A Y +B Y +C Y +C Z +B Y +B Y +B Z +A Y +B Z +B X +B Z +C Y +B Y +C Y +C Y +B X +B Y +A Y +C Y +C Z +C Y +B X +B X +C Y +B Y +A Z +C X +C Z +B Y +C Z +C Y +C Z +C Y +A Z +B Y +C Y +B Z +B Y +B X +B Y +B X +C Z +C Y +B Y +C Y +C Z +C Z +B Y +B X +C Y +C Y +B Y +B X +C Z +B X +C Z +C Y +B Y +C Y +C Z +C Y +B Y +C Z +A Z +A Y +C Y +A Y +C Y +B Y +B Y +B Y +C Y +C Z +C Y +C Y +B X +B X +C Y +B X +C Y +A Y +B Y +B Y +C Z +C Z +B X +C Z +C Z +B Y +C Z +C Z +B Z +B Z +C Y +A Z +C Z +C Z +B X +C Z +B Z +B Y +A Y +B X +B Z +A Y +B Y +B Y +B X +B Y +C Y +A Z +B Y +C Y +A Y +C Y +B Y +C Y +C Y +A Y +C Y +B Y +B Y +B Z +C Z +C Z +C Y +B Y +C Y +B Z +B X +C Y +C Y +B Y +B Z +B Y +A Y +A Y +A Z +C Y +B Y +B Y +C Z +C Z +C Y +C Z +C Y +B X +C Z +C Y +C Y +A Y +B Z +C Z +A Y +B Z +B Y +B Y +B Y +B Y +C Y +C Y +A Y +C Z +C Z +A Z +B Y +B X +B Z +A Z +C Z +B X +B Y +A X +C Y +B Z +A Y +C Z +C Y +A Y +B X +C Y +B X +C Z +B X +B Y +B X +A Z +B Y +C Z +C Y +B Y +A Y +B X +C Y +B Z +B X +A Z +A Y +C Y +C Z +C Y +B X +C Y +C Z +B Y +A Y +C Y +C Z +C X +B Y +C Y +B X +B Z +B Y +C Z +C Z +C Y +B X +C Y +B Z +C Z +C Y +C Y +C Y +C Z +C Y +B Y +C Y +A Y +C Y +B X +B Y +A X +B Y +B Y +B Y +A Y +B X +B Z +B Z +C Z +A Z +C X +B Z +B Y +C Y +C Z +B Z +B Y +B X +C Y +C X +C Y +C Z +A X +B X +B Y +B Y +C Z +B X +B Z +B X +B X +B Y +C Y +B Y +B Z +C Y +C Y +B Z +B Y +C Y +C Y +C Z +C Z +C Z +B Y +B Z +C Y +A Z +C X +B Y +C Y +C Y +B Y +C X +C Y +B Y +C Y +B Y +B Y +C Y +C Z +C Z +C Z +C Z +B X +C Z +C Z +B Y +C Y +A Z +B X +C Z +B Z +C Y +C Y +B Y +B Y +B Z +C Y +B Z +C Z +B Y +C Z +C Z +B X +B Z +C Y +C Y +C Z +B X +C Z +B X +C Y +C Y +B X +C Z +C Z +B Y +C Z +B Y +B Y +C Y +C Y +B Y +C Y +B Y +A Z +B Y +B Y +B Z +C Y +B Z +B Y +C Y +B X +B Z +B Z +C Y +C Z +C Z +B Z +C Y +B Y +C Z +B X +B X +C Z +B X +C Y +B Y +C Y +C Z +C Z +C Y +C Z +B Z +C Y +C Z +C X +B Z +B Y +A Z +C Z +A Y +C Z +B Z +B X +C Y +B X +C Y +C Z +C Z +B Y +B Y +B X +C Y +C Z +B X +C Y +C X +C Y +C Y +C Z +C Z +B X +C Z +B Y +C Y +B Y +B Y +B Y +B Z +C Z +A Y +B X +A X +A Z +C Z +A Z +B Z +C X +B Z +B X +B Y +B X +C Y +C Z +C Y +B X +B Y +B X +B Y +A Y +C Z +B Y +C X +B Y +B Y +A Z +B Y +C Z +C Z +A Z +C Y +B Z +C Y +B Y +A Y +A Z +B Y +B Z +B X +B Y +B Y +C Y +C Z +A Y +C Z +A Y +C Z +C Y +C Y +B Y +B Z +C Y +C Z +B Y +C Y +C Y +B X +B Y +C Z +C Z +C Y +B Z +B Y +C Z +B X +C Z +B Z +C Y +C Y +C Y +C Z +B Y +C Y +C Y +B Y +C X +C Z +B Y +C Z +A Y +C Y +C Y +C Z +C Y +C Z +B Z +B Y +C Z +C Z +C Y +B X +B Y +C Z +B Y +C Z +C Z +B Y +C Y +B X +B Y +A Y +B X +C Z +B Y +C Z +C Y +C Z +B X +B Y +C Y +C Z +C Y +B Y +B Z +B X +B Y +C Z +C Z +C Z +B Z +C Y +C Z +B Z +C Z +A Y +C Z +B X +B Z +C Y +C Z +C Y +B Z +B Y +C Y +B Z +A Y +B X +C Y +C Y +B Y +B Y +C Y +C X +B Z +B X +C X +C Y +B Z +C Z +A Y +B Z +B Z +B Z +B X +B Y +B X +C Z +C Z +A Z +B Z +C Z +C Z +B X +A Y +C Y +B Y +B Y +B Y +B Y +B Y +C Z +C Y +C X +C Y +B Y +B Y +C Y +C Z +B Y +A X +A Y +B X +A X +C Y +C Z +C Z +B Y +B Z +A Y +A Y +C Y +B Z +C Z +C Y +B Y +C Y +B X +B X +B X +C Z +B Y +C Y +B Z +C Z +A X +A Y +C Y +B Y +B Y +A Z +B X +C Z +C Z +B X +C Z +C Z +C Z +C Y +C Z +B X +B X +C Y +B Z +A Y +C Z +B Y +C Z +C Y +A Y +C Z +A Z +C Z +B Z +A Y +A Y +C Z +B Y +C Y +C Z +C Z +B Y +C Z +C Z +C Z +B Z +C Y +C Y +B Y +C Y +C Z +A X +C Z +C Z +C Y +C Z +B Y +C Y +B Y +A Y +C Y +A Y +B Y +B Y +C Z +C Z +C Z +B X +B Y +B Y +C Y +C Z +C Y +B X +B Y +C Y +C Z +C Z +C Z +A Y +C Y +C Z +B X +C Y +C Z +A Y +B Y +C Y +C Y +A X +C Z +B Z +B X +C Z +C Y +B Y +B Y +C Y +A Y +B Y +B Y +C Y +B X +C Z +C Z +C Y +C Y +B Y +C Z +C Y +C Z +C Z +C Z +B Y +C Z +B Y +B Y +B Y +B X +A Y +C Y +C Y +B X +B X +C Z +B X +C Z +B X +B Y +C Z +B X +B Y +C Z +B X +B Y +C Y +B Y +B Y +C X +B Y +B Y +B X +C Y +C Y +A Z +B Y +C Y +B Z +B X +B X +A Y +A Y +B Z +B X +B X +C Y +C Y +C Y +B Y +C Y +B Y +A Y +total ?