diff --git a/count_cdc.py b/count_cdc.py
index 8ed6121903f0ddb79a2c3fbdc092d9ff6281c15d..68b3cb80ed9622d2504c89637fcaf6d64a5182b5 100755
--- a/count_cdc.py
+++ b/count_cdc.py
@@ -7,19 +7,22 @@ from graph_tools.misc import count_cdc_naive
 from sage.all import Graph
 from parmap import parmap
 
-def process(g6):
-  g6 = g6.rstrip()
-  G = Graph(g6)
+def process(l):
+  j = json.loads(l)
+  G = Graph(j["graph"])
   ret = count_cdc_naive(G)
-  return json.dumps({
-    "graph": g6,
+
+  j.update({
     "cdc_count": ret[0],
     "n": G.num_verts(),
     "expected_cdc_lowerbound": ret[1],
     "is_ok": (ret[0] >= ret[1])
   })
 
-inp = [ l for l in sys.stdin ]
+  return json.dumps(j)
+
+inp = os.fdopen(sys.stdin.fileno())
+sys.stdin = None
 
 nprocs = int(os.getenv("NPROCS", "0")) or None
 for ret in parmap(process, inp, nprocs=nprocs, in_order=False):