n=gets.not_nil!.to_i
m=3*n+1
t=[true]*m
t[0]=t[1]=false
(2...m).each{|i|t[i]&&(i*2).step(to: m-1,by: i){|j|t[j]=false}}
q=(2...m).select{|i|t[i]}
o=q.dup
r=0_i64
a=[0]*m
q.each{|c|c>n&&break;o.each{|s|r+=a[s-c]};o.shift;q.each{|x|x>=c&&break;a[x+c]+=1}}
puts r