3차원 공간의 한 점에서 다른 점으로 이동한다. 공간에는 웜 튜브가 놓여 있고, 웜 튜브 하나는 선분이다. 여행자는 웜 튜브 위의 아무 점으로나 들어갈 수 있고 아무 점으로나 나올 수 있으며, 이 이동에는 시간이 전혀 걸리지 않는다. 웜 튜브 밖에서는 이동 시간이 이동 거리에 비례한다.
각 테스트 케이스마다 시작점에서 도착점까지 가는 경로 중 웜 튜브 밖에서 이동한 거리의 최솟값을 구한다.
첫째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫째 줄에는 웜 튜브의 개수 N이 주어진다. 다음 줄에는 경로의 시작점을 나타내는 정수 sx, sy, sz가 주어지고, 그 다음 줄에는 도착점을 나타내는 정수 ex, ey, ez가 주어진다.
이어서 N개의 줄이 주어진다. i번째 줄에는 정수 여섯 개 sxi, syi, szi, exi, eyi, ezi가 주어지며, 이는 i번째 웜 튜브의 두 끝점이다.
각 테스트 케이스마다 웜 튜브 밖에서 이동한 거리의 최솟값을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 하나씩, 입력 순서대로 출력한다.