loop do
a,b,c = gets.split(" ").map(&:to_i)
break if a == 0 && b == 0 && c == 0
n = gets.to_i
# 初期状態はすべての部品が「わからない」(2)
buhins = Array.new(a+b+c) {2} # 部品iの状態がbuhins[i-1]
tests = Array.new(n) {gets.split(" ").map(&:to_i)}

# 正常な部品を検出する
tests.each do |test|
  if test[3] == 1
    0.upto(2) do |i|
      buhins[ test[i]-1 ] = 1
    end
  end
end

# 異常な部品を検出する
tests.each do |test|
  if test[3] == 0
    # 3個中2個の部品が正常なら残り一つが故障
    cnt = 0
    0.upto(2) {|i| cnt += 1 if buhins[ test[i]-1 ] == 1}
    if cnt == 2
      0.upto(2) {|i| if buhins[ test[i]-1 ] == 2 then buhins[test[i]-1]=0;break end}
    end
  end
end

puts buhins
end