ねこのアリストテレスは数学の問題を考えるのを趣味にしている。今彼が考えている問題は以下のようなものである。
1以上の自然数 A, B (A < B) に対して、A から B までの自然数の和を C、A と B を十進表記して A, B の順に結合したものを D とすると、両者が等しくなることがある。たとえば1から5までの和は15、2から7までの和は27、7から119までの和は 7119、といった具合である。このような A と B のペアのことを cat numbers と呼ぶことにする。アリストテレスは、A と B の桁数が与えられたときに、cat numbersを全て列挙したい、と考えた。
アリストテレスは、A または B を固定した場合に解が存在するかどうかを確かめる方法は思いついたので、小さい桁数に対しては答えを得ることができた。しかし、桁数が大きくなるにしたがって計算をするのが大変になり、途中でうんざりして投げ出してしまった。そこで、あなたにお願いがある。アリストテレスに代わって、指定された桁数のcat numbersを全て列挙するプログラムを書いてほしい。
入力は1行のみからなる。A の桁数 a および B の桁数 b が1つの空白文字で区切られて与えられる。これらは 1 ≤ a ≤ b ≤ 16 を満たす。
指定された桁数のcat numbersを、A が小さいものから順に出力せよ。A が同じものが複数ある場合は、B が小さいものから出力せよ。各行には1つのcat numbersにおける A と B を1つの空白文字で区切ったものを出力せよ。また、条件に合うcat numbersが存在しない場合は "No cats." と1行に出力せよ。
1 1
1 3
1 4
2 2
1 5 2 7
7 119
No cats.
13 53 18 63 33 88 35 91