XML 39 R24.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Earnings Per Share | 12 Months Ended
--- | ---
Jan. 31, 2025
Earnings Per Share |
Earnings Per Share | Note 16 - Earnings Per Share The following table sets forth the computation of basic and diluted earnings per share (“EPS”) (number of shares in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | January 31, |  | January 31, |  | January 31,
Year Ended | ​ | 2025 | ​ | 2024 | ​ | 2023
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income for purposes of calculating basic and diluted earnings per share |  | 143,273 |  | 115,907 |  | 102,236
​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average shares outstanding |  | 85,443 |  | 85,068 |  | 84,791
Dilutive effect of employee stock options |  | 587 |  | 505 |  | 455
Dilutive effect of restricted and performance share units |  | 1,293 |  | 1,245 |  | 1,205
Weighted average common and common equivalent shares outstanding |  | 87,323 |  | 86,818 |  | 86,451
Earnings per share |  | ​ |  | ​ |  | ​
Basic |  | 1.68 |  | 1.36 |  | 1.21
Diluted |  | 1.64 |  | 1.34 |  | 1.18
​ For the years ended January 31, 2025, 2024 and 2023, the application of the treasury stock method excluded 274,398, 16,562 and 589,658 stock options, respectively, from the calculation of diluted EPS as the assumed proceeds from the unrecognized stock-based compensation expense of such stock options that are attributed to future service periods made such stock options anti-dilutive. For the years ended January 31, 2025, 2024 and 2023, 939, 265,694 and 1,315 stock options, respectively, were excluded from the calculation of diluted EPS as those options had an exercise price greater than or equal to the average market value of our common shares during the applicable periods and their inclusion would have been anti-dilutive. Additionally, for the years ended January 31, 2025, 2024 and 2023, the application of the treasury stock method excluded PSUs and RSUs of nil, 95,134 and nil, respectively, from the calculation of diluted EPS as the unrecognized stock-based compensation expense of such PSUs and RSUs that are attributed to future service periods made such PSUs and RSUs anti-dilutive.

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org//260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration