export {}; const input = require("fs").readFileSync(0).toString().trim().split("\n"); const [x1, y1, x2, y2]: number[] = input[0].split(" ").map(Number); const [x3, y3, x4, y4]: number[] = input[1].split(" ").map(Number); const compare = (A: number[], B: number[]): boolean => { if(A[0] < B[0]) return true; else if(A[0] === B[0]) return A[1] <= B[1]; return false; } const crossProduct = (A: number[], B: number[], C: number[]): number => { const op: number = (B[0] - A[0]) * (C[1] - A[1]) - (B[1] - A[1]) * (C[0] - A[0]); if(op > 0) return 1; else if(op < 0) return -1; return 0; } let A: number[] = [x1, y1], B: number[] = [x2, y2]; if(!compare(A, B)) [A, B] = [B, A]; let C: number[] = [x3, y3], D: number[] = [x4, y4]; if(!compare(C, D)) [C, D] = [D, C]; let ans: number = 0; const crossABCD: number = crossProduct(A, B, C) * crossProduct(A, B, D); const crossCDAB: number = crossProduct(C, D, A) * crossProduct(C, D, B); if((crossABCD === 0 && crossCDAB === 0)) { if(compare(A,D) && compare(C,B)) ans = 1; } else if(crossABCD <= 0 && crossCDAB <= 0) { ans = 1; } console.log(ans);