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 |