Seifert - van Kampen theorem