How Abilities in Large Language Models are Affected by Supervised Fine-tuning Data Composition