/ separate into symbols sepsymb:{[x] ii: where x = ` $ "_"; ii: distinct 0, ii; z: ii _ x; y: (enlist z[0]), 1 _' 1 _ z; / take away the initial underbar everywhere y} intersect:{[x;y] x[where x in y]} x: "S"$ .z.x / drop q and the function name z: lower each sepsymb[x] z intersect over z