← Home
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func q(n int) string {
	return strings.Repeat("?", n)
}

func main() {
	in := bufio.NewReader(os.Stdin)
	var n int
	fmt.Fscan(in, &n)
	var s string
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &s)
	}

	out := bufio.NewWriter(os.Stdout)

	for d := 0; d <= 8; d++ {
		fmt.Fprintln(out, q(5)+strconv.Itoa(d)+"5<>"+q(5)+strconv.Itoa(d+1))
	}
	fmt.Fprintln(out, q(5)+"95>>"+q(5)+"50")

	for d := 0; d <= 8; d++ {
		fmt.Fprintln(out, q(4)+strconv.Itoa(d)+"50<>"+q(4)+strconv.Itoa(d+1)+"0")
	}
	fmt.Fprintln(out, q(4)+"950>>"+q(4)+"500")

	for d := 0; d <= 8; d++ {
		fmt.Fprintln(out, q(3)+strconv.Itoa(d)+"500<>"+q(3)+strconv.Itoa(d+1)+"00")
	}
	fmt.Fprintln(out, q(3)+"9500>>"+q(3)+"5000")

	for d := 0; d <= 8; d++ {
		fmt.Fprintln(out, q(2)+strconv.Itoa(d)+"5000<>"+q(2)+strconv.Itoa(d+1)+"000")
	}

	fmt.Fprintln(out, "00000?<>?")
	fmt.Fprintln(out, "0000??<>??")
	fmt.Fprintln(out, "000???<>???")
	fmt.Fprintln(out, "00????<>????")

	fmt.Fprintln(out, q(4)+">>00"+q(4)+"5")
	fmt.Fprintln(out, q(3)+">>000"+q(3)+"5")
	fmt.Fprintln(out, q(2)+">>0000"+q(2)+"5")
	fmt.Fprintln(out, q(1)+">>00000"+q(1)+"5")

	out.Flush()
}