XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS        
REVENUES $ 141,349 $ 118,110 $ 245,024 $ 218,387
Cost of revenues 117,607 93,723 207,058 174,262
GROSS PROFIT 23,742 24,387 37,966 44,125
Selling, general and administrative expenses 10,501 10,984 21,092 21,559
INCOME FROM OPERATIONS 13,241 13,403 16,874 22,566
Other income, net 4,118 505 3,489 1,100
INCOME BEFORE INCOME TAXES 17,359 13,908 20,363 23,666
Income tax expense 4,592 9,686 5,487 11,959
NET INCOME 12,767 4,222 14,876 11,707
Foreign currency translation adjustments (185) (687) 255 (1,951)
Net unrealized losses on available-for-sale securities (683)   (720)  
COMPREHENSIVE INCOME $ 11,899 $ 3,535 $ 14,411 $ 9,756
NET INCOME PER SHARE        
Basic (in dollars per share) $ 0.95 $ 0.30 $ 1.11 $ 0.81
Diluted (in dollars per share) $ 0.94 $ 0.30 $ 1.10 $ 0.80
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING        
Basic 13,403 14,134 13,408 14,516
Diluted 13,542 14,247 13,544 14,616
CASH DIVIDENDS PER SHARE $ 0.25 $ 0.25 $ 0.50 $ 0.50