XML 58 R43.htm IDEA: XBRL DOCUMENT
v3.21.1

Note 16 - Earnings Per Share (Tables) | 12 Months Ended
--- | ---
Jan. 31, 2021
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
Year Ended |  |  | January 31, 2021 |  |  |  | January 31, 2020 |  |  |  | January 31, 2019 |
Net income for purposes of calculating basic and diluted earnings per share |  |  | 52,100 |  |  |  | 36,997 |  |  |  | 31,277 |
Weighted average shares outstanding |  |  | 84,360 |  |  |  | 81,659 |  |  |  | 76,832 |
Dilutive effect of employee stock options |  |  | 358 |  |  |  | 318 |  |  |  | 205 |
Dilutive effect of restricted and performance share units |  |  | 1,038 |  |  |  | 890 |  |  |  | 754 |
Weighted average common and common equivalent shares outstanding |  |  | 85,756 |  |  |  | 82,867 |  |  |  | 77,791 |
Earnings per share |  |  |  |  |  |  |  |  |  |  |  |
Basic |  |  | 0.62 |  |  |  | 0.45 |  |  |  | 0.41 |
Diluted |  |  | 0.61 |  |  |  | 0.45 |  |  |  | 0.40 |

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

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