#481. 曼波数分解大赛

曼波数分解大赛

问题描述

在一个充满快乐与梦想的世界里,住着一群可爱的赛马娘。

其中喜欢说曼波的诗歌剧是一位 数学高手,她有个小习惯,就是喜欢在数字前加上 mb 两个字母。

有一天,她发现了一个神奇的数字现象,称之为 曼波数分解 :每个 曼波数 都可以分解成由同一 曼波底数 的一系列 曼波次方

为庆祝这一发现,诗歌剧举办了一场 曼波数分解大赛 ,邀请赛马娘们一起参与!

关于游戏规则:

每位赛马娘将获得一个曼波数和一个曼波底数。她们的任务是将曼波数分解为尽可能短的曼波次方序列,并按次方大小从小到大输出,忽略末尾的空格。

诗歌剧:“曼波。”

东海帝皇:“哈基米。”

诗歌剧:“曼波。”

……

高冷的米浴正在进行游戏,这对她来说太难了,于是她干脆直接跳过其他抽象的赛马娘,向你求助。

求助过程中米浴举了一个例子: 在某次游戏中,米浴得到了一个曼波数 77 和一个曼波底数 22 , 你应该输出 “ mb0mb0 mb1mb1 mb2mb2 ”。

米浴提醒道:“ mb0mb0 mb2mb2 mb1mb1 “ 不是从小到大输出的,” mb0mb0 mb0mb0 mb0mb0 mb2mb2 “ 不是最小长度的序列,所以这 22曼波次方 序列都不合法。”

简单来说:

给定一个正整数 nn 和一个正整数底数 mm ,将 nn 分解为尽可能少的 mm 的幂次之和,并输出每个幂次的指数。

要求输出的指数形式为 ” mbmb XX ”,其中 XX 表示该幂次的指数。输出结果按指数从小到大排列,忽略行末空格。

输入格式

第一行有 22 个整数 nnmm ,用一个空格隔开,nn 代表曼波数, mm 代表曼波底数。

输出格式

在一行中输出形式为 mbXmbX 的幂次,幂次之间由空格隔开,忽略行末空格。

输入样例1

7 2

输出样例1

mb0 mb1 mb2

输入样例2

100 3

输出样例2

mb0 mb2 mb2 mb4

输入样例3

2024 11

输出样例3

mb1 mb1 mb1 mb1 mb1 mb1 mb1 mb1 mb2 mb2 mb2 mb2 mb2 mb3

评测数据规模

1n1091 \leq n \leq 10^{9}2m202 \leq m \leq 20