#include <bits/stdc++.h>

using namespace std;
bool jepalindrom(char a[],int u,int v)
{
    for(int i=u-1;i<v-1;i++)
        if(a[i]!=a[v-2-(i-(u-1))] or a[i]=='0')
        return false;
    return true;
}
int main()
{
    cin.tie(0);
    cout.tie(0);
    int n,q,t,u,v;
    cin>>n>>q;
    char c,a[n-1];
    for(int i=0;i<n-1;i++)
        a[i]='0';
    while(q--)
    {
        cin>>t;
        if(t==1)
        {
            cin>>u>>v>>c;
            a[min(u,v)-1]=c;
        }
        if(t==2)
        {
            cin>>u>>v;
            if(jepalindrom(a,min(u,v),max(u,v)))
                cout<<1<<endl;
            else
                cout<<0<<endl;
        }
    }
}