[Question]
  [
In the [standard loopholes](https://codegolf.meta.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default), the following is [forbidden](https://codegolf.meta.stackexchange.com/a/1071/48934):
> 
> Claiming that your answer is written in "MyOwnLanguage", where the command `x` means "read a sequence of numbers, split them into groups of three, and print the last numbers of those groups where the second number is less than the first"
> 
> 
> 
Here, we are going to do the exact same thing.
# Task
Given a sequence of positive integers, whose length is divisible by 3, split them into groups of three, and print the last numbers of those groups where the second number is less than the first.
# Testcases
```
Input               Output
[]                  []
[1,2,3,4,5,6,7,8,9] []
[2,1,3,5,4,6,8,7,9] [3,6,9]
[3,1,4,1,5,9,2,6,5] [4]
[100,99,123]        [123]
[123,123,456]       []
[456,123,789]       [789]
```
# Scoring
This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'"). Shortest answer in bytes wins.
[Standard loopholes](https://codegolf.meta.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default) apply, so remember not to have a built-in command `x` that does this task.
  
[Answer]
# Octave, 32 bytes
```
@(L)L(x=3:3:end)(diff(L)(x-2)<0)
```
[Try it online!](https://tio.run/nexus/octave#@@@g4aPpo1Fha2xlbJWal6KpkZKZlgYU06jQNdK0MdD8n2arkJhXbM2VphFtpGOoY6xjqmOiY6ZjoWOuYxmryfUfAA "Octave – TIO Nexus")
or
[Verify test cases!](https://tio.run/nexus/octave#Zc9RCoMwDADQ/5yiny1kYFtbV52wA3gD6cdAC@LmxnQgiGd3qYMxWCAfeSQh2c68EhWfS53rvB0awZsuBDI@H5Q4JWILJbsMYwFTO06sZEvt2V9ALVGhxhQNWszwiM4TKpSEhtgSZR/UhCmlQUczFk1EmSToHEql/c9OpaNgaqz/IhU7Zkfn1wIg3J@sp7tkzobXrb3yeKeA2Nx044OHHZZ@FQLoP9je "Octave – TIO Nexus")
```
L3 = L(3:3:end)  %extract last elements of groups
d= diff(L)       % first difference of the list
y=d(1:3:end)     %extract first elements of each subgroup of the difference
idx = y<0        %check for negative numbers  
result = L3(idx)
```
[Answer]
# Haskell, 30 29 bytes
```
x(a:b:c:l)=[c|b<a]++x l
x d=d
```
My first attempt at golfing Haskell, so I may have missed an optimization or two
-1 byte thanks to @JulianWolf
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), ~~9~~ 8 bytes
```
>Ḋm3T×3ị
```
[Try it online!](https://tio.run/nexus/jelly#@2/3cEdXrnHI4enGD3d3/z/c/qhpjfv//9HRsTpcCtGGOkY6xjomOqY6ZjrmOhY6lmBRIx1DoKgpUNwMKGYOFTUGipoAsamOJVCXmY4pxAQDAx1LSx1DI2MI18gYxNYxMTUD84E0mG9uYRkbCwA "Jelly – TIO Nexus")
### How it works
```
>Ḋm3T×3ị  Main link. Argument: A (array)
 Ḋ        Dequeue; yield A without its first element.
>         Compare the elements of A with the elements of the result.
  m3      Select each third element, starting with the first.
    T     Truth; get all indices of truthy elements.
     ×3   Multiply those indices by 3.
       ị  Unindex; retrieve the elements at the redulting indices.
```
[Answer]
# Mathematica, 37 bytes
*Assuming this does satisfy the spec, ngenisis gets credit for this approach leading to a 1-byte saving!*
```
BlockMap[If[#>#2,Print@#3]&@@#&,#,3]&
```
Pure function. `BlockMap[...,#,3]&` splits the input list into sublists of length 3 and then operates on each sublist with the function `If[#>#2,Print@#3]&@@#&`. The result is that each qualifying last number is printed. The function also returns a value (namely a list of `Null`s a third as long as the input list), which seems to be allowed behavior.
## Mathematica, ~~42~~ 38 bytes
*Thanks to Martin Ender for saving 4 bytes!*
```
Cases[#~Partition~3,{a__,b_}/;a>0:>b]&
```
Pure function. `#~Partition~3` does what you think. `Cases[X,P:>Q]` selects all the elements of `X` matching the pattern `P`, and returns the result of the transformation rule `:>Q` applied to each instance. Here, the pattern being matched is `{a__,b_}/;a>0`: `b_` will match the last element of the list and `a__` all the other elements (in this case, the first two); call them `y` and `z` for now. The sneaky `a>0` then expands to `y>z>0`, which is the test we want to apply (valid because the spec says everything will be a positive integer). And the transformation rule is `:>b`, which simply replaces each matching ordered triple with its last element.
Original submission:
```
Last/@Select[#~Partition~3,#.{1,-1,0}>0&]&
```
Pure function; pretty much a straightforward implementation, other than `#.{1,-1,0}` which calculates the difference between the first and second elements of each 3-element sublist.
[Answer]
# R, 35 bytes
```
(x=matrix(scan(),3))[3,x[2,]<x[1,]]
```
[Answer]
# Pyth, 10 bytes
```
eMf>FPTcQ3
```
[Test suite](https://pyth.herokuapp.com/?code=eMf%3EFPTcQ3&test_suite=1&test_suite_input=%5B%5D%0A%5B1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%5D%0A%5B2%2C1%2C3%2C5%2C4%2C6%2C8%2C7%2C9%5D%0A%5B3%2C1%2C4%2C1%2C5%2C9%2C2%2C6%2C5%5D%0A%5B100%2C99%2C123%5D%0A%5B123%2C123%2C456%5D%0A%5B456%2C123%2C789%5D&debug=0)
```
eMf>FPTcQ3
       cQ3    Chop the input into groups of size 3
  f           Filter on
     PT       All but the last element
   >F         Apply the greater than function
eM            Map to the last element
```
[Answer]
# [Brachylog](https://github.com/JCumin/Brachylog) (2), 14 bytes
```
~c{Ṫ}ᵐ{k>₁&t}ˢ
```
[Try it online!](https://tio.run/nexus/brachylog2#@1@XXP1w56rah1snVGfbPWpqVCupPb3o//9oYx1DHRMgNtWx1DHSMQPSZkBoHvs/CgA "Brachylog – TIO Nexus")
Brachylog rather struggles with this sort of problem. Note that this program has horrible computational complexity, as it brute-forces splitting the input into groups of 3 (having no "split into groups" builtin); it runs quickly with four groups but very slowly with five.
## Explanation
```
~c{Ṫ}ᵐ{k>₁&t}ˢ
~c              Split into groups
  { }ᵐ          such that each group
   Ṫ            has three elements
      {     }ˢ  then on each element, skipping that element on error:
       k          with the list minus its last element
        >₁        assert that it's strictly decreasing
          &       and with the original list
           t      keep only its last element
```
[Answer]
# JavaScript (ES6), ~~46~~ ~~44~~ ~~42~~ ~~41~~ 39 bytes
```
a=>a.filter((_,y)=>y%3>1&a[y-1]<a[y-2])
```
* Saved 2 bytes thanks to [Neil](https://codegolf.stackexchange.com/users/17602/neil).
---
## Try It
Input a comma separated list of numbers, without any spaces.
```
f=
a=>a.filter((_,y)=>y%3>1&a[y-1]<a[y-2])
i.oninput=_=>o.innerText=JSON.stringify(f(i.value.split`,`.map(eval)))
console.log(JSON.stringify(f([])))                  // []
console.log(JSON.stringify(f([1,2,3,4,5,6,7,8,9]))) // []
console.log(JSON.stringify(f([2,1,3,5,4,6,8,7,9]))) // [3,6,9]
console.log(JSON.stringify(f([3,1,4,1,5,9,2,6,5]))) // [4]
console.log(JSON.stringify(f([100,99,123])))        // [123]
console.log(JSON.stringify(f([123,123,456])))       // []
console.log(JSON.stringify(f([456,123,789])))       // [789]
```
```
<input id=i><pre id=o>
```
---
## Explanation
```
a=>              :Anonymous function taking the input array as an argument via parameter a
a.filter((_,y)=> :Filter the array by executing a callback function on each element,
                  with the index of the current element passed through parameter y.
                  If the function returns 0 for any element, remove it from the array.
y%3>1            :Check if the modulo of the current index is greater than 1.
                  (JS uses 0 indexing, therefore the index of the 3rd element is 2; 2%3=2)
&                :Bitwise AND.
a[y-1]<a[y-2]    :Check if the element at index y-1 in array a
                  is less than the element at index y-2
)                :End filtering method
```
[Answer]
## [J](http://jsoftware.com/), 14 bytes
```
_3&(>`[/\#]/\)
```
This evaluates to a monadic verb.
[Try it online!](https://tio.run/nexus/j#@5@mYGulEG@spmGXEK0foxyrH6P5PzU5I18hTcFYwVDBBIhNFSwVjBTMgLQ5EBv9BwA "J – TIO Nexus")
## Explanation
```
_3&(>`[/\#]/\)  Input is y.
_3&(    \    )  For each non-overlapping 3-element chunk of y,
    >`[/        check if first element is greater than second.
                Call the resulting array x.
_3&(        \)  For each non-overlapping 3-element chunk of y,
          ]/    take the last element.
         #      Keep those where the corresponding element of x is 1.
```
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 8 bytes
Code:
```
3ôʒR`‹i,
```
Uses the **05AB1E** encoding. [Try it online!](https://tio.run/nexus/05ab1e#@298eMupSUEJjxp2Zur8/x9tpGOoY6xjqmOiY6ZjoWOuYxkLAA "05AB1E – TIO Nexus")
[Answer]
## [Alice](https://github.com/m-ender/alice), ~~12~~ 11 bytes
*Thanks to Leo for saving 1 byte.*
```
I.h%I-rI~$O
```
[Try it online!](https://tio.run/nexus/alice#@@@pl6HqqVvkWafi//9/cmJKYmpmUloqAA "Alice – TIO Nexus")
Uses the [code points of a string as the input list](http://meta.codegolf.stackexchange.com/questions/4708/can-numeric-input-output-be-in-the-form-of-byte-values) and outputs the character corresponding to the outputs that should be kept.
### Explanation
```
I      Read x. Pushes -1 on EOF.
.h%    Compute x%(x+1). This terminates the program due to division by zero at EOF,
       but does nothing for non-negative x.
I      Read y.
-      Compute x-y. We only want to output z is this is positive.
r      Range. Pushes 0 1 ... n for positive n, and -n ... 1 0 for negative n
       (and simply 0 for n = 0). So this results in a positive number on top
       of the stack iff x-y is positive.
I      Read z.
~      Swap it with x-y > 0.
$O     Output z iff x-y > 0.
       Then the IP wraps to the beginning of the program to process the next triplet.
```
[Answer]
## [Husk](https://github.com/barbuz/Husk), 8 bytes
```
ṁΓȯΓ↑<C3
```
[Try it online!](https://tio.run/##yygtzv6vkKtR/KipsUjz0Lb/D3c2npt8Yv25yY/aJto4G////z86livaUMdIx1jHRMdUx0zHXMdCxxIoZqRjCBQzBYqaAUXMwWLGQDETIDbVsQTqMNMxBek1MNCxtNQxNDIGcYyMQSwdE1MzIA9IgnnmFpaxAA "Husk – Try It Online")
## Explanation
This program is a bit involved, so bear with me.
```
ṁΓȯΓ↑<C3  Implicit input (list of integers).
      C3  Split into slices of length 3.
ṁ         Map over slices and concatenate results
 ΓȯΓ↑<    of this function, explained below.
```
The function `ΓȯΓ↑<` takes a list of length 3, `x = [a,b,c]`.
The first `Γ` splits `x` into `a` and `[b,c]`, and feeds them as arguments to the function `ȯΓ↑<`.
This should be equivalent to `((Γ↑)<)`, but due to a bug/feature of the interpreter, it's actually equivalent to `(Γ(↑<))`, interpreted as a composition of `Γ` and `↑<`.
Now, `a` is fed to the latter function using partial application, the resulting function `↑<a` is given to `Γ`, which deconstructs `[b,c]` into `b` and `[c]`.
Then `b` is fed to `↑<a`, resulting in a function that takes the first `b<a` elements from a list.
This function is finally applied to `[c]`; the result is `[c]` if `a>b`, and `[]` otherwise.
These lists are concatenated by `ṁ` to form the final result, which is printed implicitly.
Without the "feature", I would have 9 bytes:
```
ṁΓoΓo↑<C3
```
[Answer]
# [Python 3](https://docs.python.org/3/), ~~43~~ 42 bytes
1 byte thanks to xnor.
```
f=lambda a,b,c,*l:(b<a)*(c,)+(l and f(*l))
```
[Try it online!](https://tio.run/nexus/python3#@59mm5OYm5SSqJCok6STrKOVY6WRZJOoqaWRrKOprZGjkJiXopCmoZWjqfk/xzbaSMdQx1jHVMdEx0zHQsdcxzKWq6AoM69EA6oEAA "Python 3 – TIO Nexus")
[Answer]
# [dc](http://enwp.org/dc_(computer_program)), 30 bytes
```
[???sAz1[[lAps.]s.<.dx]s.<.]dx
```
I/O: one number per line.
[Answer]
# [Perl 5](https://www.perl.org/), 31 bytes
30 bytes of code + `-p` flag.
```
s/\d+ (\d+) (\d+)/$2if$1<$&/ge
```
[Try it online!](https://tio.run/nexus/perl5#JYpLCgIxEET3OUWJYVBEMp2kO9PgUVzOB8HFoPcnlrqo36OOh315PXHd@zvd5wtOtPPfU8yPNcotDmlbehdkFFQoDA0TPGQIiZIZdyMpJJVSON8GDTKOcIfkEqhvoqoFrfbrbfIP "Perl 5 – TIO Nexus")
Replaces each group of 3 numbers (`\d+ (\d+) (\d+)`) by the third (`$2`) if the second (`$1`) is less than the first (`$&`), and nothing otherwise.
[Answer]
# [CJam](https://sourceforge.net/p/cjam), 15 bytes
```
{3/{)\:>{;}|}%}
```
Anonymous block which expects argument on the stack, and leaves the result on the stack.
[Try it online!](https://tio.run/nexus/cjam#HcsxDoMwEATAnldsQ5E0YJ/P5oyUJ/ABgsQXqB3n62ZNcavbkfbapvxvRaby@uZPWeuvjrWN@dzebT@G3cFDEKCISFhgNA9HU2qkpMeEFngK4yJC@3aeYQbnpRcv/UPQyMZ8WlrsuAE "CJam – TIO Nexus") (Runs all test cases)
**Explanation**
```
3/             e# Split the list into length-3 chunks.
  {            e# For each chunk:
   )           e#  Remove the last element.
    \:>        e#  Reduce the first 2 elements by greater than.
       {;}|    e#  If the first is not larger than the second, delete the third.
           }%  e# (end for)
```
[Answer]
# [Brain-Flak](https://github.com/DJMcMayhem/Brain-Flak), 82 bytes
```
{([({}[{}()]<(())>)](<>)){({}())<>}{}{((<{}>))<>{}}{}<>{}{{}((<({}<>)<>>))}{}{}}<>
```
[Try it online!](https://tio.run/nexus/brain-flak#FYrJCQAxDAP/rkR@7pGFBeNGQioRqj2xH0LMSJuYoCYFXwG4py9EuhPtPFIUgaCyiSruYs0INJSurX8q2vuxy97KsN9u@2wc "Brain-Flak – TIO Nexus")
```
# Until the stack is empty (input is guaranteed to not contain 0)
{
  # Push 1 for greater than or equal to 0
  ([({}[{}()]<(())>)](<>)){({}())<>}{}{((<{}>))<>{}}{}<>{}
  #  ^------^  This part is Top - (Second + 1)
  # If the second number was less than the first...
  {{}
     # Get ready to push 2 zeros
     ((<
       # Move the next number to the other stack
       ({}<>)<>
     # Push those 2 zeros
     >))}
     # Pop 2 values.
     # This is either 2 zeros, or a 0 and a "last number" that shouldn't be printed
     {}{}
# End loop
}
# Switch to the stack where we stored the numbers to be printed
<>
```
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 10 bytes
```
s3µṪWx>/µ€
```
[Try it online!](https://tio.run/nexus/jelly#@19sfGjrw52rwivs9A9tfdS05v///8Y6hjomQGyqY6ljpGOmYwoA "Jelly – TIO Nexus")
or
[Verify test cases](https://tio.run/nexus/jelly#HcuxDYAwDATAhV6CxHGCG9agQJmChpqGXRAtBS1MAouED4Vf/pO@THIdz7kNc99cx7vs5V5rljFjdPAQBCgiEjoYzcPRlBop6TehBZ7CuIjQum1bmMF5qcVL/RA0sjH/ljrLHw "Jelly – TIO Nexus")
*-3 bytes thanks to @LeakyNun*
**Explanation**
```
s3µṪWx>/µ€
s3         - split into groups of three
  µ     µ€ - on each group, do:
   ṪW      - return the third element as the only element of a list
     x     - repeat each element in that list the number of times
      >/   - corresponding to 1 if the second element of the group is greater than the first; 0 otherwise.
```
[Answer]
## R, 31 bytes
Thanks to @Giuseppe again -1 byte:
```
f=\(x)x[!2:0][x[!-1:1]<x[!0:2]]
```
Thanks to @Giuseppe again -2 bytes:
```
f=\(x)x[!-2:0][x[!-1:1]<x[!0:2]]
```
With the R 4.1 it is a new game play (34 bytes). ;)
```
f=\(x)x[(i<--1:1)>0][x[!i]<x[i<0]]
```
where `\(x)` is a shorthand for the `function(x)`.
37 bytes version with `scan()` which I do not like, but it makes it shorter.
```
x=scan();x[(i<--1:1)>0][x[!i]<x[i<0]]
```
Version with `function()` which is easier to test (41 byte)
```
f=function(x)x[(i<--1:1)>0][x[!i]<x[i<0]]
```
Thanks to the @Giuseppe! Nice idea to use recycling of index.
Test:
```
f(c())
f(c(1,2,3,4,5,6,7,8,9))
f(c(2,1,3,5,4,6,8,7,9))
f(c(3,1,4,1,5,9,2,6,5))
f(c(100,99,123))
f(c(123,123,456))
f(c(456,123,789))
```
Output:
```
> f(c())
NULL
> f(c(1,2,3,4,5,6,7,8,9))
numeric(0)
> f(c(2,1,3,5,4,6,8,7,9))
[1] 3 6 9
> f(c(3,1,4,1,5,9,2,6,5))
[1] 4
> f(c(100,99,123))
[1] 123
> f(c(123,123,456))
numeric(0)
> f(c(456,123,789))
[1] 789
```
[Answer]
# [Python 2](https://docs.python.org/2/), 57 bytes
```
lambda i:[i[c+2]for c in range(0,len(i),3)if i[c+1]<i[c]]
```
[Try it online!](https://tio.run/nexus/python2#HYvLDsIgEEV/hSWNd1Gg0NLol@AssBZDUtEQF/37OnQxj3tybrrdjy2@H88o8hxyWC6a0qeKReQiaiyvVfbY1iJzB9PlJJqi6MqH6Gjm3swQCEFBw2CAhcOICZ6ZhmJmmTom48kMs4HHwnPDwbZu38N7KG1a0KZ9GKzjxPtM4@SJ5m/N5SeS3LvjDw "Python 2 – TIO Nexus")
[Answer]
# [MATL](https://github.com/lmendo/MATL), 10 bytes
```
IeI&Y)d0<)
```
The result is displayed as numbers separated by spaces.
[Try it online!](https://tio.run/nexus/matl#@@@Z6qkWqZliYKP5/3@0sY6hjgkQm@pY6hjpmOmYxgIA "MATL – TIO Nexus")
Or [verify all test cases](https://tio.run/nexus/matl#Xcu9CoAwDATgvU/hJAg39C@tAccu7i5SCg76/o9Qr44GEu4@yNX3Z5/P5bbb0udSjl7b9B9THTwCIgQJGSu0merhaEJNlPxZoEWuQPmRIDRnLVThfBjFh5EQJbHxfi2v2l4). This displays a string representation of the output, so that an empty array is actually seen as `[]`. Note that in MATL a number is the same as a singleton array, so `[4]` is shown as `4`.
### Explanation
```
Ie    % Implicit input. Reshape as a 3-row matrix (column-major order)
I&Y)  % Split into the third row and a submatrix with the other two rows
d     % Consecutive difference along each column of the submatrix
0<    % True for negative values
)     % Use as logical index into the original third row. Implicitly display
```
[Answer]
# [Röda](https://github.com/fergusq/roda), 15 bytes
```
{[_3]if[_2<_1]}
```
Röda is nearly as short as the golfing languages...
This takes three values from the stream, and pushes the third (`_3`) back, if the second (`_2`) is less than the first (`_1`).
The underscores are syntax sugar for `for` loops, so the program could be written as `{{[a]if[b<c]}for a,b,c}` or even `{[a]for a,b,c if[b<c]}`.
No TIO link, because it doesn't work on TIO for some reason (although works with the latest version of Röda that predates the challenge).
[Answer]
# Java 7, ~~86~~ 85 bytes
```
void c(int[]a){for(int i=-1;++i<a.length;)if(a[i++]>a[i++])System.out.println(a[i]);}
```
-1 byte thanks to *@PunPun1000*
**Explanation:**
[Try it here.](https://tio.run/nexus/java-openjdk#lY/NDoIwEITvPsUeaVgJfwUJ6ht48mg4VERtgoVI1RjCs@NSOXjw0kOzm3a@mWlZi66DXb8A6LTQsoTx2cgTlI5U@lAI1p@b@7SD3CyD3HXlWnh1pS76mjN5dsRBum6x/Q62f3e6unnNQ3vtnaBaTYKC5cMI0D6ONfnPMSblJqRy9pqkF5NFLYCiVfUCE98PLDd3f4znl191gCFGGCPHBFNcYWaHhxgQzskgITi1xSPCYzocM@qRILcs7/uYZRiEkSUXRhOEMU/sQAIMmK7mjw6LYfwA)
```
void c(int[]a){                  // Method with integer-array parameter and no return
  for(int i=-1;++i<a.length;)    //  Loop over the array in steps of three at a time
    if(a[i++]>a[i++])            //   If the value of the current index is larger than the next:
      System.out.println(a[i]);  //    Print the value on the third index
                                 //  End of loop (implicit / single-line body)
}                                // End of method
```
[Answer]
# C#, 126 Bytes
```
using System.Linq;i=>Enumerable.Range(0,i.Length/3).Select(u=>3*u).Where(u=>i[u]>i[u+1]).Select(u=>i[u+2]);
```
If you want a whole program with the method it'd be **175 Bytes**:
```
using System.Linq;namespace S{class P{static System.Collections.IEnumerable X(int[]i)=>Enumerable.Range(0,i.Length/3).Select(u=>3*u).Where(u=>i[u]>i[u+1]).Select(u=>i[u+2]);}}
```
*Saved 7 Bytes with the help of TheLethalCoder*
[Answer]
# Awk, 27 bytes
```
{a[b=NR%3]=$0}!b&&a[2]<a[1]
```
[Answer]
# [Vyxal](https://github.com/Vyxal/Vyxal), 8 bytes
```
3ẇR∩÷<Tİ
```
[Try it Online!](https://vyxal.pythonanywhere.com/?v=2#WyIiLCIiLCIz4bqHUuKIqcO3PFTEsCIsIiIsIlszLDEsNCwxLDUsOSwyLDYsNV0iXQ==)
There are a ton of 8-byters but I haven't been able to find a single 7-byter.
```
3ẇ       # Cut into chunks of length 3
  R      # Reverse each chunk
   ∩÷    # Transpose and push each row to the stack
     <   # For each, check if second > first
      Tİ # Only keep third elements where ^ is truthy
```
[Answer]
# [CJam](https://sourceforge.net/p/cjam), 16 bytes
```
q~3/{~@@>S{;}?}%
```
The output is shown as numbers separated by spaces.
[Try it online!](https://tio.run/nexus/cjam#@19YZ6xfXefgYBdcbV1rX6v6/3@0kYKhgrGCqYKJgpmChYK5gmUsAA "CJam – TIO Nexus")
### Explanation
```
q~               e# Read input list
  3/             e# List of sublists of length 3
   {         }%  e# Apply this to each sublist
    ~            e# Push sublist contents: 3 numbers
     @@          e# Rotate twice. This moves first two numbers to top
       >         e# Greater than?
        S{;}?    e# If so: push space (used as separator). Else: pop the third number
                 e# Implicitly display
```
[Answer]
# PHP, 89 Bytes
```
<?print_r(array_filter($_GET,function($v,$k){return $k%3>1&&$_GET[$k-1]<$_GET[$k-2];},1));
```
[Try it online!](https://tio.run/nexus/php#s7EvyCjgUol3dw2xjTbWMdQxAWJTHUsdIx0zHdNY6/8FRZl5JfFFGolFRYmV8WmZOSWpRRpg9TpppXnJJZn5eRoqZToq2ZrVRaklpUV5KtmqxnaGampgNdEq2bqGsTZwtlGsda2Ooaam9f//AA "PHP – TIO Nexus")
[Answer]
## JavaScript, ~~108~~ ~~107~~ 108 bytes
This is a valid JS anonymous (lambda) function. Add `x=` at the beginning and invoke like `x([5,4,9,10,5,13])`. Outputs as function `return`.
```
a=>(y=[],a.map((c,i)=>(i+1)%3?0:y.push(a.slice(i-2,i+1))),y.map(v=>v[1]<v[0]?v[2]:null).filter(c=>c|c==0))
```
The snippet takes in the input as a list of comma separated integers.
```
x=a=>(y=[],a.map((c,i)=>(i+1)%3?0:y.push(a.slice(i-2,i+1))),y.map(v=>v[1]<v[0]?v[2]:null).filter(c=>c|c==0))
martin.oninput = e => { dennis.innerHTML = x(martin.value.split`,`.map(c=>parseInt(c,10))) }
```
```
<input type=text id=martin><pre id=dennis>
```
[Answer]
# Perl5.8.9, ~~73~~ 60 bytes
```
while(@F){@b=splice@F,0,3;$b[1]<$b[0]&&print$b[2]}print"-"
```
(58+2 for the 'n' flag to read the whole file and a to autosplit). Assumes the input is lines of space separated numbers
Reduction thanks to Dada. Including the print at the end for visibility, that'd save 8 bytes if not.
]