v3.26.3
Note 11 - Treasury Stock and Repurchase Program - Treasury Stock at Cost (Details) - USD ($)
1 Months Ended 3 Months Ended
Jul. 31, 2026
Jun. 30, 2026
May 31, 2026
Jul. 31, 2026
Jul. 31, 2025
Balance (in shares)     613,807 613,807  
Balance, cost assigned     $ 16,575,000 $ 16,575,000  
Balance, average cost per share (in dollars per share)     $ 27 $ 27  
Balance, aggregate purchase price remaining under the program $ 1,202,000 $ 1,232,000 $ 1,291,000 $ 1,291,000  
May 31, 2026 (in shares) 300 906 1,714    
May 31, 2026 $ 11,000 $ 30,000 $ 59,000 100,000 $ 59,000
May 31, 2026 (in dollars per share) $ 35.7 $ 33.24 $ 34.05    
May 31, 2026 $ 1,989,000 $ 1,202,000 $ 1,232,000 $ 1,989,000  
Balance (in shares) 616,727     616,727  
Balance, cost assigned $ 16,675,000     $ 16,675,000  
Balance, average cost per share (in dollars per share) $ 27.04     $ 27.04  
Balance, aggregate purchase price remaining under the program $ 1,989,000 $ 1,202,000 $ 1,232,000 $ 1,989,000