gen first dist