This is almost my final version (for contest)