How long do you need the solution? Are there any additional requirements? ARe you asking just about the definitions?
Regards,