#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
#include <cassert>
#include <algorithm>
#include <cstring>

using namespace std;

typedef vector<int> vi;
#define pb(x) push_back(x)

int main()
{
	//freopen("k.in","r",stdin);
	int k;
	while(scanf("%d",&k)==1){
		static int kk=0;
		kk++;
		
		getchar();
		string s1, s2;
		getline(cin, s1);
		getline(cin, s2);
		assert(s1.size()==s2.size());
		assert(s1.size()%k==0);
		int n=s1.size()/k;
		vector<vi> g(k, vi(k, 1));
		bool ok=true;
		for(int i=0; i<n; i++){
			int t=i*k;
			int cnt[26];
			memset(cnt,0,sizeof cnt);
			for(int j=0; j<k; j++){
				cnt[s1[t+j]-'a']++;
				cnt[s2[t+j]-'a']--;
			}
			bool found=false;
			for(int j=0; j<26; j++){
				if(cnt[j]!=0){
					found=true;
					break;
				}
			}
			if(found){
				ok=false;
				break;
			}
			for(int j=0; j<k; j++){
				for(int l=0; l<k; l++){
					g[j][l]=g[j][l]&&(s1[j+t]==s2[l+t]);
					//printf("%d ",int(s1[j+t]==s2[l+t]));
				}
				//printf("\n");
			}
			vi vis(k,0);
			for(int j=0; j<k; j++){
				int cnt=0, cnt2=0, ll=-1;
				for(int l=0; l<k; l++){
					if(g[j][l]){
						ll=l;
						cnt++;
					}
				}
				if(cnt==0){
					ok=false;
					break;
				}
				for(int l=0; l<k; l++){
					if(g[l][ll]){
						cnt2++;
					}
				}
				if(cnt!=cnt2){
					ok=false;
					break;
				}
			}
		}
		if(!ok){
			printf("0\n");
			continue;
		}
		/*
		for(int i=0; i<g.size(); i++){
			for(int j=0; j<g[i].size(); j++){
				printf("%d ",g[i][j]);
			}
			printf("\n");
		}
		*/
		vi a;
		for(int i=0; i<k; i++){
			int cnt=0;
			for(int j=0; j<k; j++){
				cnt+=g[i][j];
			}
			a.pb(cnt);
		}
		sort(a.begin(),a.end());
	//printf("a: ");		for(int i=0; i<a.size(); i++)printf("%d ",a[i]);printf("\n");
		long long ans=1;
		if(a[0]==0){
			printf("0\n");
			continue;
		}
		for(int i=0; i<a.size(); i++){
			int t=a[i], cnt=1;
			while(i+1<a.size()&&a[i+1]==t)i++,cnt++;
			//printf("cnt=%d, t=%d\n",cnt,t);
			assert(cnt%t==0);
			int tt=cnt/t;
			while(t){
				for(int i=0; i<tt; i++){
					ans*=t;
				}
				t--;
			}
			
		}
		printf("%lld\n",ans);
	}
}
