Groupoid Semigroup Monoid Group