#include <iostream>
#include <cmath>
#include <algorithm>
#include <ctime>
#include <string>
#include <vector>
#include <sstream>

using namespace std;

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> ii;
#define sz(a) int((a).size())
#define pb push_back
#define all(c) (c).begin(),(c).end()
#define tr(c,i) \
    for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define present(c,x) ((c).find(x) != (c).end())
#define cpresent(c,x) (find(all(c),x) != (c).end())

int eval(int n, int p)
{
    string x = "";
    while(n > 0){
        if (n%2 == 0)
            x = '0' + x;
        else
            x = '1' + x;
        n/=2;
    }
    p = sz(x) - p - 1;
    return (x[p] == '1' ? 1 : 0);
}

int main()
{
    freopen("DATA1.txt", "r", stdin);
    freopen("OUT1.txt", "w", stdout);
    int a, b;
    for (int i = 0; i < 5; i++){
        cin >> a >> b;
        cout << eval(a, b) << endl;
    }

    return 0;
}

