Exponential algorithm