XML 117 R95.htm IDEA: XBRL DOCUMENT v3.20.4
Earnings Per Share - Reconciliation of Shares Used to Calculate Basic and Diluted Earnings Per Share (Details) - shares
3 Months Ended 12 Months Ended
Oct. 31, 2020
Jul. 31, 2020
Apr. 30, 2020
Jan. 31, 2020
Oct. 31, 2019
Jul. 31, 2019
Apr. 30, 2019
Jan. 31, 2019
Oct. 31, 2020
Oct. 31, 2019
Oct. 31, 2018
Class A common stock                      
Class of Stock [Line Items]                      
Basic (shares) 26,441,986 26,441,986 26,386,439 26,260,943 26,257,943 26,257,943 26,250,460 25,991,433 26,382,838 26,189,445 25,915,887
Assumed conversion of stock options and unvested shares (shares)                 7,805 25,666 49,969
Diluted (shares) 26,512,331 26,442,595 26,386,439 26,414,280 26,360,148 26,257,943 26,255,112 25,991,433 26,390,643 26,215,111 25,965,856
Class B common stock                      
Class of Stock [Line Items]                      
Basic (shares) 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,000,000.0 22,000,000.0 22,000,000.0
Diluted (shares) 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,000,000.0 22,000,000.0 22,000,000.0
Basic and diluted shares (shares)                 22,007,725 22,007,725 22,007,725