// https://omegaup.com/arena/problem/Reconociendo-cadenas-generadas-L/
#include <iostream>
#include <string>

void espera(const std::string& cad, int& i, char terminal) {
   if (cad[i] == terminal) {
      ++i;
   } else {
      throw false;
   }
}

void intenta(const std::string& cad, int& i, char no_terminal) {
   if (no_terminal == 'S') {
      if (cad[i] == 'w' && cad[i + 1] == 'w') {
         i += 2;
         intenta(cad, i, 'T');
      } else {
         espera(cad, i, 'w');
         espera(cad, i, 'x');
         intenta(cad, i, 'S');
         espera(cad, i, 'y');
         intenta(cad, i, 'T');
         espera(cad, i, 'z');
      }
   } else if (no_terminal == 'T') {
      if (cad[i] == 'z') {
         ++i;
      } else {
         espera(cad, i, 'y');
         intenta(cad, i, 'T');
         intenta(cad, i, 'S');
      }
   }
}

int main( ) {
   std::string cad;
   while (std::cin >> cad) {
      try {
         int i = 0;
         intenta(cad, i, 'S');
         std::cout << (i == cad.size( )) << "\n";
      } catch (...) {
         std::cout << "0\n";
      }
   }
}
