# Two samurai generals are discussing dinner plans after a battle, but they can't seem to agree.

The discussion gets heated and you are cannot risk favoring either of them as this might damage your political standing with either of the two clans the samurai generals belong to. Thus, the only thing left to do is find what the common ground of what they are saying is.

Compare the proposals with the following function: 
```python
def common_ground(s1,s2)
```

The parameters ```s1``` and ```s2``` are the strings representing what each of the generals said. You should output a string containing the words in ```s1``` that also occur in ```s2```.

Each word in the resulting string shall occur once, and the order of the words need to follow the order of the first occurence of each word in ```s2```.

If they are saying nothing in common, kill both samurai and blame a ninja. (output "death")

Difficulty: introductory

Starter code:

def common_ground(s1,s2):
	

Solutions:
def common_ground(s1,s2):
    lst = []
    for w in s2.split():
        if w in s1.split() and w not in lst:
            lst.append(w)
    return ' '.join(lst) if lst else "death"

def common_ground(s1,s2):
    words = s2.split()
    return ' '.join(sorted((a for a in set(s1.split()) if a in words),
                           key=lambda b: words.index(b))) or 'death'


def common_ground(s1, s2):
    s1, s2 = set(s1.split()), s2.split()
    return " ".join(sorted((set(s2) & s1), key=s2.index)) or "death"

def common_ground(s1, s2):
    s1, s2 = set(s1.split()), s2.split()
    return " ".join(sorted((word for word in set(s2) if word in s1), key=s2.index)) or "death"


def common_ground(s1,s2):
    ret = [i for i in set(s1.split()) if i in s2.split()]
    if len(ret) == 0: return 'death'
    return ' '. join(sorted(ret, key=lambda x: (s2.split()).index(x) ))

def common_ground(s1,s2):
    return " ".join(sorted(set(s1.split(" ")).intersection(s2.split(" ")), key=s2.split(" ").index)) or "death"

from collections import OrderedDict


def common_ground(s1, s2):
    xs = set(s1.split())
    return ' '.join(x for x in OrderedDict.fromkeys(s2.split()) if x in xs) or 'death'

from collections import OrderedDict
def common_ground(s1,s2):
    return " ".join(filter(set(s1.split()).__contains__, OrderedDict.fromkeys(s2.split()))) or "death"

from collections import OrderedDict
def common_ground(s1,s2):
    s = " ".join(w for w in OrderedDict.fromkeys(s2.split()) if w in s1.split())
    return s if s else "death"

from collections import OrderedDict
def common_ground(s1,s2):
    s3 = []
    [s3.append(i) for i in s2.split() if i in s1.split()]

    if len(s3) == 0:
        return 'death'
    else:
        return ' '.join(OrderedDict.fromkeys(s3))