Как вывести желаемое число K столбцов из N целых чисел?

Исходные данные
Первая строка содержит два целых числа: N (1 ≤ N ≤ 100), которое показывает, сколько чисел нужно проанализировать, и K (1 ≤ K ≤ N), желаемое число столбцов. Вторая строка содержит N целых чисел в диапазоне от 0 до 999.
Результат
Выведите N чисел, заданных в вводе, в K столбцов так, что число строк минимально, а столбцы имеют одинаковую высоту, за исключением последнего столбца, который может быть меньше. Ширина каждого столбца должна быть 4 символа, числа должны быть выровнены по правому краю и дополнены пробелами до требуемой ширины. Числа должны идти в том же порядке, что и во вводе, но по столбцам: сначала в первом столбце сверху вниз, затем во втором столбце сверху вниз и так далее. Все непустые строки должны заканчиваться переводами строк, строки не должны содержать концевых пробелов. Гарантируется, что решение всегда существует.