v3.26.1
Earnings Per Share and Cash Dividends - Schedule of Number of Shares Used in Calculating Basic and Diluted Earnings Per Share (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2026
Jul. 31, 2025
Jul. 31, 2026
Jul. 31, 2025
Weighted average common shares outstanding:        
Basic 22,347 22,286 22,271 22,276
Effect of dilutive securities:        
Stock awards and options to purchase shares of common stock 738 285 653 203
Diluted 23,085 22,571 22,924 22,479