Three charred, 21 injured as bus catches fire after accident