program main implicit none logical::isPrime(0:10000) logical::dp(0:10000) logical::is Integer::i,j,k,l,p=0,n Integer::primes(0:10000) logical::flag do i=0,size(isPrime) isPrime(i)=.true. end do isPrime(0)=.false. isPrime(1)=.false. do i=2,size(isPrime) if(isPrime(i)) then do j=2*i,size(isPrime),i isPrime(j)=.false. end do end if end do do i=0,size(isPrime) if(isPrime(i))then primes(p)=i p=p+1 end if end do do i=0,size(dp) dp(i)=.true. end do do i=2,size(dp) flag=.false. do j=0,p flag=flag .or. (i-primes(j)>=0 .and. .not. dp(i-primes(j))) if(flag)then exit end if end do dp(i)=flag end do read*,n if(dp(n))then print'("Win")' else print'("Lose")' end if end program main