string $whatzPicked[] = `ls -sl`;

select -cl;

string $nonShapeKids[] = `ls -sl`;

for ($pkwkdnX=0; $pkwkdnX<size($whatzPicked); $pkwkdnX++)

  {

    select -r $whatzPicked[$pkwkdnX];

    string $kidz[] = `listRelatives -c $whatzPicked[$pkwkdnX]`;

    if (size($kidz) != 0)

      {

        pickWalk -d down;

        for ($pkwkdnY=0; $pkwkdnY<size($kidz); $pkwkdnY++)

          {

            string $tempKid[] = `ls -sl`;

            if (`gmatch $tempKid[0] "*Shape*"` == 1)

              pickWalk -d right;

          }

      }

    string $tempKid[] = `ls -sl`;

    $nonShapeKids[$pkwkdnX] = $tempKid[0];

    select -r $nonShapeKids;

  }