Case 1: If xS ≠ xD, yS ≠ yD, and zS ≠ zD 3 Routing vectors of Lopt length R1,1 = (−x)*(−y)*(−z)*, R1,2 = (−y)*(−z)*(−x)*, R1,3 = (−z)*(−x)*(−y)* One routing vector of (Lopt + 4) length R1,4 = +x (−y)* (−z)* (−x)* Case 2: If xS ≠ xD, yS ≠ yD, and zS = zD 2 routing vectors of Lopt length R2,1 = (−x)*(−y)*, R2,2 = (−y)*(−x)* One routing vector of (Lopt + 2) length R2,4 = z−(−x)*(−y)*z+ One routing vector of (Lopt + 4) length R2,5 = +x (−y)*+ (−x)*−y Case 3: If xS ≠ xD, yS = yD, and zS ≠ zD 2 routing vectors of Lopt length R3,1 = (−x)*(−z)*, R3,2 = (−z)*(−x)* 2 routing vectors of (Lopt + 2) length R3,3 = y+ (−x)*(−z)*y−, R3,4 = y− (−x)*(−z)*y+ Case 4: If xS ≠ xD, yS = yD, and zS = zD One routing vector of Lopt length R4,1 = (−x)* 3 routing vectors of (Lopt + 2) length R4,2 = y+ (−x)*y−, R4,3 = y− (−x)*y+, R4,5 = z− (−x)*z+ Case 5: If xS = xD, yS ≠ yD, and zS ≠ zD 2 routing vectors Lopt length R5,1 = (−y)* (−z)*, R5,2 = (−z)* (−y)* 2 routing vectors of (Lopt + 2) length R5,3 = x+ (−y)*(−z)*x−, R5,4 = x− (−y)*(−z)*x+ Case 6: If xS = xD, yS ≠ yD, and zS = zD One routing vector of Lopt length R6,1 = (−y)* 3 routing vectors of (Lopt + 2) length R6,2 = x+ (−y)*x−, R6,3 = x− (−y)*x+, R6,5 = z− (−y)*z+ Case 7: If xS = xD, yS = yD, and zS ≠ zD One routing vector of Lopt length R7,1 = (−z)* 3 Routing vectors of (Lopt + 2) length R7,2 = x+ (−z)*x−, R7,3 = x− (−z)*x+, R7,4 = y+ (−z)*y−