XML 38 R23.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Earnings Per Share | 12 Months Ended
--- | ---
Jan. 31, 2024
Earnings Per Share |
Earnings Per Share | Note 15 - 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 | ​ | 2024 | ​ | 2023 | ​ | 2022
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income for purposes of calculating basic and diluted earnings per share |  | 115,907 |  | 102,236 |  | 86,282
​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average shares outstanding |  | 85,068 |  | 84,791 |  | 84,591
Dilutive effect of employee stock options |  | 505 |  | 455 |  | 482
Dilutive effect of restricted and performance share units |  | 1,245 |  | 1,205 |  | 1,127
Weighted average common and common equivalent shares outstanding |  | 86,818 |  | 86,451 |  | 86,200
Earnings per share |  | ​ |  | ​ |  |
Basic |  | 1.36 |  | 1.21 |  | 1.02
Diluted |  | 1.34 |  | 1.18 |  | 1.00
​ For the years ended January 31, 2024, 2023 and 2022, the application of the treasury stock method excluded 16,562, 589,658 and 267,236 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, 2024, 2023 and 2022, 265,694, 1,315 and 1,000 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, 2024, 2023 and 2022, the application of the treasury stock method excluded PSUs and RSUs of 95,134, nil 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