// 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"; 
      } 
   } 
}