v3.25.1
Share-Based Compensation - Summary of Options Outstanding (Detail) - $ / shares
3 Months Ended
Apr. 30, 2025
Jan. 31, 2025
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Number of shares outstanding, total 361,549 421,699
Outstanding, Weighted Average Exercise Price $ 15.78  
Outstanding Remaining Contractual Life 1 year 10 months 24 days  
Number of shares exercisable, total 361,549  
Exercisable, Weighted Average Exercise Price $ 15.78  
Exercisable Remaining Contractual Life 1 year 10 months 24 days  
$10.01 - $15.00 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding Range of Exercise prices, Lower Limit $ 10.01  
Outstanding Range of Exercise prices, Upper Limit $ 15  
Outstanding, Number of shares 155,074  
Outstanding, Weighted Average Exercise Price $ 13.61  
Outstanding Remaining Contractual Life 1 year 2 months 12 days  
Exercisable, Number of shares 155,074  
Exercisable, Weighted Average Exercise Price $ 13.61  
Exercisable Remaining Contractual Life 1 year 2 months 12 days  
$15.01 - $20.00 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding Range of Exercise prices, Lower Limit $ 15.01  
Outstanding Range of Exercise prices, Upper Limit $ 20  
Outstanding, Number of shares 206,475  
Outstanding, Weighted Average Exercise Price $ 17.42  
Outstanding Remaining Contractual Life 2 years 4 months 24 days  
Exercisable, Number of shares 206,475  
Exercisable, Weighted Average Exercise Price $ 17.42  
Exercisable Remaining Contractual Life 2 years 4 months 24 days