But politics proved too hard for Trump to resist on a day he spent pleading for Republican senators to vote to advance his long-promised health care overhaul and watching his son-in-law Jared Kushner being grilled on Capitol Hill about contacts with Russia.

"Tonight we put aside all of the policy fights in Washington, D.C. you've been hearing about with the fake news and all of that," he told the teenaged boys, sitting state by state in brightly coloured t-shirts.

"You know, I go to Washington and I see all these politicians and I see the swamp and it's not a good place," said Mr Trump.