program main integer*8::N,M,K,i,j,l,src,dest integer*8,allocatable::road(:,:) integer*8,allocatable::list(:,:) integer*8,allocatable::keiro(:) integer*8,allocatable::han1(:),han2(:) integer*8::ryoukin, num, tmp read *,N,M,K allocate(road(3,M)) allocate(list(N,N)) allocate(keiro(K)) allocate(han1(N)) allocate(han2(N)) read *, road read *, keiro han1 = 1 han2 = 0 list(:,0) = 0 do i=1,N src = road(1,i) dest = road(2,i) list(src, 0) = list(src, 0) + 1 list(src, list(src, 0)) = dest list(dest, 0) = list(dest, 0) + 1 list(dest, list(dest, 0)) = src end do do i=1, K ryoukin = keiro(i) do j=1, N if(han1(j).eq.1) then tmp = list(j,0) do l=1, tmp han2(list(j,l)) = 1 end do end if end do han1 = han2 han2 = 0 end do num = SUM(han1) print '(i0)', num do i=1,N if(han1(i).eq.1) then num = num - 1 if(num.ne.0) then write(6,'(i0,a)',advance='no') i, " " else write(6,'(i0)') i end if end if end do end program main