program main implicit none integer :: prime_numbers(26) = (/2, 3, 5, 7, 11, 13, 17, 19, 23, 29, & 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, & 73, 79, 83, 89, 97, 101/) integer :: i integer(16) :: A_num = 1, B_num = 1 character(10) :: A, B read *, A read *, B ! A を数値化 do i = 1, len_trim(A) A_num = A_num * prime_numbers(iachar(A(i:i)) - iachar('a') + 1) end do ! B を数値化 do i = 1, len_trim(A) B_num = B_num * prime_numbers(iachar(B(i:i)) - iachar('a') + 1) end do if (A_num == B_num) then print *, 'YES' else print *, 'NO' end if end program main