subroutine sreadP_RI(pname,X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
character(len=*) :: pname
real(8) :: X
integer :: Y1
integer,optional :: Y2,Y3,Y4,Y5,Y6,Y7,Y8
open(719,file=trim(adjustl(trim(pname))))
if(present(Y8))then
read(719,"(F21.12,8I15)")X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8
elseif(present(Y7))then
read(719,"(F21.12,7I15)")X,Y1,Y2,Y3,Y4,Y5,Y6,Y7
elseif(present(Y6))then
read(719,"(F21.12,6I15)")X,Y1,Y2,Y3,Y4,Y5,Y6
elseif(present(Y5))then
read(719,"(F21.12,5I15)")X,Y1,Y2,Y3,Y4,Y5
elseif(present(Y4))then
read(719,"(F21.12,4I15)")X,Y1,Y2,Y3,Y4
elseif(present(Y3))then
read(719,"(F21.12,3I15)")X,Y1,Y2,Y3
elseif(present(Y2))then
read(719,*)X,Y1,Y2
else
read(719,*)X,Y1
endif
close(719)
end subroutine sreadP_RI