N, M = list(map(int, input().split(" ")))

mat = []
for i in range(M):
    mat.append([])

for i in range(N):
    l, r = list(map(int, input().split(" ")))
    
    for j in range(l, r+1):
        mat[j-1].append(i)

mat.insert(0, [])

def flatten(nested_list):
    """2重のリストをフラットにする関数"""
    return [e for inner_list in nested_list for e in inner_list]

for d in range(1,M+1):
    print (len(set(flatten(mat[::d]))))