← Home
```go
package main

import (
	"fmt"
)

func main() {
	var grid [3][3]byte
	for i := 0; i < 3; i++ {
		var line string
		fmt.Scanln(&line)
		for j := 0; j < 3; j++ {
			grid[i][j] = line[j]
		}
	}

	dirs := [][2]int{
		{-1, -1}, {-1, 0}, {-1, 1},
		{0, -1}, {0, 1},
		{1, -1}, {1, 0}, {1, 1},
	}

	best := "ZZZ"

	for r1 := 0; r1 < 3; r1++ {
		for c1 := 0; c1 < 3; c1++ {
			for _, d1 := range dirs {
				r2, c2 := r1+d1[0], c1+d1[1]
				if r2 < 0 || r2 >= 3 || c2 < 0 || c2 >= 3 {
					continue
				}
				for _, d2 := range dirs {
					r3, c3 := r2+d2[0], c2+d2[1]
					if r3 < 0 || r3 >= 3 || c3 < 0 || c3 >= 3 {
						continue
					}
					if (r3 == r1 && c3 == c1) || (r3 == r2 && c3 == c2) {
						continue
					}
					word := string([]byte{grid[r1][c1], grid[r2][c2], grid[r3][c3]})
					if word < best {
						best = word
					}
				}
			}
		}
	}

	fmt.Println(best)
}
```