XML 120 R103.htm IDEA: XBRL DOCUMENT v3.10.0.1
Earnings Per Share - Reconciliation of Shares Used to Calculate Basic and Diluted Earnings Per Share (Detail) - shares
3 Months Ended 12 Months Ended
Oct. 31, 2018
Jul. 31, 2018
Apr. 30, 2018
Jan. 31, 2018
Oct. 31, 2017
Jul. 31, 2017
Apr. 30, 2017
Jan. 31, 2017
Oct. 31, 2018
Oct. 31, 2017
Oct. 31, 2016
Class A Common Stock                      
Class of Stock [Line Items]                      
Basic (shares) 25,941,279 25,941,279 25,934,680 25,845,758 25,835,281 25,834,636 25,824,194 25,787,769 25,915,887 25,820,470 25,755,545
Assumed conversion of stock options and unvested shares (shares)                 49,969 2,470 1,348
Diluted (shares) 26,139,524 25,941,279 25,934,680 25,845,758 25,835,281 25,835,294 25,828,882 25,792,441 25,965,856 25,822,940 25,756,893
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,009,596 22,009,725 22,009,725 22,000,000 22,000,000 22,100,000
Diluted (shares) 22,007,725 22,007,725 22,007,725 22,007,725 22,007,725 22,009,596 22,009,725 22,009,725 22,000,000 22,000,000 22,100,000
Basic and diluted shares (shares)                 22,007,725 22,009,193 22,062,089