#!/usr/bin/env python3
import collections
import itertools
import sys
rules = collections .defaultdict ( set )
for line in sys .stdin :
# Do actual CSV parsing here.
name, rule = line.strip ( ) .split ( "," )
rules[ name] .add ( rule)
for i, j in itertools .combinations ( rules, 2 ) :
intersection = rules[ i] & rules[ j]
if intersection:
print ( "Groups {} and {} have intersection {}" .format (
i,
j,
intersection
) )
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwppbXBvcnQgY29sbGVjdGlvbnMKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgc3lzCgpydWxlcyA9IGNvbGxlY3Rpb25zLmRlZmF1bHRkaWN0KHNldCkKZm9yIGxpbmUgaW4gc3lzLnN0ZGluOgogICAgIyBEbyBhY3R1YWwgQ1NWIHBhcnNpbmcgaGVyZS4KICAgIG5hbWUsIHJ1bGUgPSBsaW5lLnN0cmlwKCkuc3BsaXQoIiwiKQogICAgcnVsZXNbbmFtZV0uYWRkKHJ1bGUpCgpmb3IgaSwgaiBpbiBpdGVydG9vbHMuY29tYmluYXRpb25zKHJ1bGVzLCAyKToKICAgIGludGVyc2VjdGlvbiA9IHJ1bGVzW2ldICYgcnVsZXNbal0KICAgIGlmIGludGVyc2VjdGlvbjoKICAgICAgICBwcmludCgiR3JvdXBzIHt9IGFuZCB7fSBoYXZlIGludGVyc2VjdGlvbiB7fSIuZm9ybWF0KAogICAgICAgICAgICBpLAogICAgICAgICAgICBqLAogICAgICAgICAgICBpbnRlcnNlY3Rpb24KICAgICAgICApKQo=
stdin
QSxydWxlMQpCLHJ1bGUxCkMscnVsZTIKQSxydWxlMgpCLHJ1bGUyCkQscnVsZTEKQixydWxlMwo=
A,rule1
B,rule1
C,rule2
A,rule2
B,rule2
D,rule1
B,rule3