#include<bits/stdc++.h>
#include <math.h>
using namespace std;
#define rep(i,n) for(ll i=0;i<n;i++)
#define repl(i,l,r) for(ll i=(l);i<(r);i++)
#define per(i,n) for(ll i=n-1;i>=0;i--)
#define lper(i,r,l) for(ll i=r-1;i>=l;i--)
#define fi first
#define se second
#define mp make_pair
#define all(x) (x).begin(),(x).end()
#define CST(x) cout<<fixed<<setprecision(x)
using ll=long long;
using vl=vector<ll>;
using vvl=vector<vector<ll>>;
using pl=pair<ll,ll>;
const ll MOD=1000000007;
const ll MOD9=998244353;
const int inf=1e9;
const ll INF=4e18;
const ll dy[4]={1,0,-1,0};
const ll dx[4]={0,-1,0,1};

 ll PS(ll a, ll b) {
   ll co=0;
   while(a%b==0) {
     a=a/b;
     co++;
   }
   return co;
 }    
int main() {
  ll N;
  cin >>N;
  
  vector<pl> vec(168);
  vec.at(0).fi=2;
  vec.at(1).fi=3;
  vec.at(2).fi=5;
  vec.at(3).fi=7;
  vec.at(4).fi=11;
  vec.at(5).fi=13;
  vec.at(6).fi=17;
  vec.at(7).fi=19;
  vec.at(8).fi=23;
  vec.at(9).fi=29;
  vec.at(10).fi=31;
  vec.at(11).fi=37;
  vec.at(12).fi=41;
  vec.at(13).fi=43;
  vec.at(14).fi=47;
  vec.at(15).fi=53;
  vec.at(16).fi=59;
  vec.at(17).fi=61;
  vec.at(18).fi=67;
  vec.at(19).fi=71;
  vec.at(20).fi=73;
  vec.at(21).fi=79;
  vec.at(22).fi=83;
  vec.at(23).fi=89;
  vec.at(24).fi=97;
  vec.at(25).fi=101;
  vec.at(26).fi=103;
  vec.at(27).fi=107;
  vec.at(28).fi=109;
  vec.at(29).fi=113;
  vec.at(30).fi=127;
  vec.at(31).fi=131;
  vec.at(32).fi=137;
  vec.at(33).fi=139;
  vec.at(34).fi=149;
  vec.at(35).fi=151;
  vec.at(36).fi=157;
  vec.at(37).fi=163;
  vec.at(38).fi=167;
  vec.at(39).fi=173;
  vec.at(40).fi=179;
  vec.at(41).fi=181;
  vec.at(42).fi=191;
  vec.at(43).fi=193;
  vec.at(44).fi=197;
  vec.at(45).fi=199;
  vec.at(46).fi=211;
  vec.at(47).fi=223;
  vec.at(48).fi=227;
  vec.at(49).fi=229;
  vec.at(50).fi=233;
  vec.at(51).fi=239;
  vec.at(52).fi=241;
  vec.at(53).fi=251;
  vec.at(54).fi=257;
  vec.at(55).fi=263;
  vec.at(56).fi=269;
  vec.at(57).fi=271;
  vec.at(58).fi=277;
  vec.at(59).fi=281;
  vec.at(60).fi=283;
  vec.at(61).fi=293;
  vec.at(62).fi=307;
  vec.at(63).fi=311;
  vec.at(64).fi=313;
  vec.at(65).fi=317;
  vec.at(66).fi=331;
  vec.at(67).fi=337;
  vec.at(68).fi=347;
  vec.at(69).fi=349;
  vec.at(70).fi=353;
  vec.at(71).fi=359;
  vec.at(72).fi=367;
  vec.at(73).fi=373;
  vec.at(74).fi=379;
  vec.at(75).fi=383;
  vec.at(76).fi=389;
  vec.at(77).fi=397;
  vec.at(78).fi=401;
  vec.at(79).fi=409;
  vec.at(80).fi=419;
  vec.at(81).fi=421;
  vec.at(82).fi=431;
  vec.at(83).fi=433;
  vec.at(84).fi=439;
  vec.at(85).fi=443;
  vec.at(86).fi=449;
  vec.at(87).fi=457;
  vec.at(88).fi=461;
  vec.at(89).fi=463;
  vec.at(90).fi=467;
  vec.at(91).fi=479;
  vec.at(92).fi=487;
  vec.at(93).fi=491;
  vec.at(94).fi=499;
  vec.at(95).fi=503;
  vec.at(96).fi=509;
  vec.at(97).fi=521;
  vec.at(98).fi=523;
  vec.at(99).fi=541;
  vec.at(100).fi=547;
  vec.at(101).fi=557;
  vec.at(102).fi=563;
  vec.at(103).fi=569;
  vec.at(104).fi=571;
  vec.at(105).fi=577;
  vec.at(106).fi=587;
  vec.at(107).fi=593;
  vec.at(108).fi=599;
  vec.at(109).fi=601;
  vec.at(110).fi=607;
  vec.at(111).fi=613;
  vec.at(112).fi=617;
  vec.at(113).fi=619;
  vec.at(114).fi=631;
  vec.at(115).fi=641;
  vec.at(116).fi=643;
  vec.at(117).fi=647;
  vec.at(118).fi=653;
  vec.at(119).fi=659;
  vec.at(120).fi=661;
  vec.at(121).fi=673;
  vec.at(122).fi=677;
  vec.at(123).fi=683;
  vec.at(124).fi=691;
  vec.at(125).fi=701;
  vec.at(126).fi=709;
  vec.at(127).fi=719;
  vec.at(128).fi=727;
  vec.at(129).fi=733;
  vec.at(130).fi=739;
  vec.at(131).fi=743;
  vec.at(132).fi=751;
  vec.at(133).fi=757;
  vec.at(134).fi=761;
  vec.at(135).fi=769;
  vec.at(136).fi=773;
  vec.at(137).fi=787;
  vec.at(138).fi=797;
  vec.at(139).fi=809;
  vec.at(140).fi=811;
  vec.at(141).fi=821;
  vec.at(142).fi=823;
  vec.at(143).fi=827;
  vec.at(144).fi=829;
  vec.at(145).fi=839;
  vec.at(146).fi=853;
  vec.at(147).fi=857;
  vec.at(148).fi=859;
  vec.at(149).fi=863;
  vec.at(150).fi=877;
  vec.at(151).fi=881;
  vec.at(152).fi=883;
  vec.at(153).fi=887;
  vec.at(154).fi=907;
  vec.at(155).fi=911;
  vec.at(156).fi=919;
  vec.at(157).fi=929;
  vec.at(158).fi=937;
  vec.at(159).fi=941;
  vec.at(160).fi=947;
  vec.at(161).fi=953;
  vec.at(162).fi=967;
  vec.at(163).fi=971;
  vec.at(164).fi=977;
  vec.at(165).fi=983;
  vec.at(166).fi=991;
  vec.at(167).fi=997;
  
  
  repl(i,1,N+1) {
    rep(j,168) {
      vec.at(j).se+=PS(i,vec.at(j).fi);
    }
  }
  
  
rep(j,168) {
  vec.at(j).se++;
}
  
  ll pro=1;
  rep(i,168) {
    pro *=vec.at(i).se;
    pro=pro%MOD;
  }
  cout<<pro<<endl;
}
  


Measured memory_bytes: 256