import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Sample141 {
	public final int a;
	public final int b;
	public final int c;

	private final Set<Integer> accepted_ = new HashSet<Integer>();
	private final List<List<Integer>> noGood_ = new ArrayList<List<Integer>>();

	public Sample141(int a, int b, int c) {
		this.a = a;
		this.b = b;
		this.c = c;
	}
	public void addTestResult(final int i, final int j, final int k, int r) {
		if (r == 0) {
			noGood_.add(new ArrayList<Integer>() {{add(i); add(j); add(k);}});
		} else {
			accepted_.add(i);
			accepted_.add(j);
			accepted_.add(k);
		}
	}


	public int[] calc() {
		Set<Integer> rejected = checkRejected();
		int[] result = new int[a + b + c];
		for (int index = 0; index < result.length; index++) {
			if (accepted_.contains(index + 1)) {
				result[index] = 1;	// OK
			} else if (rejected.contains(index + 1)) {
				result[index] = 0;	// NG
			} else {
				result[index] = 2;	// UnKnown
			}
		}
		return result;
	}
	private Set<Integer> checkRejected() {
		Set<Integer> rejected = new HashSet<Integer>();
		for (List<Integer> list: noGood_) {
			for (Integer integer: list.toArray(new Integer[0])) {
				if (accepted_.contains(integer)) {
					list.remove(integer);
				}
			}
			if (list.size() == 1) {
				rejected.addAll(list);
			}
		}
		return rejected;
	}


	public static void main(String[] args) {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		try {
			String[] counts = reader.readLine().split("\\s");
			Sample141 sample = new Sample141(Integer.parseInt(counts[0]), Integer.parseInt(counts[1]), Integer.parseInt(counts[2]));
			int n = Integer.parseInt(reader.readLine());
			for (int index = 0; index < n; index++) {
				String[] test = reader.readLine().split("\\s");
				sample.addTestResult(Integer.parseInt(test[0]), Integer.parseInt(test[1]), Integer.parseInt(test[2]), Integer.parseInt(test[3]));
			}

			int[] result = sample.calc();
			for (int res: result) {
				System.out.println(res);
			}
		} catch (IOException ex) {
			ex.printStackTrace();
		}
	}
}