#include <bits/stdc++.h>
using namespace std;
const int N(1010), MOD(1000000000 + 7);
int n, k;
string a, b;
int add(int x, int y) { return (x + y) % MOD; }
int mul(long long x, long long y) { return x * y % MOD; }
int main() {
  cin >> a >> b >> k;
  n = a.size();
  int f1 = 1, f2 = 0;
  for (int i = int(0); i < int(k); ++i) {
    int _f1 = mul(f2, n - 1), _f2 = add(f1, mul(f2, n - 2));
    f1 = _f1;
    f2 = _f2;
  }
  a = a + a;
  int ans = 0;
  for (int i = int(0); i < int(n); ++i)
    if (a.substr(i, n) == b) ans = add(ans, i ? f2 : f1);
  cout << ans << endl;
  return 0;
}
