#include <bits/stdc++.h>
using namespace std;
long long dp[100001];
string s;
long long dp2[100001];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> s;
  dp2[1] = 1;
  dp2[2] = 2;
  dp2[3] = 3;
  dp2[4] = 5;
  for (int i = 5; i <= 100000; i++) {
    dp2[i] = dp2[i - 1] + dp2[i - 2];
    dp2[i] %= (1000000007);
  }
  long long res = 1;
  int cnt = 0, lastn = -1, lastu = -1;
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == 'w' || s[i] == 'm') {
      cout << 0 << endl;
      return 0;
    }
    if (s[i] == 'u') {
      if (lastu == -1) {
        lastu = i;
      }
      if (lastn != -1) {
        res *= dp2[i - lastn];
        res %= (1000000007);
        lastn = -1;
      }
    } else if (s[i] == 'n') {
      if (lastn == -1) {
        lastn = i;
      }
      if (lastu != -1) {
        res *= dp2[i - lastu];
        res %= (1000000007);
        lastu = -1;
      }
    } else {
      if (lastu != -1) {
        res *= dp2[i - lastu];
        res %= (1000000007);
        lastu = -1;
      } else if (lastn != -1) {
        res *= dp2[i - lastn];
        res %= (1000000007);
        lastn = -1;
      }
    }
  }
  if (lastu != -1) {
    res *= dp2[s.length() - lastu];
    res %= (1000000007);
    lastu = -1;
  } else if (lastn != -1) {
    res *= dp2[s.length() - lastn];
    res %= (1000000007);
    lastn = -1;
  }
  cout << res << endl;
}
