← Home
package main

import (
	"fmt"
	"strconv"
	"strings"
)

func gcd(a, b int64) int64 {
	for b != 0 {
		a, b = b, a%b
	}
	return a
}

func main() {
	var x, y int64
	if _, err := fmt.Scan(&x, &y); err != nil {
		return
	}

	if gcd(x, y) != 1 {
		fmt.Println("Impossible")
		return
	}

	var sb strings.Builder
	for x > 0 && y > 0 {
		if x > y {
			cnt := x / y
			if y == 1 {
				cnt = x - 1
			}
			sb.WriteString(strconv.FormatInt(cnt, 10))
			sb.WriteByte('A')
			x %= y
		} else if y > x {
			cnt := y / x
			if x == 1 {
				cnt = y - 1
			}
			sb.WriteString(strconv.FormatInt(cnt, 10))
			sb.WriteByte('B')
			y %= x
		} else {
			break
		}
	}
	fmt.Println(sb.String())
}