US Senate narrowly passes first budget in four years