#include <bits/stdc++.h>
using namespace std;

#define int long long
const int MOD=1e9+7;
int pw(int n,int k){
  assert(k>=0);
  int res=1;
  while(k){
    if(k&1)(res*=n)%=MOD;
    (n*=n)%=MOD;
    k>>=1;
  }
  return res;
}

int F[123456];

signed main(){
  int n,k;cin>>n>>k;
  for(int i=1;i<=k;i++){
    F[i]+=i;
    for(int j=i+i;j<=k;j+=i){
      (F[j]-=F[i])%=MOD;
    }
  }
  int ans=0;
  for(int i=1;i<=k;i++){
    ans+=pw(k/i,n)*(MOD+F[i])%MOD;
  }
  cout<<ans%MOD<<endl;
}
