cHJvZ3JhbSBTaW1wbGVIYXNoCiAgICBpbXBsaWNpdCBub25lCgogICAgY2hhcmFjdGVyKGxlbj0qKSwgcGFyYW1ldGVyIDo6IHN0dWRlbnRfaWQgPSAmcXVvdDsyMDI0MDEzNDgmcXVvdDsKICAgIGNoYXJhY3RlcihsZW49KiksIHBhcmFtZXRlciA6OiBuYW1lID0gJnF1b3Q7S0FORSZxdW90OwoKICAgIGNoYXJhY3RlcihsZW49MTAwKSA6OiBkYXRhCiAgICBpbnRlZ2VyIDo6IGkKICAgIGludGVnZXIoa2luZD04KSA6OiBoYXNoCgogICAgZGF0YSA9IHRyaW0oc3R1ZGVudF9pZCkgLy8gdHJpbShuYW1lKQoKICAgIGhhc2ggPSAwCgogICAgZG8gaSA9IDEsIGxlbl90cmltKGRhdGEpCiAgICAgICAgaGFzaCA9IG1vZChoYXNoICogMzEgKyBpY2hhcihkYXRhKGk6aSkpLCAxMDAwMDAwMDA3XzgpCiAgICBlbmQgZG8KCiAgICBwcmludCAqLCAmcXVvdDtTdHVkZW50IElEID0gJnF1b3Q7LCBzdHVkZW50X2lkCiAgICBwcmludCAqLCAmcXVvdDtOYW1lICAgICAgID0gJnF1b3Q7LCBuYW1lCiAgICBwcmludCAqLCAmcXVvdDtIYXNoIFZhbHVlID0gJnF1b3Q7LCBoYXNoCgplbmQgcHJvZ3JhbSBTaW1wbGVIYXNo
program SimpleHash
implicit none
character(len=*), parameter :: student_id = "202401348"
character(len=*), parameter :: name = "KANE"
character(len=100) :: data
integer :: i
integer(kind=8) :: hash
data = trim(student_id) // trim(name)
hash = 0
do i = 1, len_trim(data)
hash = mod(hash * 31 + ichar(data(i:i)), 1000000007_8)
end do
print *, "Student ID = ", student_id
print *, "Name = ", name
print *, "Hash Value = ", hash
end program SimpleHash