ehm. there's nothing about threads in task description. but ok no problem I will implement it using threads