XML 28 R17.htm IDEA: XBRL DOCUMENT
v3.22.2.2

NET INCOME PER SHARE | 9 Months Ended
--- | ---
Oct. 31, 2022
NET INCOME PER SHARE |
NET INCOME PER SHARE | NOTE 11 – NET INCOME PER SHARE Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended October 31,
​ |  | 2022 |  | 2021
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income | ​ | $ | 7,758 | ​ | $ | 12,393
​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average number of shares outstanding – basic | ​ | ​ | 13,781 | ​ | ​ | 15,774
Effect of stock awards (1) | ​ | ​ | 31 | ​ | ​ | 189
Weighted average number of shares outstanding – diluted | ​ | ​ | 13,812 | ​ | ​ | 15,963
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income per share | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ | $ | 0.56 | ​ | $ | 0.79
Diluted | ​ | $ | 0.56 | ​ | $ | 0.78
| (1) | For the three months ended October 31, 2022 and 2021, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 1,016,834 and 579,167 shares of common stock, respectively. |
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Nine Months Ended October 31,
​ |  | 2022 |  | 2021
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income | ​ | $ | 19,465 | ​ | $ | 36,029
​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average number of shares outstanding – basic | ​ | ​ | 14,268 | ​ | ​ | 15,757
Effect of stock awards (1) | ​ | ​ | 82 | ​ | ​ | 223
Weighted average number of shares outstanding – diluted | ​ | ​ | 14,350 | ​ | ​ | 15,980
​ | ​ | ​ | ​ | ​ | ​ | ​
Net income per share | ​ | ​ | ​ | ​ | ​ | ​
Basic | ​ | $ | 1.36 | ​ | $ | 2.29
Diluted | ​ | $ | 1.36 | ​ | $ | 2.25
| (1) | For the nine months ended October 31, 2022 and 2021, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 978,834 and 366,500 shares of common stock, respectively. |

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 -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -URI http://asc.fasb.org/topic&trid=2144383 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration