January 6, 2020

Post puzzles for others to solve here.

January 6, 2020

Postby tarek » Mon Jan 06, 2020 1:37 am

Code: Select all
+-------+-------+-------+
| . . . | . . . | . . . |
| . . 1 | 2 3 4 | 5 . . |
| . 2 . | 6 . 5 | . 7 . |
+-------+-------+-------+
| . 5 8 | . . . | 3 1 . |
| . 6 . | . . . | . 5 . |
| . 1 7 | . . . | 8 2 . |
+-------+-------+-------+
| . 3 . | 7 . 2 | . 4 . |
| . . 2 | 1 4 3 | 9 . . |
| . . . | . . . | . . . |
+-------+-------+-------+
...........12345...2.6.5.7..58...31..6.....5..17...82..3.7.2.4...21439...........


Play this puzzle online

Download Sukaku Explainer latest release
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: January 6, 2020

Postby Leren » Mon Jan 06, 2020 5:42 am

Code: Select all
*------------------------------------------------------------*
| 345689  489  34569 | 89   1789  1789 | 1246   369   1234   |
| 679     79   1     | 2    3     4    | 5      69    8      |
| 3489    2    349   | 6    189   5    | 14     7     134    |
|--------------------+-----------------+---------------------|
| 249     5    8     | 49   2679  679  | 3      1     4679   |
| 2349    6    349   | 3489 12789 1789 | 47     5     479    |
| 349     1    7     | 3459 569   69   | 8      2     469    |
|--------------------+-----------------+---------------------|
| 5689-1  3    569   | 7    5689  2    |a16     4    e15     |
|c56-78   78   2     | 1    4     3    | 9     b68   d57     |
| 1456789 4789 4569  | 589  5689  689  | 27-16  38-6  237-15 |
*------------------------------------------------------------*

(1=6) r7c7 - r8c8 = (6-5) r8c1 = r8c9 - (5=1) r7c9 loop => - 1 r7c1, - 78 r8c1, - 16 r9c7, - 6 r9c8, - 15 r9c9; stte

Leren
Leren
 
Posts: 5040
Joined: 03 June 2012

Re: January 6, 2020

Postby Cenoman » Mon Jan 06, 2020 10:11 am

Another funny "square XY-loop" (yields bte finish only, so bad !)
Code: Select all
 +---------------------------+------------------------+-----------------------+
 |  345689    489    34569   |  89     1789    1789   |  1246   39-6  1234    |
 |  67-9     a79     1       |  2      3       4      |  5     d69    8       |
 |  3489      2      349     |  6      189     5      |  14     7     134     |
 +---------------------------+------------------------+-----------------------+
 |  249       5      8       |  49     2679    679    |  3      1     4679    |
 |  2349      6      349     |  3489   12789   1789   |  47     5     479     |
 |  349       1      7       |  3459   569     69     |  8      2     469     |
 +---------------------------+------------------------+-----------------------+
 |  15689     3      569     |  7      5689    2      |  16     4     15      |
 |  567-8    b78     2       |  1      4       3      |  9     c68    57      |
 |  1456789  *489-7 *4569    | *589   *5689   *689    |  1267   38-6  12357   |
 +---------------------------+------------------------+-----------------------+

(9=7)r2c2 - (7=8)r8c2 - (8=6)r8c8 - (6=9)r2c8@ => -8 r8c1, -9 r2c1, -6 r19c8, -7 r9c2; bte (5-Naked set 45689r9 =>+3r9c8; ste, or HT 127r9 => -3 r9c9...)
Cenoman
Cenoman
 
Posts: 2749
Joined: 21 November 2016
Location: France

Re: January 6, 2020

Postby eleven » Mon Jan 06, 2020 10:34 am

Almost hidden triple:
Code: Select all
 *----------------------------------------------------------------------------*
 |  345689    489    34569   |  89     1789    1789   |  1246   369   1234    |
 |  679      c79     1       |  2      3       4      |  5     d69    8       |
 |  3489      2      349     |  6      189     5      |  14     7     134     |
 |---------------------------+------------------------+-----------------------|
 |  249       5      8       |  49     2679    679    |  3      1     4679    |
 |  2349      6      349     |  3489   12789   1789   |  47     5     479     |
 |  349       1      7       |  3459   569     69     |  8      2     469     |
 |---------------------------+------------------------+-----------------------|
 |  15689     3      569     |  7      5689    2      |  16     4     15      |
 |  5678      78     2       |  1      4       3      |  9     d68    57      |
 | a1456789  b4789   4569    |  589    5689    689    | a1267  d368  a1257-3  |
 *----------------------------------------------------------------------------*

127r9c179 = 7r9c2 - (7=9)r2c2 - (9=683)r289c8 => -3r9c9, stte
eleven
 
Posts: 3094
Joined: 10 February 2008

Re: January 6, 2020

Postby tarek » Mon Jan 06, 2020 1:16 pm

Code: Select all
+-------------------------+-------------------------+-------------------------+
| 34568-9 *489    3456-9  | 89      178-9   1789    | 1246    369     1234    |
| 67-9    *79      1      | 2       3       4       | 5       69      8       |
|*3489    2      *349     | 6      *189     5       | 14      7       134     |
+-------------------------+-------------------------+-------------------------+
| 249     5       8       | 49      267-9    679    | 3       1       4679    |
| 2349    6       349     | 3489    1278-9   1789   | 47      5       479     |
| 349     1       7       | 3459    56-9     69     | 8       2       469     |
+-------------------------+-------------------------+-------------------------+
|*15689   3      *569     | 7      *5689    2       | 16      4       15      |
| 5678    78      2       | 1       4       3       | 9       68      57      |
|145678-9 *4789   456-9   | 589     568-9    689    | 1267    368     12357   |
+-------------------------+-------------------------+-------------------------+
Grouped L1-Ring r19c135,r2c1,r456c5<>9
or Mutant Swordfish 9r37c2\c5b17
btte (X-wing, Pair, intersections)


Or a more brutal equivalent:

Code: Select all
+-------------------------+-------------------------+-------------------------+
| 34568-9 *489    3456-9  | 89      178-9   1789    | 1246    369     1234    |
| 67-9    *79      1      | 2       3       4       | 5       69      8       |
|*3489    2      *349     | 6      *189     5       | 14      7       134     |
+-------------------------+-------------------------+-------------------------+
| 249     5       8       | 49      267-9    679    | 3       1       4679    |
| 2349    6       349     | 3489    1278-9   1789   | 47      5       479     |
| 349     1       7       | 3459    56-9     69     | 8       2       469     |
+-------------------------+-------------------------+-------------------------+
| 15689   3       569     | 7      *5689    2       | 16      4       15      |
| 5678    78      2       | 1       4       3       | 9       68      57      |
|145678-9 *4789   456-9   |*589    *568-9   *689    | 1267    368     12357   |
+-------------------------+-------------------------+-------------------------+
Grouped L1-Ring  r19c135,r2c1,r456c5<>9
or Cannibalistic Mutant Swordfish  9r3c2b8\r9c5b1
btte (X-wing, Pair, intersections)
Spotting the grouped strong link in b8 with the cannibalistic elimination is as tough as it gets
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: January 6, 2020

Postby Mauriès Robert » Mon Jan 06, 2020 9:08 pm

Hi,
Congratulations to Eleven for his ultra fast resolution!
Another way to eliminate 3r9c9 for a stte is as follows:
P'(3r3c9) : -3r3c9-> --- -> 3r9c8 (see diagram)
Code: Select all
                   ->2r1c7->2r9c9->3r9c8
                 /
-3r3c9->14r3c79->
                 \
                   ->6r1c7->1r7c7->4r3c7->7r5c7->
                       \          \              \
                        \          ->1r9c1->      \
                         \                  \      \
                           ->9r2c8->7r2c2---->7r8c1-->7r9c9->3r9c8
Last edited by Mauriès Robert on Thu Jan 09, 2020 7:26 am, edited 1 time in total.
Mauriès Robert
 
Posts: 585
Joined: 07 November 2019
Location: France

Re: January 6, 2020

Postby SpAce » Mon Jan 06, 2020 10:23 pm

Hi tarek,

tarek wrote:Grouped L1-Ring r19c135,r2c1,r456c5<>9
or Mutant Swordfish 9r37c2\c5b17
btte (X-wing, Pair, intersections)
...
Grouped L1-Ring r19c135,r2c1,r456c5<>9
or Cannibalistic Mutant Swordfish 9r3c2b8\r9c5b1
btte (X-wing, Pair, intersections)[/code]Spotting the grouped strong link in b8 with the cannibalistic elimination is as tough as it gets

Beautiful examples of L1-Rings! Also a very nice example of a cannibalistic elimination with a mixed rank (0/1) fish.

One minor point. It's not "btte" if you need an X-Wing (not a basic technique as per our definitions) :) I guess it could be called "sstste" instead.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: January 6, 2020

Postby Wecoc » Tue Jan 07, 2020 12:01 am

I'm late but couldn't resist that one. When I saw the puzzle I thought it was a donut, but now I get it... it's a Ring! :lol:

Anyway, I found you can also do this one from the very start (copied directly from HoDoKu):

Code: Select all
Franken Jellyfish: 9 r37b46 c1359 => r1c1359,r2c19,r4569c5,r9c13<>9

This badass fish eliminates 12 candidates at once...
Sadly you still need X-Wings later so it's still not a stte, but I thought it may be interesting to point that one out anyways :roll:
Wecoc
 
Posts: 76
Joined: 08 April 2019
Location: Girona, Catalonia

Re: January 6, 2020

Postby SpAce » Tue Jan 07, 2020 2:14 am

Hi Wecoc,

Wecoc wrote:Anyway, I found you can also do this one from the very start (copied directly from HoDoKu):

Code: Select all
Franken Jellyfish: 9 r37b46 c1359 => r1c1359,r2c19,r4569c5,r9c13<>9

This badass fish eliminates 12 candidates at once...
Sadly you still need X-Wings later so it's still not a stte, but I thought it may be interesting to point that one out anyways :roll:

It's nice, but tarek's L1-Rings and Mutant Swordfishes get the same exact eliminations arguably more simply. This is a good example of the fact that there are usually several different fishes with the same effects. They can be converted into each other quite easily using Obi-Wahn's arithmetic.

For example, your fish (r37b46\c1359) converted into tarek's first fish (r37c2\c5b17):

Code: Select all
r37b46   \  c1359    +c2
r37c2b46 \  c12359    c123 -> b147
r37c2b46 \  c59b147  -b4
r37c2b6  \  c59b17    c9 -> b6
r37c2b6  \  c5b167   -b6
r37c2    \  c5b17

It means that those two fishes (among many others) are equal for all practical purposes. When you have such equal fishes, the smallest and simplest variants are usually preferred. In this case tarek's fish is smaller (3x3 vs 4x4) but yours is technically simpler (Franken vs Mutant). However, in practice tarek's fish is simpler both ways because it can be seen and written as a (relatively) simple loop.

That said, nothing wrong with yours. I just kind of doubt that many human solvers can spot such creatures easily. On the other hand, tarek's loops (which are also mutant fishes) are relatively easy to find, like chains in general, even though they're a bit hidden due to the heavy grouping. Because of that tendency I actually think mutant fishes are in many cases easier to spot and to understand than frankens, despite being technically more complicated.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: January 6, 2020

Postby tarek » Tue Jan 07, 2020 8:50 am

Wecoc wrote:I thought it was a donut, but now I get it... it's a Ring! :lol:
Well spotted!!!
SpAce wrote:One minor point. It's not "btte" if you need an X-Wing (not a basic technique as per our definitions)
I think I may have read somebody's post that said that N-tuples + basic N-fishes are btte and that btte + wings is SSTS (simple sudoku techniques set). Thanks for clarification
SpAce wrote: I just kind of doubt that many human solvers can spot such creatures easily
with more vertices in that NxN fish filled, it will be more & more difficult to spot it as a loop with strong links … The example of grouped 2x2x2x2 Jellyfish of whatever shape could possibly be easier to spot than some 3x3x3 swordfishes. In Latin Square where we lose the boxes, unless the fish is 2x2x(… Size of fish), it will always be difficult to spot unless you rely on some clever observations (missing candidates, arrangement of clues)

tarek
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: January 6, 2020

Postby SpAce » Tue Jan 07, 2020 10:43 pm

tarek wrote:I think I may have read somebody's post that said that N-tuples + basic N-fishes are btte and that btte + wings is SSTS (simple sudoku techniques set). Thanks for clarification

No problem. There has been confusion about that before, though I'm pretty sure the convention has always been the same. I guess the previously standard term "lclste" was somewhat less ambiguous -- at least for those who could decipher what it meant. That said, there used to be similar confusion with that too, and in any case "btte" is much nicer to use and probably more intuitive to understand (if one knows what "stte" means). Problem is, it requires knowing what techniques are considered basic, but it seems that almost all conventions (including Hodoku, SudokuWiki, Robert's TDP, etc) limit them to singles, locked candidates, and disjoint subsets.

I understand the confusion, though, because it could be argued that basic fishes are logically equivalent to disjoint subsets, and in practice an X-Wing is often easier to spot than a quad or even a triple. So perhaps the convention is more or less arbitrary. I still think it probably makes the most sense all things considered, as most manual players are much more likely to spot a quad than a (non-minimal) Jellyfish. It can be expected that a decent manual player can relatively easily spot all singles, locked candidates, and disjoint subsets, but not necessarily all basic fishes without significantly more effort and a good technique.

with more vertices in that NxN fish filled, it will be more & more difficult to spot it as a loop with strong links … The example of grouped 2x2x2x2 Jellyfish of whatever shape could possibly be easier to spot than some 3x3x3 swordfishes.

My point exactly. At least for me, the 2x2x2x2 Jellyfish would almost certainly be easier to spot than a 3x3x3 Swordfish, because I'd find it as a loop. Anytime some vertices are spread into more than two boxes within a line, there's no longer even a grouped strong link available, and thus no (non-branching) loop possibility.

In Latin Square where we lose the boxes, unless the fish is 2x2x(… Size of fish), it will always be difficult to spot unless you rely on some clever observations (missing candidates, arrangement of clues)

Exactly. Without boxes there can be no group links at all, so the only easy fishes are simple X-Loops (2x2... types). Then again, chains are much easier to spot in general because all angles are 90 degrees and there's one fewer link type to consider. On the other hand, variants like X-Sudoku make it more complicated (and fruitful) with the extra linking possibilities.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: January 6, 2020

Postby tarek » Wed Jan 08, 2020 1:44 pm

I may look at adding the Cannibalistic elimination feature to Sukaku explainer. I'm skeptical on adding the opposite which is the endofin as we would have a situation where you think you have an X-Loop when actually you don't
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: January 6, 2020

Postby SpAce » Thu Jan 09, 2020 4:27 am

Hi tarek,

tarek wrote:I may look at adding the Cannibalistic elimination feature to Sukaku explainer. I'm skeptical on adding the opposite which is the endofin as we would have a situation where you think you have an X-Loop when actually you don't

What kind of situation is that? I can't imagine how I could ever think I'd have an X-Loop when I don't :D More specifically, I don't see how the presence of an endofin could go unnoticed by someone looking at the chain/loop perspective, because it's clearly a net instead of a simple chain.

That said, endofins are pretty complex features, and rarely if ever necessary because most of the time simpler equivalent fishes exist. The same is mostly true about cannibalistic eliminations, though they're much simpler. Of course both can exist at the same time too. I'm not really sure why you'd want to have one but not the other, as both have educational value (even if they should be normally avoided). If one understands endofins, then one can also understand base triplets in XSudo parlance. I think that's valuable.

Btw, here's a couple more cannibalistic variants (cannibal eliminations marked with ^):

Code: Select all
             9C2                   [9B28]                  9C8
.-------------------------.-----------------------.-------------------.
| 34568-9   *489   3456-9 | *89    ^178-9   *1789 | 1246  *369  1234  | 9r1
| 67-9      *79    1      |  2      3        4    | 5     *69   8     | 9r2
| 3489       2     349    |  6     *189      5    | 14     7    134   |
:-------------------------+-----------------------+-------------------:
| 249        5     8      |  49     267-9    679  | 3      1    4679  |
| 2349       6     349    |  3489   1278-9   1789 | 47     5    479   |
| 349        1     7      |  3459   56-9     69   | 8      2    469   |
:-------------------------+-----------------------+-------------------:
| 15689      3     569    |  7     *5689     2    | 16     4    15    |
| 5678       78    2      |  1      4        3    | 9      68   57    |
| 145678-9  *4789  456-9  | *589   ^568-9   *689  | 1267   368  12357 | 9r9
'-------------------------'-----------------------'-------------------'
                                    9c5

(Cannibal) Mutant Jellyfish: 9'C28B28\r129c5 => -9 r1c13,r2c1,r9c13,r456c5,^r19c5

4x4 SPM: Show
Code: Select all
  9r1      9r2     9r9      9c5
-------------------------------------
 9r1c2    9r2c2   9r9c2              | C2
 9r1c345                   9r3c5     | B2
 9r1c8    9r2c8                      | C8
                  9r9c456  9r7c5     | B8
-------------------------------------
-9r1c13  -9r2c1  -9r9c13  -9r19456c5

Code: Select all
   9c1               9c3              9c5
.---------------------------.-----------------------.------------------.
|  34568-9    489    3456-9 |  89     178-9    1789 | 1246  369  1234  |
|  67-9       79     1      |  2      3        4    | 5     69   8     |
| *3489       2     *349    |  6     *189      5    | 14    7    134   |  9R3
:---------------------------+-----------------------+------------------:
| *249        5      8      |  49     267-9    679  | 3     1    4679  |
| *2349       6     *349    |  3489   1278-9   1789 | 47    5    479   | [9B4]
| *349        1      7      |  3459   56-9     69   | 8     2    469   |
:---------------------------+-----------------------+------------------:
| *15689      3     *569    |  7     *5689     2    | 16    4    15    |
|  5678       78     2      |  1      4        3    | 9     68   57    | [9B78]
| ^145678-9  *4789  ^456-9  | *589   ^568-9   *689  | 1267  368  12357 |  9r9
'---------------------------'-----------------------'------------------'

(Cannibal) Mutant Jellyfish: 9'R3B478\r9c135 => -9 r12c1,r1c3,r1456c5,^r9c135

4x4 SPM: Show
Code: Select all
  9c1      9c3     9c5       9r9
-----------------------------------
 9r3c1    9r3c3   9r3c5            | 9R3
 9r456c1  9r5c3                    | 9B4
 9r79c1   9r79c3            9r9c2  | 9B7
                  9r79c5    9r9c46 | 9B8
-----------------------------------
-9r12c1  -9r1c3  -9r1456c5 -9r9c135

And your original looping cannibal:

Code: Select all
              9C2                     9c5
.---------------------------.-----------------------.------------------.
|  34568-9   *489    3456-9 |  89     178-9    1789 | 1246  369  1234  |
|  67-9      *79     1      |  2      3        4    | 5     69   8     | [9b1]
| *3489       2     *349    |  6     *189      5    | 14    7    134   |  9R3
:---------------------------+-----------------------+------------------:
|  249        5      8      |  49     267-9    679  | 3     1    4679  |
|  2349       6      349    |  3489   1278-9   1789 | 47    5    479   |
|  349        1      7      |  3459   56-9     69   | 8     2    469   |
:---------------------------+-----------------------+------------------:
|  15689      3      569    |  7     *5689     2    | 16    4    15    |
|  5678       78     2      |  1      4        3    | 9     68   57    | [9B8]
|  145678-9  *4789   456-9  | *589   ^568-9   *689  | 1267  368  12357 |  9r9
'---------------------------'-----------------------'------------------'

(Cannibal) Grouped L1-Ring: 9r3c5 = r3c13 - r12c2 = r9c2 - r9c456 = 9r7c5 - loop => -9r1456c5,9b1p134,9r9c13,^9r9c5

(Cannibal) Mutant Swordfish: 9'R3C2B8\r9c5b1 => -9r1456c5,9b1p134,9r9c13,^9r9c5

3x3 SPM/TM: Show
Code: Select all
  9c5        9b1      9r9
-----------------------------
 9r3c5      9r3c13           | 9R3
            9r12c2   9r9c2   | 9C2
 9r7c5               9r9c456 | 9B8
-----------------------------
-9r14569c5 -9b1p134 -9r9c13

As we know, we also have plenty of non-cannibalistic fishes that are equivalent, so there's no real reason to use any of the above. First, your original, and imho the simplest possible fish here:

Code: Select all
              9C2                    9c5
.---------------------------.---------------------.------------------.
|  34568-9   *489    3456-9 | 89     178-9   1789 | 1246  369  1234  |
|  67-9      *79     1      | 2      3       4    | 5     69   8     | [9b1]
| *3489       2     *349    | 6     *189     5    | 14    7    134   |  9R3
:---------------------------+---------------------+------------------:
|  249        5      8      | 49     267-9   679  | 3     1    4679  |
|  2349       6      349    | 3489   1278-9  1789 | 47    5    479   |
|  349        1      7      | 3459   56-9    69   | 8     2    469   |
:---------------------------+---------------------+------------------:
| *15689      3     *569    | 7     *5689    2    | 16    4    15    |  9R7
|  5678       78     2      | 1      4       3    | 9     68   57    | [9b7]
|  145678-9  *4789   456-9  | 589    568-9   689  | 1267  368  12357 |
'---------------------------'---------------------'------------------'

Grouped L1-Ring: 9r3c5 = r3c13 - r12c2 = r9c2 - r7c13 = 9r7c5 - loop => -9 r14569c5,b1p134,b7p79

Mutant Swordfish: 9'R37C2\c5b17 => -9 r14569c5,b1p134,b7p79

3x3 SPM/TM: Show
Code: Select all
  9c5        9b1      9b7
----------------------------
 9r3c5      9r3c13          | 9R3
            9r12c2   9r9c2  | 9C2
 9r7c5               9r7c13 | 9R7
----------------------------
-9r14569c5 -9b1p134 -9b7p79

Technically this is simpler because it's the same size but Franken:

Code: Select all
   c1               c3              c5
.--------------------------.---------------------.------------------.
|  34568-9   489    3456-9 | 89     178-9   1789 | 1246  369  1234  |
|  67-9      79     1      | 2      3       4    | 5     69   8     |
| *3489      2     *349    | 6     *189     5    | 14    7    134   |  R3
:--------------------------+---------------------+------------------:
| *249       5      8      | 49     267-9   679  | 3     1    4679  |
| *2349      6     *349    | 3489   1278-9  1789 | 47    5    479   | [B4]
| *349       1      7      | 3459   56-9    69   | 8     2    469   |
:--------------------------+---------------------+------------------:
| *15689     3     *569    | 7     *5689    2    | 16    4    15    |  R7
|  5678      78     2      | 1      4       3    | 9     68   57    |
|  145678-9  4789   456-9  | 589    568-9   689  | 1267  368  12357 |
'--------------------------'---------------------'------------------'

Franken Swordfish: 9'R37B4\c135 => -9 r129c1,r19c3,r14569c5

3x3 SPM: Show
Code: Select all
  9c1      9c3     9c5
---------------------------
 9r3c1    9r3c3   9r3c5    | 9R3
 9r456c1  9r5c3            | 9B4
 9r7c1    9r7c3   9r7c5    | 9R7
---------------------------
-9r129c1 -9r19c3 -9r14569c5

However, despite being "just" Franken, and pretty simple as such, I think it's harder to spot than your looping Mutant. The difference is easy to see in the matrix form, one being a basic triangle (indicating a non-branching chain/loop) and the other not. Perhaps it could be spotted more easily if specifically looking for fishes, but since I rarely do that, I'd be much more likely to find the one that forms a simple loop.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: January 6, 2020

Postby tarek » Fri Jan 10, 2020 8:56 am

When the Weak link (Cover sector) is a box that links 2 grouped strong links in a line intersecting at the "heart cell" as I call it. That heart cell is the endofin if it has a candidate in that situation. It is the cannibalistic elimination if it was an empty rectangle (base sector). I'm avoiding both of these situations in Sukaku explainer at the moment by disallowing any base sector intersection & ignoring any cover sector intersection.

I've given you an example of the cannibalistic elimination. I need to find an example with an endofin now!

tarek
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006


Return to Puzzles