push with while and do while