def main():
import sys
input = sys.stdin.read
data = input().split()
# 讀取第一行的數據
# data[0] 是卡牌數量 N
# data[1] 是洗牌次數 M
N = int(data[0])
M = int(data[1])
# 讀取第二行的數據,這些數字是初始的卡牌順序
# data[2:] 是從第三個元素開始的所有數字
# 將它們轉換為整數列表
deck = list(map(int, data[2:2 + N]))
# 進行 M 次洗牌
for _ in range(M):
# 當前牌堆的長度
n = len(deck)
# 計算一半的長度
half = n // 2
# 將牌堆分為兩半
left = deck[:half] # 左半部分
right = deck[half:] # 右半部分
# 初始化新的牌堆
shuffled = []
# 交錯地將左半部分和右半部分的牌放入新的牌堆中
for i in range(half):
shuffled.append(left[i]) # 添加左半部分的牌
shuffled.append(right[i]) # 添加右半部分的牌
# 更新牌堆為新的交錯牌堆
deck = shuffled
# 輸出最終的牌堆
# 將牌堆中的每個數字轉換為字符串並用空格連接
print(" ".join(map(str, deck)))
if __name__ == "__main__":
main()