         if looping_left.count != 0 || looping_right.count != 0 {
             return
         }
+        if _data.count < 2 {
+            if left.contains(right, hint: Set(0..<right.count).subtracting(overlap_r_index)) {
+                overlap = .superset
+            } else if right.contains(left, hint: Set(0..<left.count).subtracting(overlap_l_index)) {
+                overlap = .subset
+            }
+            return
+        }
+        
         func signCheck(_ p0: Point, _ p1: Point, _ q: Point) -> FloatingPointSign {
             
             let p0u = p0.unit

            return false
        }
        
        fatalError("Unimplement.")
    }
}



extension Shape.Component {
    
    fileprivate func contains(_ loop: Shape.Component, hint: Set<Int>) -> Bool {
        
        if !self.bigBound.contains(loop.boundary) {
            return false
