#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
const int N=1e5+10,P=131;
string p,s;
map<ull,int> mp;
map<ull,int> st;
ll ans=0;
ull h1[N],p1[N];
ull get(int l,int r){
return h1[r]-h1[l-1]*p1[r-l+1];
}
int main(){
p1[0]=1;
int k;cin>>k;
cin>>p;
cin>>s;
int m=p.length();
int n=s.length();
s="#"+s;p="#"+p;
for(int i=1;i<=n;i++){
h1[i]=h1[i-1]*P+s[i];
p1[i]=p1[i-1]*P;
}
for(int i=1;i+k-1<=n;i++){
mp[get(i,i+k-1)]++;
}
for(int i=1;i<=m;i++){
h1[i]=h1[i-1]*P+p[i];
}
for(int i=1;i+k-1<=m;i++){
ull g=get(i,i+k-1);
if(!st[g]){
st[g]++;
ans+=mp[g];
}
}
cout<<ans<<endl;
return 0;
}