This problem is well known.