XML 56 R45.htm IDEA: XBRL DOCUMENT v3.25.4
Net Income per Common Share - Reconciliation of Numerator and Denominator of Basic and Diluted Per Share (Detail) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jan. 31, 2026
Jan. 31, 2025
Jan. 31, 2026
Jan. 31, 2025
Earnings Per Share [Line Items]        
Net income $ 48,051 $ 40,334 $ 101,987 $ 87,117
Denominator for basic income per share for both Class A and Class B 47,310 47,851 47,291 47,792
Plus: Effect of dilutive equity awards 428 455 443 469
Denominator for diluted income per share for both Class A and Class B 47,738 48,306 47,734 48,261
Class A Nonvoting Common Stock        
Earnings Per Share [Line Items]        
Basic $ 1.02 $ 0.84 $ 2.16 $ 1.82
Diluted $ 1.01 $ 0.83 $ 2.14 $ 1.81
Class B Voting Common Stock        
Earnings Per Share [Line Items]        
Preferential dividends $ 0 $ 0 $ 728 $ 736
Preferential dividends on dilutive stock options 0 0 (8) (8)
Numerator for basic and diluted income per Class B Voting Common Share $ 48,051 $ 40,334 $ 101,251 $ 86,373
Basic $ 1.02 $ 0.84 $ 2.14 $ 1.81
Diluted $ 1.01 $ 0.83 $ 2.12 $ 1.79