The calculated distance (air line) between Ma On Shan and Pui O is approximately 20 miles respectively 32 kilometers.
By car or train, the actual journey to Pui O is certainly longer, as only the direct route (as the crow flies) between Ma On Shan and Pui O has been calculated here.
Air line (approximately)
32 kilometers
17 nautical miles