REQUIREMENTS OF ALGORITHM