~kmaasrud/aoc22

c8dd5fa1a72019749314d1fe6441c68accc78f29 — kmaasrud 1 year, 2 months ago 6a35f16
day 2
3 files changed, 2621 insertions(+), 0 deletions(-)

A 02.go
A data/02.txt
A data/test_02.txt
A 02.go => 02.go +118 -0
@@ 0,0 1,118 @@
package main

import (
	"fmt"
	"os"
	"strings"
)

var drawMap = map[string]string {
	"X": "A",
	"Y": "B",
	"Z": "C",
}

var winMap = map[string]string {
	"X": "C",
	"Y": "A",
	"Z": "B",
}

func game(a string, b string) int {
	if winMap[b] == a {
		return 6
	} else if drawMap[b] == a {
		return 3
	} else {
		return 0
	}
}

func shapeScore(shape string) int {
	switch shape {
	case "X":
		return 1
	case "Y":
		return 2
	case "Z":
		return 3
	}
	return 0
}

func score(a string, b string) int {
	return shapeScore(b) + game(a, b)
}

func part1(content string) int {
	lines := strings.Split(string(content), "\n")

	sum := 0
	for _, line := range lines {
		line := strings.Split(line, " ")

		if len(line) < 2 {
			continue
		}

		sum += score(line[0], line[1])
	}

	return sum
}

var draw = map[string]string {
	"A": "X",
	"B": "Y",
	"C": "Z",
}

var win = map[string]string {
	"A": "Y",
	"B": "Z",
	"C": "X",
}

var lose = map[string]string {
	"A": "Z",
	"B": "X",
	"C": "Y",
}

func part2(content string) int {
	lines := strings.Split(string(content), "\n")

	sum := 0
	for _, line := range lines {
		line := strings.Split(line, " ")

		if len(line) < 2 {
			continue
		}

		var choice string
		switch line[1] {
		case "X":
			choice = lose[line[0]]
		case "Y":
			choice = draw[line[0]]
		case "Z":
			choice = win[line[0]]
		}

		sum += score(line[0], choice)
	}

	return sum
}

func main() {
	bytes, _ := os.ReadFile("data/02.txt")
	content := string(bytes)

	score := part1(content)
	fmt.Printf("Part 1 score is %d\n", score)

	score = part2(content)
	fmt.Printf("Part 2 score is %d\n", score)
}

A data/02.txt => data/02.txt +2500 -0
@@ 0,0 1,2500 @@
B Y
A Z
A Z
C Z
B Y
B Y
B X
B Z
C Z
B X
B Y
A Z
B Y
B Z
B Y
C Z
B Z
B Y
B Z
C Y
B Y
A Z
B Y
B Y
B Y
C Y
A Z
B Y
B X
A Z
B X
A Z
A Z
B Y
B Y
B X
A Z
B Y
B Z
C X
C X
B Y
B Y
B X
B X
C X
B X
A Z
B Y
B Y
C X
A Z
B Y
B Z
B X
B X
A Z
A X
B Y
B Y
B Z
C Z
B Z
B Z
B Z
A Z
A Z
B X
B X
B Y
B X
B X
C Z
C Z
A Z
A Y
A Z
B Z
A Z
B Y
C X
B X
C X
B Z
B Z
C Z
B Z
B X
C X
A Z
C X
B Z
A Y
C Z
B Y
C Y
B X
A X
B Y
B X
B X
B Z
B Y
A Z
B Z
B Y
B Y
A X
A Z
B X
B X
B X
B X
B Z
B Z
B Y
C X
A Z
A Z
B Y
B Z
B Y
A Z
B Z
A Z
A Z
C X
B Z
A Z
A Z
B Y
B Z
A Z
B Y
B Y
A Z
B Y
C X
B Z
B Y
B X
C X
B X
B X
B X
A Z
A Z
C Y
A Z
B Y
A Z
C X
B Z
B Z
C X
B Y
C X
B X
B X
C X
A Z
B Y
C X
B X
B Y
A Z
B Y
B Y
C X
B Y
C X
A Z
A Z
A Z
B Y
B Y
A X
A Z
A Z
B Y
C X
C Y
B Y
C X
A Z
B X
A Z
A Z
C X
B Y
A Z
B Y
C X
A Z
B X
B Y
A Z
B Y
B X
B X
C X
B Y
C Y
A Z
B Y
B Y
C Y
B Y
C Y
C X
A Y
A Y
B Z
B Y
A Z
B Z
B X
B X
B Y
A Z
B Y
B X
B Y
B Y
C Z
B Y
B Y
A Z
A Z
B Z
A Y
C X
B Y
B Y
B Z
B Z
B Y
C X
B Y
B X
B Z
B Y
B X
B Y
C Z
B Y
B X
A Z
B Z
B Z
A Z
C X
B Y
C Z
A Z
B Y
C Z
B Y
B X
B Y
B X
C Z
B Z
A Z
A Z
A Z
A X
B Z
B Y
B X
B Y
A Z
B Z
C Z
B X
B Z
B Z
A Z
B Y
B X
A Z
A Z
B Y
B X
A Z
A Z
C Z
A Z
C Z
B Y
B Y
B Z
C X
A Z
B X
B Y
B X
B Y
B Y
B X
B Z
B X
C Z
C X
C X
A Z
A Z
B X
B X
A Y
C X
B Y
A Y
B Z
B X
A Z
B X
B Y
B Y
B Y
B Y
A Z
A Z
B Y
B X
C Z
B Z
C X
B Z
B Y
C X
A Z
B Y
A Z
A Z
B Z
B Y
B X
A Z
B X
B Y
A Z
B Z
B X
B X
A Z
C Y
B X
A Z
B X
B Y
C X
B Y
C Z
C X
B Y
B Y
B Y
B X
B Y
B X
A Y
A Z
B Z
B Y
B X
B Z
B Y
C Z
B Y
A Z
B X
A Z
C X
A X
B Z
B Z
C X
A Z
B X
A Z
A Z
B Z
A Z
B Y
B Z
C Z
A Y
A Z
A Z
A Z
C X
B Z
B Z
B Y
B X
B Y
B Y
B Y
B Z
B Y
B Y
A Z
B Z
A Z
C X
B Y
B X
B Y
B X
B Y
B Y
C X
B Y
B Y
B Z
B Y
C X
B Y
B X
B Y
C X
A X
A Z
C Z
B Y
C Z
B X
C Z
C X
C Z
B Y
B Y
C X
C X
B Y
C X
A Y
B Y
B X
B X
B Z
B Y
C Y
C X
B X
B Y
B Z
B X
B Z
B Z
C X
B X
B Y
B Z
B X
C Z
A Y
B Y
B Y
B Y
A Y
C Y
B Y
B Z
B Z
B Y
B Y
B Z
B X
B X
B Y
A Z
C Y
C Z
B Y
B X
B Y
B Y
C X
B Y
C X
A Z
B X
C X
C Z
A Z
A Z
B Y
C X
A Z
A Z
B Y
A Y
B Y
A Z
A Z
B X
C X
A Z
B X
B Z
A Z
A Z
B X
B Y
B X
B Z
B Y
B Y
B Z
C X
C X
B Y
A Z
B X
B X
B Y
B Z
B Y
B X
B Z
B X
B Y
C X
B Y
B Y
C Y
A Z
B Y
B X
B Y
A Z
C X
A Z
A X
B Z
B X
A Z
B Y
B X
B X
A Z
B Y
A Z
B Z
B Y
A Z
B Y
B Y
A Z
B Z
C Z
B Y
B Y
C Y
A Z
B Y
B Y
B Y
B Y
B Z
B Y
B Y
B Y
C X
B Z
B X
A Z
B Z
C X
B Y
B Y
A Z
B Y
B X
A Z
A Z
C Z
B X
B X
B Y
B Z
B Z
B Z
B Y
B Y
B Y
B Y
B Z
B Y
A Z
A Y
A Z
B Y
B Y
A Z
B X
B Y
A Z
C Z
B Z
B Z
B Y
A Z
A Z
B Y
B X
B Z
B X
B Y
B Y
B X
C X
B Z
B X
A Z
B Y
C Z
B X
A Z
C Z
C Z
A Z
B Y
B Y
A Y
B Y
C Z
B X
C X
B Y
B X
B Z
B Y
B Z
B Y
B Y
A Z
B X
B X
A Y
B Z
B X
B Z
A Y
B Z
C X
B X
B X
B Z
B X
C Y
B Y
C X
C X
B Z
B X
C Z
B Z
A Z
C Y
B Y
B Y
B X
B Z
B Y
B Y
B X
C X
B Y
B Y
C Y
B Z
C X
A Z
B X
B X
B Z
B X
B Y
A Z
B Z
B X
A Z
B Y
C X
A Y
A Z
C X
B X
B Z
B X
C X
A Z
B X
B Y
B Y
A Z
B Z
C X
A Z
B Z
C X
B X
A Z
C X
C Z
B Y
B Z
B Y
B X
C Z
B Z
B Z
B Y
A Z
C Z
A Y
B Y
C X
B Y
B Z
A Z
B Z
A Z
B X
C X
B Y
A Z
B Y
B X
C Z
B Z
C X
B Y
B X
C Y
B Y
C X
B Y
B Y
B Y
B Z
B Y
B X
B Y
B Y
A Z
A Z
C X
B Z
B Y
A Z
B X
C X
B Y
B X
A Z
C Z
A Z
B Z
B Y
B X
B Z
B Y
A Z
C X
C Z
A Y
A Z
C X
C Y
C Z
B Y
B X
B Z
B Y
B X
B Y
A Z
B Y
C X
B X
B Y
C Z
B Y
B Y
B Y
B X
B Y
C Z
B X
B Y
B Y
B Z
B X
B X
B Z
B Z
A Z
A Z
C X
B Y
B Y
C X
B Y
B X
A Y
C Z
B Y
B Z
B Y
B Y
A Z
B Y
B Z
B Y
B Z
B X
B Z
B Y
A Z
B X
B Z
B Y
B Y
B Z
B Y
A Z
B X
B Y
B Z
B X
B Y
B X
B X
B Y
B X
C Y
B Z
B Y
B Z
C Y
A Z
B Y
A Z
B X
A Z
A Z
C Z
B X
C Y
A Z
B Z
B Z
B X
B Z
B Y
A Z
B Z
C Z
A Z
C Y
A Z
B Y
A Z
B Y
A Z
B X
A Z
B Z
C X
B Y
B Y
B Y
C X
B Z
C X
A Z
A Z
C X
B Y
B Z
B X
B Y
B X
A Z
B Y
B Y
A Z
B Y
B Z
B Z
B X
B Z
B Y
B X
B Y
B Y
C X
C Z
B Y
B Y
B Y
B Z
B Y
B Y
B Y
A Z
B Y
B X
B Y
B X
B Z
B Y
B X
B X
A Y
B Y
B X
B Y
B Y
B Y
B Z
B X
A Z
B Y
B Y
B Y
A Z
B X
B X
C Z
B Y
B Y
A Z
B Y
B Z
B X
C X
B Y
B Y
C X
C Z
B X
A Z
B Y
B Y
B X
B X
B X
B Y
B Y
A Z
A Z
B Y
B Y
A Z
B Z
A Z
C X
C X
B Y
B Y
A Z
A Z
C Z
B Z
B X
A Z
B X
B Y
B Y
B X
B Y
B Y
C Z
B Y
B X
C Z
C Z
B X
B Y
B Y
B Z
A Z
B Y
B Y
B Y
B X
B X
A Z
A Z
B X
B Y
B Z
B Y
B Z
B Y
B Z
C X
B Y
C X
B Y
B Y
C Y
A Z
B X
C Z
B Y
B Z
B Y
B Y
B Y
C X
B X
B Y
A Z
C Y
B Y
A Z
B Y
B Z
B Z
B Y
B Y
B Y
C X
B Y
A Y
C Y
B X
B X
B X
B X
B Z
B X
B Z
B Y
B Y
A Z
B X
B X
A Z
A Y
B Y
B Z
B Y
C X
B Y
B X
B Z
C X
B Z
B Y
B X
B X
A Z
B Y
B Y
B Y
C X
A X
B X
C X
B X
C X
B X
A X
B Y
B Y
B Y
B Y
B Z
C Y
C X
A Z
B Z
B Z
B Y
B Z
B Y
B Y
B X
B Z
A Z
A Z
B Z
B X
B Z
A Z
B Y
B Y
B Y
B Z
A Y
B X
B Z
B Y
B Y
B Y
B Y
C X
B Z
C X
A Z
A Z
B Z
A Y
C X
B X
B X
C X
A Z
A Z
A Z
B Y
B Z
A X
A X
B Y
C X
A Z
B Z
A Z
B Y
B Y
B X
B X
B Y
C X
B Z
B Y
B X
B X
B Y
B Z
B Y
B Y
B X
B X
B X
B Y
C X
B Y
B Y
B X
B Y
B Y
B X
B X
A Z
C X
B X
A Z
B Y
B Y
B Z
B Y
B X
A Z
C Y
B X
B Z
B Y
C X
A Z
B X
A Z
A Z
B Y
B Z
B Y
A Z
B Y
B Z
A Z
C Z
B Y
B Y
B X
B Z
B Y
B X
B X
B Y
B Z
B X
B Y
C Z
A X
B Y
C X
A X
B X
B X
B Z
A X
B X
B Y
B X
A Z
B Z
C Z
B X
B X
A Z
B X
B X
B Z
B Y
B Y
A Z
B Y
B Y
B X
B X
B X
B Y
A Y
C X
B X
A Z
B X
B Y
C Z
B Y
B Y
A Z
B Y
A Z
B Y
A Z
B Y
B Y
A Z
B X
B X
B Y
B Y
B Y
A Z
B Y
B Y
A Z
B X
A X
A Z
B Y
B X
B Z
B Z
B Y
B Y
C Y
B Y
B Y
B X
B Y
A Z
C X
B Z
B X
B Z
A Z
B Y
B Z
B X
A Z
A Z
C X
B X
A Y
C X
B Z
B Z
C Z
B Z
B Z
C Y
A Z
C Z
A Z
C Z
B Z
B Y
C X
B Y
B X
A Z
C Y
B X
B Y
B Y
B X
B Y
A Z
A Z
B Y
B Z
B Y
C X
B X
B Y
B X
A Z
C X
B Y
B Y
B Y
B Y
C Z
B Y
C Z
A X
C Z
B X
B Y
B Y
B X
B Y
C X
C X
A Z
B Y
B Y
C X
B Z
C Y
B Z
B Z
B Z
B X
B X
B X
B Z
B X
C X
B Y
C X
B X
C Z
B Y
B X
B Z
B Y
B Y
B Y
B Y
B Y
B X
B X
A Z
B Y
B X
B Y
B Y
A Y
B Y
B Y
A Z
A Z
C Z
B X
B Y
B Y
B Z
C Z
C X
A Z
C X
A X
B X
B Z
B Y
A Z
C Z
B Y
C Z
B X
A Z
B X
A Z
B Y
A Y
B Y
B Y
A Z
C X
B X
B Y
A Z
B Z
B Y
B X
B X
C Y
B X
A Z
B Z
A Z
C X
C Y
B Z
B Z
A Z
B X
B Y
B X
C X
B Y
B Y
B X
C X
B X
B Y
B X
B Y
B Z
B Y
B X
B X
A Z
B Y
B Y
C X
C Y
C X
A Z
A Z
B X
B X
B Z
A Z
A Z
C Z
B Z
A X
B X
B Y
B Y
A Z
B Y
B X
B X
B X
B Y
B X
B Y
B Y
B Y
B Y
B Y
B Y
B Z
A Z
B Y
B X
C X
A Y
B Y
B Y
B Z
C Z
B X
C X
B Z
B Y
B Y
B X
B X
B X
A Z
B X
A Y
B Y
B Y
C X
A Z
B Y
C X
B Y
B X
B X
B X
C Z
B X
A Z
B Y
B Y
B Y
A Z
A Z
B X
A Y
B Y
B Y
B Y
B X
B X
B Z
B X
B Z
B X
B Y
A Y
A Z
C Y
B Z
C X
B Z
B Y
B X
A Y
B Y
B X
B Y
B X
C Z
B X
C Z
B Y
B X
B Z
A Y
A Y
C Z
B X
B X
B Y
A Z
B Y
B Z
A Z
B X
B X
B X
B X
B X
B Z
A Z
A Z
C Y
C X
A Z
A Z
C X
B X
B X
B Z
B X
A Z
B Y
B X
B Y
C X
A Z
B Z
C X
B Y
B Y
A Z
B Y
B Y
B X
B Y
C Y
B X
B Z
B Y
A Z
B Z
A Y
B Y
A Z
B X
B Y
A Z
B Y
C Z
B Z
B Y
C X
C X
B X
B Z
B Y
B Z
B Z
B Z
B Z
A Z
B Y
B X
B Z
B Y
B X
A Z
A Z
A Z
B Y
C Y
C Z
B Z
B X
B Y
B Z
B Y
A Z
A Z
C Z
B X
B Y
B Z
B X
A Y
A Y
B Y
A Y
B Z
B Y
A Z
B Y
B Y
B Y
C Z
B X
B Z
B X
B Y
B Y
B Y
C X
B X
B Y
B Z
B X
B Y
B Y
B Y
B X
B X
B X
A Z
B Y
B Y
C X
C X
C X
C X
B Z
A Z
A Z
B Z
B Y
B X
A Z
C Z
B Y
B X
C Z
C X
B X
B Y
B Y
B X
B X
B Y
A Z
B X
B X
B X
B Y
A Y
B X
A Z
B Y
B Y
B Y
C Y
B Z
B X
B Z
C X
B Y
B Z
C X
B X
B X
B Y
B Y
B Y
A Z
A Z
A Z
B Y
B X
C Z
B Z
B Y
B Y
B Y
B Y
B Z
C X
A Z
C Z
B Z
B X
B X
A Z
B X
B Z
A Z
B Y
B Y
A Z
B Y
B Y
C Y
C Z
B X
A Z
B Z
B Y
C Z
C X
B X
A Z
B Y
B Z
B X
A Z
A Z
A Z
B Y
B X
C X
B Z
B Z
B X
B X
B Y
A Z
B X
B X
B Z
A Z
C X
B X
B Y
B Z
A Z
B Y
B Y
B Y
C X
B Z
A Y
A Z
B Z
C X
A Z
A Z
B Y
C X
B Y
B Z
C X
B Y
B Y
A Z
B Z
A Z
C Z
A Z
B X
B Z
A Z
B X
B Y
C Z
A Y
B Y
B Y
B Y
A Z
B Z
A Y
A Z
B Z
B Y
B Y
A Y
B Y
C X
B Z
B Z
A Z
B X
B X
A Z
B Z
C Y
A Z
A Z
B Y
B Z
B X
C Y
B Y
B Y
B Z
B Y
B Z
B X
B X
B Y
B Y
C X
C X
B X
B X
C X
A Z
B Y
C Z
A Z
B X
B Y
B Z
A Z
C Y
A Z
B Z
A Z
C X
C X
B X
B X
B Y
B Y
B Y
B Y
B Z
B X
B Z
C Y
B Y
A Z
B Y
B X
A Y
B Y
B Z
C X
B X
A Z
A Z
B Y
B Y
A Z
C X
B X
B Y
B Y
B Z
A Z
A Z
C Z
A Z
B Y
B Y
B Y
A Z
B Z
B Y
A Z
A Y
B Y
B Y
B Z
A X
A Z
B Z
B X
A Z
B Z
B Y
B Y
B X
A Y
C Y
B Y
B Y
B X
B Z
A Z
B X
B X
B Y
B Y
A Z
B X
C X
B X
B X
A Z
B Y
C X
A Z
B X
C Z
A Z
B Y
B Y
B X
B X
A Z
C Z
B X
B X
B Y
A Z
B Y
B Y
B X
B Y
B X
A Z
B Y
B Z
B X
A Z
B Y
C Z
C X
A Z
A Y
B X
B Z
B Y
B Y
B Y
B Z
B Z
A Y
C X
B X
C X
B Y
B Y
B Z
B Y
C Y
C X
B Z
C X
B Y
B X
B Y
B Y
A Z
B Y
A Z
A Z
A Z
A Z
B Y
A Z
B X
B X
B X
C Z
B Z
C Y
B Y
A Z
B Z
B Y
B Y
B Y
A Z
B Z
C Y
C X
B Y
B Y
B Y
B X
B Y
B Z
A Z
B Y
B Y
C Y
B Z
B X
B Y
B X
B Z
B Y
C Y
C Y
A Z
B X
B X
A Y
B Z
A Z
B Y
B X
B X
B Z
B X
A Z
B Y
C X
C X
B Z
A Z
B Y
B Y
B Y
B Y
B Y
B X
B Y
B Y
B Z
B Z
A X
A Z
A Z
A Z
A Y
C X
B Y
B Z
B X
A Z
B Y
B Y
B X
B Y
B Y
C Y
C Y
B X
A Z
B Y
C X
B Y
A Y
B X
B X
B Y
C X
A Z
B Y
B X
C X
C Z
B Y
B Y
B Y
A Z
B X
A Z
C Z
B Z
B Y
B Y
B X
B Y
B Y
B X
A Z
C X
C Z
B X
B Y
C Y
B X
A Z
B Y
A Z
B Y
A Y
A Z
A Z
B Y
B Y
B Z
C Z
C X
B Y
B Z
B Y
A Z
B Y
B Z
B Y
B X
B Y
B Z
B Y
B Z
C X
B Y
B Y
C Z
A Z
B Y
C X
B X
A Y
B Y
A Z
B Y
B X
B Y
B Y
B X
B X
B X
B Y
B Y
C Z
B Z
C X
C Z
B Y
C X
B X
A Z
B Y
C Z
A Y
B Y
B Y
B Y
C X
B X
B Y
B Y
B Z
C X
B X
B Z
A Z
B X
B Z
B X
A Z
B Y
B Z
C X
B X
C X
B X
B Y
B Z
B Z
B Z
A Z
B Y
B X
B Y
B Y
B X
B Z
B Y
C X
A Z
B Z
B X
A Z
B Y
B Y
B Y
A Z
A Z
C X
B X
A Y
B Y
B Y
B Y
A Z
A Z
A Z
C Y
B Z
A Y
B Y
B X
B X
B Y
C X
B Y
C Z
B Y
A X
B Y
B X
B Y
B X
C Z
B Y
B Z
B X
B Z
A Z
B Y
B X
B Y
A Z
B X
C Y
B X
B Y
B Y
B Y
C X
B Y
B Y
B Y
A Z
B Z
C X
A Z
B Y
C Y
B X
A Z
C Z
B X
B Y
B X
C Z
B X
B Z
C Y
B X
B Y
B X
B Z
B X
B Z
B Y
B Z
B X
A Z
B X
A X
B X
B Y
B Y
B Y
A Z
B Y
B Y
B Z
C X
B Y
B Y
B Y
B X
B X
B X
C Z
B Z
B X
A Z
B Y
B Z
B Y
B Y
B Y
B Y
C X
A Z
B Z
B Y
B Y
B Z
A Z
B Y
B Z
B Y
B Y
C Y
A Z
B Z
C X
B X
C Z
B X
B X
B Y
B Y
A X
B Y
C Z
A Z
B X
C Z
C Z
B X
A Z
B X
C Z
B Z
B Y
B Y
C X
A Z
B X
B Y
B X
B X
B X
B Y
C X
B Z
B Y
B Y
B Y
B X
A Z
A Z
B Y
B Z
B Y
A Z
B Y
B X
A Z
B Z
B Y
B X
B Y
A Y
B Y
B Y
B Y
B Z
B X
B Y
C Z
C X
B Y
C Y
B Z
A Z
A Z
B Y
B Y
A Z
B Z
B Y
B X
A Z
A Z
C X
A Z
C X
A Z
B Y
C X
B X
B X
B Y
A Y
B Y
B Z
B X
B Y
B Y
A Z
B X
B Y
A Z
A Y
A Z
C X
A Z
C X
A X
B Y
B Y
A Z
B X
B Z
B Y
B Y
B Z
B Y
B Y
B X
B Y
C X
C X
B Y
B Y
B X
C Z
C Z
C Z
C X
B Y
C Z
A Z
C Z
B Y
A Z
B Z
B X
A Y
B Y
B Y
B X
B Y
B Y
C X
B Y
A Z
B Y
A Z
C Z
A Z
B Y
B Z
A Z
B X
B X
B Z
B X
B Y
A Z
B Y
C X
A Z
C Z
B X
A Z
B Y
B Y
C Z
B Z
A Z
B Y
B X
B Y
B Z
C Z
A Y
A Z
B X
B X
A Z
C Y
B Y
A X
A Z
B X
B Y
B X
A Z
C X
B Y
B Y
C X
A X
B Y
A Z
A Z
B Y
B Z
B Y
B Y
B Y
B X
B Y
B X
B X
B X
B Y
A Z
C X
A Z
A Z
A X
A Z
B X
B Z
B Y
A Z

A data/test_02.txt => data/test_02.txt +3 -0
@@ 0,0 1,3 @@
A Y
B X
C Z