US federal debt passes $20 trillion for first time