shortest vector problem