#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define ff first
#define ss second
#define maxi_par first.first
#define mini_par first.second
#define maxi_impar second.first
#define mini_impar second.second

typedef long long ll;
typedef pair<ll, ll> pii;
typedef pair<pair<ll, ll>, pair<ll, ll>> S;

const ll mod = 1e9+7;
const int N = 2*1e5+8;
const int bits = 21;
const int dim = 1<<bits;
const int init = 1e9;

bitset<N> carac[60];
int cnt[60];
mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int m,  b, l, r, p, q, n, T;

    cin>>n>>m>>p;
    string s;

    vector<ll> a(n);
    for(int i = 0; i<n; ++i) {
        cin>>s;
        for(int j = 0; j<m; ++j) {
            if(s[j] == '1') a[i] ^= (1ll << (m-j-1));
        }
    }

    shuffle(a.begin(), a.end(), mt);

    string rta(m, '0');
    int maxi = 0;
    for(int elegido = 0; elegido < 7 && elegido < a.size(); ++elegido) {
        vector<int> posiciones;
        for(int i = 0; i<m; ++i) {
            if(a[elegido] & (1ll << i)) {
                posiciones.pb(i);
            }
        }

        vector<int> cnt(1<<posiciones.size());
        for(auto x: a) {
            int val = 0;
            for(int i = 0; i<posiciones.size(); ++i) {

                if(x &  (1ll<<posiciones[i])) val+=(1<<i);
            }
            cnt[val]++;
        }

        for(int i = posiciones.size()-1; i>= 0; --i) {
            for(int j = cnt.size()-1; j>= 0; --j) {
                if( (j & (1<<i)) == 0) {
                    cnt[j]+= cnt[j+(1<<i)];
                }
            }
        }
        int mm = -1;
        for(int i = 0; i<cnt.size(); ++i) {
            if(cnt[i]*2 >= n && __builtin_popcount(i) > maxi) {
                mm = i;
            }
        }
        if(mm >= 0) {
            maxi = __builtin_popcount(mm);
            for(int i = 0; i<m; ++i) rta[i] = '0';
            for(int i = 0; i<posiciones.size(); ++i) {
                if(mm & (1<<i)) {
                    rta[m-posiciones[i]-1] = '1';
                }
            }

        }
    }

    cout<<rta<<"\n";

}