Task-tailored Pre-processing: Fair Downstream Supervised Learning