Sure, I can help you with that. Here is a test case generator for the given problem statement:

```python
import random

def generate_test_case():
    # Generate N and K
    N = random.randint(1, 10**5)
    K = random.randint(1, 10**5)
    
    # Generate the string S with characters 'L' and 'R'
    S = ''.join(random.choice(['L', 'R']) for _ in range(N))
    
    return N, K, S

# Example usage
if __name__ == "__main__":
    N, K, S = generate_test_case()
    print(N)
    print(K)
    print(S)
```

### Explanation:

1. **Generate N and K**: Both `N` and `K` are generated randomly within the given constraints (1 ≤ N ≤ 10^5 and 1 ≤ K ≤ 10^5).
2. **Generate String S**: The string `S` of length `N` is generated by randomly choosing characters from 'L' and 'R'.
3. **Output the Test Case**: The generated values of `N`, `K`, and the string `S` are printed.

You can run this script to generate random test cases for the problem. Each time you run it, it will produce a different test case within the specified constraints.