XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Oct. 31, 2023
Oct. 31, 2022
Oct. 31, 2023
Oct. 31, 2022
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS        
REVENUES $ 163,755 $ 117,875 $ 408,779 $ 336,262
Cost of revenues 144,520 95,667 351,578 269,929
GROSS PROFIT 19,235 22,208 57,201 66,333
Selling, general and administrative expenses 11,375 12,667 32,467 34,226
INCOME FROM OPERATIONS 7,860 9,541 24,734 32,107
Other income, net 3,733 768 7,222 1,868
INCOME BEFORE INCOME TAXES 11,593 10,309 31,956 33,975
Income tax expense 6,129 2,551 11,616 14,510
NET INCOME 5,464 7,758 20,340 19,465
Foreign currency translation adjustments (882) (650) (627) (2,601)
Net unrealized losses on available-for-sale securities (427)   (1,147)  
COMPREHENSIVE INCOME $ 4,155 $ 7,108 $ 18,566 $ 16,864
NET INCOME PER SHARE        
Basic (in dollars per share) $ 0.41 $ 0.56 $ 1.52 $ 1.36
Diluted (in dollars per share) $ 0.40 $ 0.56 $ 1.50 $ 1.36
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING        
Basic (in shares) 13,328 13,781 13,381 14,268
Diluted (in shares) 13,559 13,812 13,549 14,350
CASH DIVIDENDS PER SHARE $ 0.30 $ 0.25 $ 0.80 $ 0.75