package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
var lines []string
maxLen := 0
for scanner.Scan() {
line := scanner.Text()
lines = append(lines, line)
if len(line) > maxLen {
maxLen = len(line)
}
}
border := strings.Repeat("*", maxLen+2)
fmt.Println(border)
favorLeft := true
for _, line := range lines {
diff := maxLen - len(line)
var leftPad, rightPad int
if diff%2 == 0 {
leftPad = diff / 2
rightPad = diff / 2
} else {
if favorLeft {
leftPad = diff / 2
rightPad = diff - leftPad
favorLeft = false
} else {
leftPad = diff/2 + 1
rightPad = diff - leftPad
favorLeft = true
}
}
fmt.Printf("*%s%s%s*\n", strings.Repeat(" ", leftPad), line, strings.Repeat(" ", rightPad))
}
fmt.Println(border)
}