integer :: v(8),i
integer, parameter :: m(48) = (/&
                     32,68,111,110,39,116,32,102,111,114,103,101,116,32,116,111,&
                     32,115,101,110,100,32,68,97,110,105,101,108,32,97,32,98,&
                     105,114,116,104,100,97,121,32,109,101,115,115,97,103,101,33/)
integer, parameter :: c(49) = (/&
                     32,120,111,120,111,120,111,120,111,32,77,101,114,114,121,32,&
                     67,104,114,105,115,116,109,97,115,32,102,114,111,109,32,115,&
                     112,108,97,115,104,33,32,120,111,120,111,120,111,120,111,120,111/)
integer, parameter :: d(49) = (/&
                     32,79,111,79,111,79,111,79,32,83,80,76,65,83,72,32,119, &
                     105,115,104,101,115,32,121,111,117,32,97,32,118,101,114,121,32,104,&
                     97,112,112,121,32,33,32,79,111,79,111,79,111,79/)
integer, parameter :: l(45) = (/&
                     64,130,64,216,222,220,206,64,232,210,218,202,64,194,&
                     206,222,64,210,220,64,194,64,206,194,216,194,240,242,64,204,194,&
                     228,88,64,204,194,228,64,194,238,194,242,92,92,92/)
integer, parameter :: a(49) = (/&
                     32,83,101,103,109,101,110,116,97,116,105,111,110,32,&
                     102,97,117,108,116,46,32,80,108,101,97,115,101,32,114,101,98,111,&
                     111,116,32,121,111,117,114,32,99,111,109,112,117,116,101,114,46/)
integer, parameter :: s(48)=(/&
                     64,138,228,228,222,228,116,64,230,224,216,194,230,208,64,&
                     200,210,202,200,92,64,160,216,202,194,230,202,64,228,202,196,222,&
                     222,232,64,242,222,234,228,64,198,222,218,224,234,232,202,228/)
integer, parameter :: p(53)=(/&
                     12,7,10,13,10,14,18,11,15,14,12,14,17,18,16,18,12,11,12,&
                     17,13,15,11,15,13,12,12,17,12,11,16,18,14,9,11,17,17,13,10,18,16,10,15,&
                     18,12,18,18,12,16,14,10,9,14/)

call date_and_time(values=v)
if (v(2)==m(1)/4 .and. v(3)==v(2)-2) then
   print "(/,48(a))",(achar(m(i)),i=1,48),achar(10)
elseif (v(2)==(m(1)-20) .and. v(3)>20) then
   print "(/,49(a))",(achar(c(i)),i=1,49),achar(10)
elseif (v(2)==nint(0.6) .and. v(3)==d(2)/79) then
   print "(/,40(a),i4,9(a))",(achar(d(i)),i=1,40),v(1),(achar(d(i)),i=41,49),achar(10)
elseif (v(2)==l(1)-59 .and. v(3)==l(1)/4**2) then
   print "(/,45(a))",(achar(l(i)/2),i=1,45),achar(10)
elseif (v(2)==a(14)/8 .and. v(3)==int(1.3) .and. v(5) < (l(1)-16)/4) then
   print "(/,49(a))",(achar(a(i)),i=1,49),achar(10)
elseif (v(2)==(s(5)+78)/100+1 .and. v(3)==nint(sqrt(1.5)) .and. v(5) < s(1)/5.3) then
   print "(/,48(a))",(achar(s(i)/2),i=1,48),achar(10)
elseif ((v(2)==int(0.25*p(1)) .and. v(3)==p(6)) .or. (abs(v(3)/real(v(2))-4.*atan(1.)) < 1.3e-3)) then
   print "(/,1x,53(a))",(achar(p(i)+39),i=1,53),achar(10)
else
   print *,' This library is a part of SPLASH, a visualisation tool'
   print *,' for Smoothed Particle Hydrodynamics written by Daniel Price'
endif
