Task: Question Answering
Input (English): Passage: William assembled a large invasion fleet and an army gathered from Normandy and all over France, including large contingents from Brittany and Flanders. He mustered his forces at Saint-Valery-sur-Somme and was ready to cross the Channel by about 12 August. The exact numbers and composition of William's force are unknown. A contemporary document claims that William had 726 ships, but this may be an inflated figure. Figures given by contemporary writers are highly exaggerated, varying from 14,000 to 150,000 men. Modern historians have offered a range of estimates for the size of William's forces: 7000-8000 men, 1000-2000 of them cavalry; 10,000-12,000 men; 10,000 men, 3000 of them cavalry; or 7500 men. The army would have consisted of a mix of cavalry, infantry, and archers or crossbowmen, with about equal numbers of cavalry and archers and the foot soldiers equal in number to the other two types combined. Although later lists of companions of William the Conqueror are extant, most are padded with extra names; only about 35 individuals can be reliably claimed to have been with William at Hastings. William of Poitiers states that William obtained Pope Alexander II's consent for the invasion, signified by a papal banner, along with diplomatic support from other European rulers. Although Alexander did give papal approval to the conquest after it succeeded, no other source claims papal support before the invasion. William's army assembled during the summer while an invasion fleet in Normandy was constructed. Although the army and fleet were ready by early August, adverse winds kept the ships in Normandy until late September. There were probably other reasons for William's delay, including intelligence reports from England revealing that Harold's forces were deployed along the coast. William would have preferred to delay the invasion until he could make an unopposed landing. 
Question: How many types of troops did William's army have? 
Answer type: Number 
Output (English): 3.