#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <cmath>
#define ffor(_a,_f,_t) for(int _a=(_f),__t=(_t);_a<__t;_a++)
#define all(_v) (_v).begin() , (_v).end()
#define sz size()
#define pb push_back
#define SET(__set, val) memset(__set, val, sizeof(__set))
#define FOR(__i, __n) ffor (__i, 0, __n)

using namespace std;

const int MAXN = 100001;

int a[MAXN];

char str[MAXN + 10];

int main(){

  long long A, B, C;
  int op;
  scanf("%lld %lld %lld %d", &A, &B, &C, &op);
    
  bool good = false;
  if (op == 1){
    if (A + B == C)
      good = true;
  }
  else if (op == 2){
    if (A - B == C)
      good = true;
  }
  else if (op == 3){
    if (B == 0 && C == 0)
      good = true;
    if (B != 0){
      op = 4;
      swap(A, C); // turn the problem into div
    }
  }
  if (op == 4){
    if (B != 0 && A % B == 0 && A / B == C)
      good = true;
  }
  
  if (good)
    printf("1\n");
  else
    printf("0\n");
  return 0;
}
