Насколько я понял набор чисел это матрица с
n чисел в каждом ряду и максимальным количество чисел
total.
Тогда перемещение вправо можно найти как добавление 1 с последующим модулем по
n (чтобы зациклить в строке) в пределах строки
# находим строку и позицию в строке
row, row_pos = divmod(pos, n)
# вычисляем новую позицию в строке и снова собираем полный номер
new_pos = row*n + (row_pos + 1)%n
Перемещение вверх можно найти как вычитание кол-ва чисел в строке
n с модулем по
total
new_pos = (pos - n)%total