cm:Level3TextBlock: us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
| Schedule of Weighted Average Number of Shares [Table Text Block] |
| us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock |
| Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit). |
| cm:Level3TextBlock |
| Text Block (HTML) (nonnum:textBlockItemType) |
| For Period (duration) |
| (no balance type) |
| false |
| us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock |
| WeightedAverageNumberOfShares |