n = int(raw_input())

resultDict={}

for i in range(1, n+1):
    for j in range(1, n+1):
        temp = i**j
        if temp in resultDict:
            resultDict[temp]+=1
        else:
            resultDict[temp] = 1

result=0
for _,v in resultDict.iteritems():
    result+=v+v*(v-1)

print result%1000000007
暴力O(n^2),过40