from itertools import product
A = map(int, input().split())
B = map(int, input().split())
print(" ".join(map(str, product(A, B))))
itertools.permutations()
from itertools import permutations
s, k = input().split()
print("\n".join(sorted(map("".join, permutations(s, int(k))))))
itertools.combinations()
from itertools import combinations
s, k = input().split()
for i in range(int(k)):
print("\n".join(sorted("".join(sorted(each)) for each in combinations(s, i + 1))))
itertools.combinations_with_replacement()
from itertools import combinations_with_replacement
s, k = input().split()
print("\n".join(sorted("".join(sorted(each)) for each in combinations_with_replacement(s, int(k)))))
Compress The String!
from itertools import groupby
s = input()
print(" ".join(str((len(list(group)), int(value))) for value, group in groupby(s)))
Iterables and Iterators
from itertools import combinations
n = int(input())
letters = input().split()
k = int(input())
combos = list(combinations(letters, k))
print(len(list(each for each in combos if "a" in each)) / len(combos))
Maximize It!
from itertools import product
k, m = map(int, input().split())
arr = [list(map(lambda x: pow(int(x), 2), input().split()[1:])) for _ in range(k)]
print(max(map(lambda x: sum(x) % m, product(*arr))))