#include <stdint.h>
#include <stdbool.h>
#define SPIRAL_MAP_CAP 64
#define SPIRAL_LOOP_CAP 16777216
static int32_t spiral_map_key[SPIRAL_MAP_CAP];
static int32_t spiral_map_val[SPIRAL_MAP_CAP];
static int32_t spiral_map_used[SPIRAL_MAP_CAP];
static int32_t spiral_map_lookup(int32_t key) {
    int32_t i;
    for (i = 0; i < SPIRAL_MAP_CAP; i++) {
        if (spiral_map_used[i] && spiral_map_key[i] == key) return spiral_map_val[i];
    }
    return 0;
}
static int32_t spiral_map_update(int32_t key, int32_t val) {
    int32_t i;
    int32_t free_slot = -1;
    for (i = 0; i < SPIRAL_MAP_CAP; i++) {
        if (spiral_map_used[i] && spiral_map_key[i] == key) { spiral_map_val[i] = val; return 0; }
        if (!spiral_map_used[i] && free_slot < 0) free_slot = i;
    }
    if (free_slot < 0) return 1;
    spiral_map_used[free_slot] = 1;
    spiral_map_key[free_slot] = key;
    spiral_map_val[free_slot] = val;
    return 0;
}
typedef struct { int32_t v0; int32_t v1; int32_t v2; } SpiralTuple0;
static SpiralTuple0 sp_method2(int32_t p0, int32_t p1, int32_t p2, int32_t p3) {
    int32_t v0 = p0;
    int32_t v1 = p1;
    int32_t v2 = p2;
    int32_t v3 = p3;
    for (int32_t spiral_trip = 0; spiral_trip < SPIRAL_LOOP_CAP; spiral_trip++) {
        int32_t v4 = 0;
        v4 = (v0 - 1);
        int32_t v5 = 0;
        v5 = (v1 + 1);
        int32_t v6 = 0;
        v6 = (v2 + 2);
        int32_t v7 = 0;
        v7 = (v3 + 3);
        bool v8 = false;
        v8 = (v4 == 0);
        if (v8) {
            return (SpiralTuple0){v5, v6, v7};
        } else {
            int32_t t585_4 = v4;
            int32_t t619_5 = v5;
            int32_t t653_6 = v6;
            int32_t t687_7 = v7;
            v0 = t585_4;
            v1 = t619_5;
            v2 = t653_6;
            v3 = t687_7;
            continue;
        }
    }
    return (SpiralTuple0){0};
}
static SpiralTuple0 sp_method1(int32_t p0) {
    int32_t v0 = p0;
    int32_t v1 = 0;
    v1 = 0;
    int32_t v2 = 0;
    v2 = 0;
    int32_t v3 = 0;
    v3 = 0;
    bool v4 = false;
    v4 = (v0 == 0);
    if (v4) {
        return (SpiralTuple0){v1, v2, v3};
    } else {
        return sp_method2(v0, v1, v2, v3);
    }
}
static int32_t sp_method0(int32_t p0) {
    int32_t v0 = p0;
    int32_t v1 = 0;
    int32_t v2 = 0;
    int32_t v3 = 0;
    SpiralTuple0 spiral_tuple126 = sp_method1(v0);
    v1 = spiral_tuple126.v0;
    v2 = spiral_tuple126.v1;
    v3 = spiral_tuple126.v2;
    bool v4 = false;
    v4 = (v1 == 3);
    bool v6 = false;
    if (v4) {
        bool v5 = false;
        v5 = (v2 == 6);
        v6 = v5;
    } else {
        v6 = false;
    }
    bool v8 = false;
    if (v6) {
        bool v7 = false;
        v7 = (v3 == 9);
        v8 = v7;
    } else {
        v8 = false;
    }
    if (v8) {
        return 0;
    } else {
        return 1;
    }
}
static int32_t spiral_main(void) {
    int32_t v0 = 0;
    v0 = 3;
    return sp_method0(v0);
}
int main(void) {
    return spiral_main();
}
