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()