integer,allocatable::a(:),shinkisei(:) integer::i,j,shinki=0 read *, N allocate(a(N)) allocate(shinkisei(N)) read *,a shinkisei = 1 num = 0 do i = 1, N if(shinkisei(i).eq.0) cycle do j=1,N if (a(i).eq.a(j)) then if (i.eq.j) cycle shinkisei(j) = 0 goto 100 end if end do shinki = shinki + 1 100 end do print '(i0)', shinki end program