source code for 3~10