open System let ri () = stdin.ReadLine() |> int let ria () = stdin.ReadLine().Split() |> Array.map int type Sol() = member this.Solve() = let [| N; xLB; xRB |] = ria() let Enemy : (int[] []) = Array.zeroCreate N for i in 0..(N-1) do Enemy.[i] <- ria() let mutable maxv : int[] = Array.zeroCreate 1281 let mutable midx : int[] = Array.init 1281 (fun i -> -1) for i in 0..(N-1) do for b in (max xLB Enemy.[i].[0])..(min xRB Enemy.[i].[2]) do if maxv.[b] < Enemy.[i].[3] then maxv.[b] <- Enemy.[i].[3] midx.[b] <- i let ans = Array.init N (fun i -> 0) for i in 0..1280 do if midx.[i] <> -1 then ans.[midx.[i]] <- 1 ans |> Array.iter (fun n -> printfn "%d" n) () let mySol = new Sol() mySol.Solve()