find greatest commen divider