Page 1 of 1

Advent of Code 2022

Posted: Fri Dec 02, 2022 5:43 am
by [object Object]
I'll use this topic to post my solutions for Advent of Code 2022, in Hex Casting. Fair warning: I probably won't make it past like day 3.
All hexes require Hex Casting 0.10.x (not 0.10.2, there's a breaking Hermes bug), Hexal, and MoreIotas.
please help i'm literally going insane

Day 1

File to book converter
Use this to convert a text file into a paginated written book. You'll need to use a command block for the command it outputs, it's much too long for chat.

Code: Select all

from string import Template
import sys
from pathlib import Path

max_string = 1728
max_lines = 512 # needs testing
line_separator = "\\\\n"

full_filename = sys.argv[1]
filename = Path(full_filename).stem

strings = [""]
current_lines = 0
with open(full_filename, "r") as f:
    for line in f.read().splitlines():
        line += line_separator

        if len(strings[-1]) + len(line) > max_string or current_lines >= max_lines:
            strings.append(line)
            current_lines = 1
        else:
            strings[-1] += line
            current_lines += 1

command_template = Template("""give @p written_book{pages: [$pages], title: "$title", author: "$author"}""")
page_template = Template("""'{"text":"$text"}'""")

command = command_template.substitute({
    "pages": ", ".join(
        page_template.substitute({"text": string.removesuffix(line_separator)})
        for string in strings
    ),
    "title": filename,
    "author": "object_Object",
})

print(command)
Data transfer trinket
Use this to send the contents of a written book to a linked wisp.

Code: Select all

{
    0
    {
        send_iota
    }
    scribe_refl
    thoth
}
Part 1

Code: Select all

{
    consideration {
        listen
        recitation

        gemini_dec
        null
        equality
        {
            bookkeeper v
            charon
        }
        {
            bookkeeper - // no-op, not a placeholder
        }
        flock_dis
        augur_exalt
        hermes

        breaking_refl
        separation

        read_ravenmind
        gemini_dec
        null
        inequality
        jester
        0
        0
        2
        flock_gam
        augur_exalt
        write_ravenmind

        consideration {
            input_pur

            read_ravenmind
            flock_dis
            rotation
            
            gemini_dec
            null
            inequality

            jester
            2
            fisherman_ii
            -1
            multiplicative
            augur_exalt
            additive

            undertaker
            
            dioscuri
            maximus
            rotation_ii
            augur_exalt

            jester
            2
            flock_gam
            write_ravenmind
        consideration }
        jester
        thoth

        read_ravenmind
        0
        selection_dist
        reveal
        bookkeeper vv
    consideration }
    mind
    compass
    900 // some big number
    summon_cyclic_wisp

    mind
    compass
    entity_prfn_wisp
    link
}
Part 2

Code: Select all

{
    consideration {
        listen
        recitation

        gemini_dec
        null
        equality
        {
            bookkeeper v
            charon
        }
        {
            bookkeeper -
        }
        flock_dis
        augur_exalt
        hermes

        breaking_refl
        separation

        read_ravenmind
        gemini_dec
        null
        inequality
        jester
        0
        0
        0
        3
        flock_gam
        0
        2
        flock_gam
        augur_exalt
        write_ravenmind

        consideration {
            input_pur

            read_ravenmind
            flock_dis
            rotation
            
            gemini_dec
            null
            inequality

            jester
            2
            fisherman_ii
            -1
            multiplicative
            augur_exalt
            additive

            jester
            flock_dis

            3
            fisherman_ii
            dioscuri

            dioscuri
            maximus
            rotation_ii
            augur_exalt
            rotation_ii

            dioscuri
            minimus
            rotation_ii
            augur_exalt

            2
            fisherman_ii
            dioscuri
            maximus
            rotation_ii
            augur_exalt
            jester

            2
            fisherman
            4
            fisherman_ii
            dioscuri
            minimus
            rotation_ii
            augur_exalt

            3
            fisherman
            dioscuri
            maximus
            rotation_ii
            augur_exalt
            rotation_ii

            3
            flock_gam
            jester
            2
            flock_gam
            write_ravenmind
        consideration }
        jester
        thoth

        read_ravenmind
        0
        selection_dist
        flock_dis
        additive
        additive
        reveal
        bookkeeper vv
    consideration }
    mind
    compass
    900 // some big number
    summon_cyclic_wisp

    mind
    compass
    entity_prfn_wisp
    link
}

Re: Advent of Code 2022

Posted: Sat Dec 10, 2022 5:57 pm
by [object Object]
Day 2
Preface: Although this is about a week late, this wasn't an especially *difficult* challenge. I've just been absurdly busy with final exams, big uni projects, making a VSCode extension, and such. But now I have some free time!
Image

Base Template
This is a reusable template that I'm planning on reusing as much as possible for this. It's the same "spawn a wisp, give it data on a link, do the processing piecewise" idea as before, just streamlined. Now it grabs the data from a book on the ground and sends it directly to the wisp, and the wisp will commit mishap when it runs out of data.

Code: Select all

{
    {
        // set ravenmind default
        Muninn's Reflection
        Gemini Decomposition
        Nullary Reflection
        Inequality Distillation
        Jester's Gambit

        Bookkeeper's Gambit: - // TODO: put ravenmind default here last [6]

        Augur's Exaltation
        Reveal // show current result
        Huginn's Gambit

        // loop code
        {
            Bookkeeper's Gambit: - // TODO: put loop code here first [11]
        }

        Recitation Reflection
        Breaking Reflection
        Separation Distillation // mishap here when we run out of data to parse

        Thoth's Gambit
        Bookkeeper's Gambit: v
    }

    Mind's Reflection
    Compass' Purification
    Undertaker's Gambit
    Numerical Reflection: 10
    Summon Cyclic Wisp

    Entity Purification: Wisp
    Link

    Numerical Reflection: 0
    {
        Send Iota
    }

    // technically this bypasses the iota limit
    // will need to be changed if that ever gets fixed
    Mind's Reflection
    Compass' Purification II
    Numerical Reflection: 10
    Zone Distillation: Item
    Numerical Reflection: 0
    Selection Distillation
    Chronicler's Purification

    Thoth's Gambit

    Bookkeeper's Gambit: v
    Unlink
}
Part 1
The easiest way to insert these placeholders seems to be using signs and Reader's Purification.

Code: Select all

// loop code
{
    Spacing Reflection
    Separation Distillation
    Flock's Disintegration
    
    {
        Bookkeeper's Gambit: - // placeholder for "ABC" [3]
        Bookkeeper's Gambit: - // placeholder for "XYZ" [4]
    }
    Flock's Disintegration
    
    Rotation Gambit
    Discoverer's Distillation
    Rotation Gambit II
    Jester's Gambit
    Discoverer's Distillation

    Prospector's Gambit
    Dioscuri Gambit
    
    Equality Distillation
    Numerical Reflection: 3
    Numerical Reflection: 0
    Augur's Exaltation
    Rotation Gambit II
    
    Numerical Reflection: 2
    Additive Distillation
    Numerical Reflection: 3
    Modulus Distillation

    Equality Distillation
    Numerical Reflection: 6
    Numerical Reflection: 0
    Augur's Exaltation
    Additive Distillation
    
    Numerical Reflection: 1
    Additive Distillation
    Additive Distillation
    
    Muninn's Reflection
    Additive Distillation
    Huginn's Gambit
}

// ravenmind default
Numerical Reflection: 0
Part 2
After writing Part 1 and inserting it into the template, you can use the provided indices here to modify it for Part 2 instead of rewriting the entire loop code section.

Code: Select all

// loop code
{
    Spacing Reflection
    Separation Distillation
    Flock's Disintegration
    
    {
        Bookkeeper's Gambit: - // placeholder for "ABC" [3]
        Bookkeeper's Gambit: - // placeholder for "XYZ" [4]
    }
    Flock's Disintegration
    
    Rotation Gambit
    Discoverer's Distillation
    Rotation Gambit II
    Jester's Gambit
    Discoverer's Distillation

    Prospector's Gambit // start here for easy insertion to part 1: [24, 43)
    Numerical Reflection: 3
    Multiplicative Dstl.
    Numerical Reflection: 1
    Additive Distillation
    Rotation Gambit II
    
    Additive Distillation
    Numerical Reflection: 2
    Additive Distillation
    Numerical Reflection: 3
    Modulus Distillation
    
    Additive Distillation // stop here
    Muninn's Reflection
    Additive Distillation
    Huginn's Gambit
}

// ravenmind default - same as part 1
Numerical Reflection: 0
Python Implementation
For those who may be curious, here's my Python implementation that I ported more or less 1-1 to Hex. My process is basically:
  • Solve the problems normally in Python
  • Refactor the solutions into a format that I think will work well in Hex, making sure they still get the right answer
  • Implement those solutions in Hex

Code: Select all

filename = "2022/day2/input.txt"

# part 1
score = 0
with open(filename, "r") as f:
    for line in f.readlines():
        opponent_str, me_str = line.rstrip().split(" ")
        opponent = "ABC".index(opponent_str)
        me = "XYZ".index(me_str)

        score += me + 1
        score += (me == opponent) and 3 or 0
        score += ((me + 2) % 3 == opponent) and 6 or 0
print(score)

# part 2
score = 0
with open(filename, "r") as f:
    for line in f.readlines():
        opponent_str, goal_str = line.rstrip().split(" ")
        opponent = "ABC".index(opponent_str)
        goal = "XYZ".index(goal_str)
        
        score += (goal + opponent + 2) % 3 + 3*goal + 1
print(score)

Day 3

Posted: Sat Dec 10, 2022 9:28 pm
by [object Object]
Day 3
These hexes should be used with the template from Day 2 and the book generator from Day 1.
I'm also now putting these on GitHub. You can find the Python implementations there if you want to see them.
Image

Part 1
As with Day 2, you can use a sign to insert the string. Reader's Purification doesn't read the newlines on the sign, which is great for this. Note that the string should actually have all of the letters, not the ".."s.

Code: Select all

// loop code
{
    Gemini Decomposition
    Gemini Decomposition
    Length Distillation: Str

    Numerical Reflection: 2
    Division Dstl.
    Floor Purification
    Undertaker's Gambit
    
    Numerical Reflection: 0
    Jester's Gambit
    Winnowing Distillation
    
    Rotation Gambit II
    Prospector's Gambit
    Length Distillation: Str
    Winnowing Distillation
    
    Blank Reflection
    Undertaker's Gambit
    Separation Distillation

    Rotation Gambit II
    Undertaker's Gambit
    Separation Distillation
    
    Jester's Gambit
    Single's Purification
    Rotation Gambit II
    
    Intersection Distillation
    Exclusionary Distillation
    
    {
        Bookkeeper's Gambit: - // placeholder for "-a..zA..Z" [26]
    }
    Combination Distillation
    Flock's Disintegration
    Jester's Gambit
    Discoverer's Distillation
    
    Muninn's Reflection
    Additive Distillation
    Huginn's Gambit
}

// ravenmind default
Numerical Reflection: 0
Part 2

Code: Select all

// loop code
{
    Blank Reflection
    Gemini Decomposition
    Single's Purification
    Rotation Gambit II
    Separation Distillation
    Exclusionary Distillation
    
    Muninn's Reflection
    Flock's Disintegration
    
    Prospector's Gambit
    Augur's Purification
    Negation Purification
    Jester's Gambit
    Numerical Reflection: 4
    Fisherman's Gambit
    
    Undertaker's Gambit
    Intersection Distillation
    Augur's Exaltation
    
    Jester's Gambit
    Numerical Reflection: 1
    Additive Distillation
    Numerical Reflection: 3
    Modulus Distillation
    
    Undertaker's Gambit
    Augur's Purification
    Negation Purification
    Prospector's Gambit

    Numerical Reflection: 0
    Selection Distillation
    {
        Bookkeeper's Gambit: - // placeholder for "-a..zA..Z" [29]
    }
    Flock's Disintegration
    Jester's Gambit
    Discoverer's Distillation
    Numerical Reflection: 0
    Augur's Exaltation
    
    Numerical Reflection: 3
    Fisherman's Gambit
    Additive Distillation
    
    Rotation Gambit II
    Numerical Reflection: 3
    Flock's Gambit
    Huginn's Gambit
}

// ravenmind default
{
    Numerical Reflection: 0
    Numerical Reflection: 0
    Vacant Reflection
    Numerical Reflection: 3
    Flock's Gambit
}

Day 4

Posted: Mon Dec 12, 2022 4:01 am
by [object Object]
Day 4
This day was surprisingly easy. I think the loop code is almost as short as Day 1's.
Still using the template from Day 2, though I think this will be one of the last days where I can do that.
Image

Part 1

Code: Select all

// loop code [11]
{
    {
        Bookkeeper's Gambit: - // placeholder for "-"
    }
    Flock's Disintegration
    Separation Distillation
    Flock's Disintegration
    Input Purification
    
    Jester's Gambit
    Comma Reflection
    Separation Distillation
    Flock's Disintegration
    Input Purification

    Rotation Gambit II
    Input Purification
    Subtractive Distillation
    Rotation Gambit II
    Jester's Gambit
    Input Purification
    Subtractive Distillation
    Multiplicative Dstl.
    
    Numerical Reflection: 0
    Maximus Distillation
    Numerical Reflection: 0
    Numerical Reflection: 1
    Augur's Exaltation
    
    Muninn's Reflection
    Additive Distillation
    Huginn's Gambit
}

// ravenmind default [6]
Numerical Reflection: 0
Part 2

Code: Select all

// loop code [11]
{
    {
        Bookkeeper's Gambit: - // placeholder for "-"
    }
    Flock's Disintegration
    Separation Distillation
    Flock's Disintegration
    Input Purification
    
    Jester's Gambit
    Comma Reflection
    Separation Distillation
    Flock's Disintegration
    Input Purification

    Jester's Gambit
    Input Purification
    Minimus Distillation II
    Rotation Gambit II
    Jester's Gambit
    Input Purification
    Maximus Distillation II
    
    Conjunction Distillation
    Numerical Reflection: 1
    Numerical Reflection: 0
    Augur's Exaltation
    
    Muninn's Reflection
    Additive Distillation
    Huginn's Gambit
}

// ravenmind default [6]
Numerical Reflection: 0

Day 5

Posted: Tue Dec 13, 2022 3:19 am
by [object Object]
Day 5
Remember how I said Day 4 was surprisingly easy? Well, this one more than made up for that. This is easily the longest and most annoying solution so far — it took about 15 corrections to get it working. I also had to abandon the Day 2 template. Finally, note that the book generator from Day 1 has been modified slightly.
Image

Wisp CAD
This is a specialized CAD that spawns a cyclic wisp with the hex in your offhand, then sends it the data from a book on the ground nearby. This gives much more flexibility than the Day 2 template, as well as being quite a bit more convenient to use.

Code: Select all

{
    Scribe's Reflection
    Mind's Reflection
    Compass' Purification II
    Undertaker's Gambit
    Numerical Reflection: 10
    Summon Cyclic Wisp

    Entity Purification: Wisp
    Link

    Numerical Reflection: 0
    {
        Send Iota
    }

    // technically this bypasses the iota limit
    // will need to be changed if that ever gets fixed
    Mind's Reflection
    Compass' Purification II
    Numerical Reflection: 10
    Zone Distillation: Non-Living // allow item frames
    Numerical Reflection: 1 // skip the wisp
    Selection Distillation
    Chronicler's Purification

    Thoth's Gambit

    Bookkeeper's Gambit: v
    Unlink
}
Part 1 and 2
That's right, this does both. Sort of. The only difference between Part 1 and Part 2 is that you have to remove a Retrograde for Part 2.

Code: Select all

// wisp code
{
    Recitation Reflection
    Breaking Reflection
    Breaking Reflection
    Concatenation Distillation
    Separation Distillation // mishaps if we're out of data
    
    Gemini Decomposition
    Abacus Purification
    Numerical Reflection: 1
    Equality Distillation
    {
        Flock's Disintegration
    }
    Flock's Disintegration
    Consideration: { // this is the first page, parse the stacks
        Flock's Disintegration
        Jester's Gambit
        
        Breaking Reflection
        Separation Distillation
        
        Gemini Decomposition
        Numerical Reflection: 0
        Selection Distillation
        Length Distillation: Str

        Numerical Reflection: 1
        Additive Distillation
        Numerical Reflection: 4
        Division Dstl.
        Gemini Decomposition

        // begin uncapped counter's queue ii
        Vacant Reflection
        Jester's Gambit
        Dioscuri Gambit
        Huginn's Gambit

        {
            Gemini Decomposition
            Abacus Purification
            Integration Distillation
        }
        Rotation Gambit
        Gemini Gambit

        {
            Combination Distillation
        }
        Flock's Disintegration

        Muninn's Reflection
        Gemini Gambit
        Muninn's Reflection
        Flock's Gambit

        Hermes' Gambit
        Hermes' Gambit
        // end uncapped counter's queue ii

        Vacant Reflection
        Rotation Gambit
        Gemini Gambit
        Flock's Reflection
        Numerical Reflection: 4
        Subtractive Distillation
        Flock's Gambit
        Huginn's Gambit

        {
            {
                Undertaker's Gambit
                Numerical Reflection: 4
                Multiplicative Dstl.
                Numerical Reflection: 1
                Additive Distillation

                Gemini Decomposition
                Numerical Reflection: 1
                Additive Distillation
                Winnowing Distillation
                
                Gemini Decomposition
                Spacing Reflection
                Equality Distillation
                Jester's Gambit
                
                Muninn's Reflection
                Numerical Reflection: 3 // aaaaaaaaaaaaAAAAAAAAAAAAAAAAA
                Fisherman's Gambit II
                Selection Distillation
                
                Undertaker's Gambit
                Jester's Gambit
                Speaker's Distillation
                
                Augur's Exaltation
                Muninn's Reflection
                Rotation Gambit II
                Surgeon's Exaltation
                Huginn's Gambit
            }
            Rotation Gambit
            Thoth's Gambit
        }
        Rotation Gambit
        Thoth's Gambit
        Bookkeeper's Gambit: vv
    Consideration: }
    Augur's Exaltation
    Hermes' Gambit
    
    // run the procedures
    Breaking Reflection
    Separation Distillation
    
    Consideration: {
        Spacing Reflection
        Separation Distillation
        Flock's Disintegration
        Bookkeeper's Gambit: v-v-v-
        
        Input Purification
        Numerical Reflection: 1
        Subtractive Distillation
        Rotation Gambit
        
        Input Purification
        Numerical Reflection: -1
        Multiplicative Dstl.
        Rotation Gambit
        
        Input Purification
        Numerical Reflection: 1
        Subtractive Distillation

        Muninn's Reflection
        Prospector's Gambit
        Selection Distillation
        
        Rotation Gambit
        Prospector's Gambit
        Undertaker's Gambit
        Abacus Purification
        Undertaker's Gambit
        Additive Distillation

        Rotation Gambit
        Prospector's Gambit
        Numerical Reflection: 0
        Jester's Gambit
        Selection Exaltation
        
        Numerical Reflection: 19
        Swindler's Gambit
        Selection Exaltation
        Retrograde Purification // remove for part 2
        
        Rotation Gambit II
        Muninn's Reflection
        Rotation Gambit II
        Surgeon's Exaltation

        Rotation Gambit
        Dioscuri Gambit
        Selection Distillation
        Numerical Reflection: 4
        Fisherman's Gambit
        Combination Distillation
        Surgeon's Exaltation
        
        Huginn's Gambit
    Consideration: }
    Jester's Gambit
    Thoth's Gambit

    {
        Retrograde Purification
        Speaker's Decomposition
        Bookkeeper's Gambit: vvv-
    }
    Muninn's Reflection
    Thoth's Gambit
    Reveal
    Bookkeeper's Gambit: vv
}
Bonus
Pattern rendering! (don't expect this for every post, it's a fair bit of work since the forum doesn't know about Hexal or MoreIotas)
IntrospectionweeeeewwaawawwaawawwaawaqwawqqaqwaqaGemini DecompositionAbacus PurificationNumerical Reflection: 1Equality DistillationIntrospectionFlock's DisintegrationRetrospectionFlock's DisintegrationConsiderationIntrospectionFlock's DisintegrationJester's GambitwaawawaqwaqaGemini DecompositionNumerical Reflection: 0Selection DistillationwaqaeaqNumerical Reflection: 1Additive DistillationNumerical Reflection: 4Division Dstl.Gemini DecompositionVacant ReflectionJester's GambitDioscuri GambitHuginn's GambitIntrospectionGemini DecompositionAbacus PurificationIntegration DistillationRetrospectionRotation GambitGemini GambitIntrospectionCombination DistillationRetrospectionFlock's DisintegrationMuninn's ReflectionGemini GambitMuninn's ReflectionFlock's GambitHermes' GambitHermes' GambitVacant ReflectionRotation GambitGemini GambitFlock's ReflectionNumerical Reflection: 4Subtractive DistillationFlock's GambitHuginn's GambitIntrospectionIntrospectionUndertaker's GambitNumerical Reflection: 4Multiplicative Dstl.Numerical Reflection: 1Additive DistillationGemini DecompositionNumerical Reflection: 1Additive DistillationaqwwaqwaadGemini DecompositionawdwaawwEquality DistillationJester's GambitMuninn's ReflectionNumerical Reflection: 3Fisherman's Gambit IISelection DistillationUndertaker's GambitJester's GambitSpeaker's DistillationAugur's ExaltationMuninn's ReflectionRotation Gambit IISurgeon's ExaltationHuginn's GambitRetrospectionRotation GambitThoth's GambitRetrospectionRotation GambitThoth's GambitBookkeeper's Gambit: Drop 2ConsiderationRetrospectionAugur's ExaltationHermes' GambitwaawawaqwaqaConsiderationIntrospectionawdwaawwaqwaqaFlock's DisintegrationBookkeeper's Gambit: Drop 1, Keep 1, Drop 1, Keep 1, Drop 1, Keep 1aqwaqNumerical Reflection: 1Subtractive DistillationRotation GambitaqwaqNumerical Reflection: -1Multiplicative Dstl.Rotation GambitaqwaqNumerical Reflection: 1Subtractive DistillationMuninn's ReflectionProspector's GambitSelection DistillationRotation GambitProspector's GambitUndertaker's GambitAbacus PurificationUndertaker's GambitAdditive DistillationRotation GambitProspector's GambitNumerical Reflection: 0Jester's GambitSelection ExaltationNumerical Reflection: 19Swindler's GambitSelection ExaltationRetrograde PurificationRotation Gambit IIMuninn's ReflectionRotation Gambit IISurgeon's ExaltationRotation GambitDioscuri GambitSelection DistillationNumerical Reflection: 4Fisherman's GambitCombination DistillationSurgeon's ExaltationHuginn's GambitConsiderationRetrospectionJester's GambitThoth's GambitIntrospectionRetrograde PurificationSpeaker's DecompositionBookkeeper's Gambit: Drop 3, Keep 1RetrospectionMuninn's ReflectionThoth's GambitRevealBookkeeper's Gambit: Drop 2Retrospection

Day 6

Posted: Sun Dec 18, 2022 2:10 am
by [object Object]
Day 6
Another easy one for Day 6, I've just been busy.
Image

One-Line File to Book
Because of this day's input format, I needed a new book generator script. This version takes a file with a single line of text and splits it into chunks of 512 characters.

Code: Select all

from string import Template
import sys
from pathlib import Path

max_string = 512

full_filename = sys.argv[1]
filename = Path(full_filename).stem

strings = [""]
with open(full_filename, "r") as f:
    for c in f.read().rstrip("\n"):
        if len(strings[-1]) == max_string:
            strings.append(c)
        else:
            strings[-1] += c

command_template = Template("""give @p written_book{pages: [$pages], title: "$title", author: "$author"}""")
page_template = Template("""'{"text":"$text"}'""")

command = command_template.substitute({
    "pages": ", ".join(
        page_template.substitute({"text": string})
        for string in strings
    ),
    "title": filename,
    "author": "object_Object",
})

print(command)
Part 1 and 2
Both parts are the same. The only difference is two numbers that need to be swapped with Surgeon, to change the size of the moving buffer.

Code: Select all

{
    Recitation Reflection
    Blank Reflection
    Separation Distillation
    Blank Reflection
    Single's Purification
    Exclusionary Distillation
    
    Gemini Decomposition
    Numerical Reflection: 0
    Numerical Reflection: 3 // part 2: 13
    Selection Exaltation
    
    Muninn's Reflection
    Reveal
    Gemini Decomposition
    Augur's Purification
    Jester's Gambit

    Rotation Gambit
    Numerical Reflection: 1
    Jester's Gambit
    Numerical Reflection: 2
    Flock's Gambit
    
    Augur's Exaltation
    Huginn's Gambit
    
    Consideration: {
        Muninn's Reflection
        Flock's Disintegration // mishap if we found the index
        
        Rotation Gambit
        Integration Distillation

        Prospector's Gambit
        Numerical Reflection: 1
        Additive Distillation
        Rotation Gambit II
        
        Gemini Decomposition
        Speaker's Decomposition
        Bookkeeper's Gambit: v
        Rotation Gambit II
    
        Uniqueness Purification
        Abacus Purification
        Numerical Reflection: 4 // part 2: 14
        Inequality Distillation

        Gemini Decomposition
        Numerical Reflection: 16
        Swindler's Gambit
        Augur's Exaltation

        Rotation Gambit
        Jester's Gambit

        Numerical Reflection: 2
        Flock's Gambit
        Huginn's Gambit

        {
            Bookkeeper's Gambit: -
            Charon's Gambit
        }
        Flock's Disintegration
        Augur's Exaltation
        Hermes' Gambit
    Consideration: }
    Jester's Gambit
    Thoth's Gambit
    Bookkeeper's Gambit: v
}