fun main() { val builder = StringBuilder() // 解説読んだ val mod = 1000000007L val (n, m) = readInputLine().split(" ").map { it.toLong() } for (i in LongRange(1L, m)) { val moreNum = (n + 1L) / i + 1L val lessNum = moreNum - 1L val moreBox = (n + 1L) % i val lessBox = i - moreBox - 1L builder.appendln(pow(moreNum, moreBox, mod) * pow(lessNum, lessBox, mod) % mod * (lessNum - 1L) % mod) } print(builder.toString()) } fun readInputLine(): String { return readLine()!! } fun pow(x: Long, n: Long, mod: Long): Long { var ret = 1L var base = x var nTmp = n while (nTmp != 0L) { if (nTmp % 2L != 0L) { ret = ret * base % mod } base = base * base % mod nTmp /= 2L } return ret }