# 配列Aの区間[l, r)に対してマージソート
mergeSort(A, l, r):
    if l+1 < r:
        m ← (l+r)/2
        mergeSort(A, l, m)
        mergeSort(A, m, r)
        merge(A, l, m, r)

	     
# 配列全体を指定してマージソートを実行
A ← 入力された整数の列
mergeSort(A, 0, N)