Nick Cannon fired from Viacom