using System;
using System.Collections.Generic;
using System.Linq;
 
public class Test
{
 
	public static void Main()
	{
        var list1 = new List<int>() { 1, 2, 3, 4 };
        var list2 = new List<int>() { 2, 3, 5, 6, 7, 8 };
        var list3 = new List<int>() { 3, 4, 5 };
        var all = new List<List<int>>() { list1, list2, list3 };
 
        int min = all.Min(l => l.Min());
        var max = all.Max(l => l.Max());
        int count = max - min + 1;
 
        List<int?> l1Result = new List<int?>(count);
        List<int?> l2Result = new List<int?>(count);
        List<int?> l3Result = new List<int?>(count);
 
        foreach (int val in Enumerable.Range(min, count))
        {
            if (list1.BinarySearch(val) >= 0)
                l1Result.Add(val);
            else
                l1Result.Add(new Nullable<int>());
 
            if (list2.BinarySearch(val) >= 0)
                l2Result.Add(val);
            else
                l2Result.Add(new Nullable<int>());
 
            if (list3.BinarySearch(val) >= 0)
                l3Result.Add(val);
            else
                l3Result.Add(new Nullable<int>());
        }
 
        Console.WriteLine(string.Join(",", l1Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
        Console.WriteLine(string.Join(",", l2Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
        Console.WriteLine(string.Join(",", l3Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
	}
}
				dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CgoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgICAgIHZhciBsaXN0MSA9IG5ldyBMaXN0PGludD4oKSB7IDEsIDIsIDMsIDQgfTsKICAgICAgICB2YXIgbGlzdDIgPSBuZXcgTGlzdDxpbnQ+KCkgeyAyLCAzLCA1LCA2LCA3LCA4IH07CiAgICAgICAgdmFyIGxpc3QzID0gbmV3IExpc3Q8aW50PigpIHsgMywgNCwgNSB9OwogICAgICAgIHZhciBhbGwgPSBuZXcgTGlzdDxMaXN0PGludD4+KCkgeyBsaXN0MSwgbGlzdDIsIGxpc3QzIH07CgogICAgICAgIGludCBtaW4gPSBhbGwuTWluKGwgPT4gbC5NaW4oKSk7CiAgICAgICAgdmFyIG1heCA9IGFsbC5NYXgobCA9PiBsLk1heCgpKTsKICAgICAgICBpbnQgY291bnQgPSBtYXggLSBtaW4gKyAxOwogICAgICAgIAogICAgICAgIExpc3Q8aW50Pz4gbDFSZXN1bHQgPSBuZXcgTGlzdDxpbnQ/Pihjb3VudCk7CiAgICAgICAgTGlzdDxpbnQ/PiBsMlJlc3VsdCA9IG5ldyBMaXN0PGludD8+KGNvdW50KTsKICAgICAgICBMaXN0PGludD8+IGwzUmVzdWx0ID0gbmV3IExpc3Q8aW50Pz4oY291bnQpOwogICAgICAgIAogICAgICAgIGZvcmVhY2ggKGludCB2YWwgaW4gRW51bWVyYWJsZS5SYW5nZShtaW4sIGNvdW50KSkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChsaXN0MS5CaW5hcnlTZWFyY2godmFsKSA+PSAwKQogICAgICAgICAgICAgICAgbDFSZXN1bHQuQWRkKHZhbCk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGwxUmVzdWx0LkFkZChuZXcgTnVsbGFibGU8aW50PigpKTsKICAgICAgICAKICAgICAgICAgICAgaWYgKGxpc3QyLkJpbmFyeVNlYXJjaCh2YWwpID49IDApCiAgICAgICAgICAgICAgICBsMlJlc3VsdC5BZGQodmFsKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgbDJSZXN1bHQuQWRkKG5ldyBOdWxsYWJsZTxpbnQ+KCkpOwogICAgICAgIAogICAgICAgICAgICBpZiAobGlzdDMuQmluYXJ5U2VhcmNoKHZhbCkgPj0gMCkKICAgICAgICAgICAgICAgIGwzUmVzdWx0LkFkZCh2YWwpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsM1Jlc3VsdC5BZGQobmV3IE51bGxhYmxlPGludD4oKSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCIsIiwgbDFSZXN1bHQuU2VsZWN0KGkgPT4gIWkuSGFzVmFsdWUgPyAiTlVMTCIgOiBpLlZhbHVlLlRvU3RyaW5nKCkpLlRvQXJyYXkoKSkpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCIsIiwgbDJSZXN1bHQuU2VsZWN0KGkgPT4gIWkuSGFzVmFsdWUgPyAiTlVMTCIgOiBpLlZhbHVlLlRvU3RyaW5nKCkpLlRvQXJyYXkoKSkpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCIsIiwgbDNSZXN1bHQuU2VsZWN0KGkgPT4gIWkuSGFzVmFsdWUgPyAiTlVMTCIgOiBpLlZhbHVlLlRvU3RyaW5nKCkpLlRvQXJyYXkoKSkpOwoJfQp9
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		1,2,3,4,NULL,NULL,NULL,NULL
NULL,2,3,NULL,5,6,7,8
NULL,NULL,3,4,5,NULL,NULL,NULL