Direct product of groups