// ½ºÆä¼È Ã¤Á¡ #3 : ÁØºñµÈ ÀÔ·Â°ú Ãâ·ÂÀÌ ¸ðµÎ ÇÊ¿äÇÏ°í, »ç¿ëÀÚÀÇ Ãâ·ÂÀ» ÀÌ¿ëÇÏ¿© Ã¤Á¡ÇÏ´Â ¿¹½Ã °æÂûÂ÷2 (770)

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int ax, ay, bx, by, n, m, x[1010], y[1010], k, D, d, d2;
int main(int argc, char *argv[])
{
    //from input file   ÁØºñµÈ ÀÔ·ÂÆÄÀÏ ÀÐ±â
    FILE *in = fopen(argv[1], "r");
    fscanf(in, "%d%d", &n, &m);
    for(int i = 0 ; i < m ; i++ ) fscanf(in, "%d%d", &x[i], &y[i]);
    ax = ay = 1;
    bx = by = n;

    //from output file ÁØºñµÈ Ãâ·ÂÆÄÀÏ ÀÐ±â
    FILE *inn = fopen(argv[2], "r");
    fscanf(inn, "%d", &D);

    //from user output file  »ç¿ëÀÚ Ãâ·ÂÆÄÀÏ ÀÐ±â
    FILE *innn = fopen(argv[3], "r");
    fscanf(innn, "%d", &d);
    if( D != d ) return puts("0"), 0;   // °Ë»ç ÈÄ ´äÀÌ Æ²¸± °æ¿ì ½ÇÆÐ! (ÀÌ ºÎºÐ Ã³¸®ÇÏ¿© ºÎºÐÁ¡¼öµµ ºÎ¿© °¡´É/ ´äÀº ¸ÂÀºµ¥ °æ·Î Æ²¸®´Â °æ¿ì ¹ÝÁ¡ µî..)
    for(int i = 0 ; i < m ; i++ )
    {
        int t;
        fscanf(innn, "%d", &t);
        if( t == 1 ) d2 += abs(ax-x[i]) + abs(ay-y[i]), ax = x[i], ay = y[i];
        else d2 += abs(bx-x[i]) + abs(by-y[i]), bx = x[i], by = y[i];
    }
    if( d == d2 ) puts("1");      // °æ·Î±îÁö ¸ðµÎ ¸ÂÀ¸¸é..
    else puts("0");               // Æ²¸± °æ¿ì ½ÇÆÐ 0 Ãâ·Â
    return 0;
}
