#include #include #include using namespace std; int main() { vector m_in, l_in; string in_str; while(cin >> in_str) m_in.push_back(in_str); l_in = vector(m_in); int m_c, l_c; for(int i = 0; i < m_in[0].size() && m_in.size() > 1; i++) { m_c = 0; for(int j = 0; j < m_in.size(); j++) { m_c += (m_in[j][i] == '1')?1:-1; } for(int j = 0; j < m_in.size() && m_in.size() > 1; j++) { if (((m_c>=0)?'0':'1')==m_in[j][i]) { m_in.erase(m_in.begin()+j); j--; } } } for(int i = 0; i < l_in[0].size() && l_in.size() > 1; i++) { l_c = 0; for(int j = 0; j < l_in.size(); j++) { l_c += (l_in[j][i] == '1')?1:-1; } for(int j = 0; j < l_in.size() && l_in.size() > 1; j++) { if (((l_c>=0)?'1':'0')==l_in[j][i]) { l_in.erase(l_in.begin()+j); j--; } } } cout << stoi(m_in[0],nullptr,2)*stoi(l_in[0],nullptr,2) << endl; return 0; }