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())
}