#include <bits/stdc++.h>
using namespace std;
vector<int> h;
vector<vector<int>> g;
vector<int> p;
vector<int> tin;
vector<int> tout;
vector<int> used;
int timer = 0;
void dfs(int v, int p1 = -1) {
  p[v] = p1;
  used[v] = 1;
  tin[v] = timer;
  timer++;
  for (auto u : g[v]) {
    if (used[u] == 0) {
      h[u] = h[v] + 1;
      dfs(u, v);
    }
  }
  tout[v] = timer;
}
vector<int> path(int v10, int v20) {
  int v1 = v10;
  int v2 = v20;
  if (tin[v1] < tin[v2]) swap(v1, v2);
  vector<int> ans = {v1};
  while (v1 != v2) {
    v1 = p[v1];
    ans.push_back(v1);
  }
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, k, m;
  cin >> n >> m >> k;
  g.resize(n);
  used.resize(n);
  h.resize(n);
  tin.resize(n);
  tout.resize(n);
  p.resize(n);
  for (int i = 0; i < m; ++i) {
    int u, v;
    cin >> u >> v;
    --u, --v;
    g[u].push_back(v);
    g[v].push_back(u);
  }
  dfs(0);
  int v1 = 0;
  for (int i = 1; i < n; ++i) {
    if (h[i] > h[v1]) v1 = i;
  }
  if (h[v1] >= n / k) {
    cout << "PATH\n";
    vector<int> x = path(0, v1);
    cout << x.size() << endl;
    for (auto elem : x) cout << elem + 1 << ' ';
    return 0;
  }
  cout << "CYCLES\n";
  vector<vector<int>> ch;
  for (int i = 0; i < n; ++i) {
    if (tin[i] != tout[i] - 1) continue;
    int x = -1, y = -1;
    for (auto u : g[i]) {
      if (u == p[i]) continue;
      if (x == -1) x = u;
      if (y == -1 && x != u) y = u;
    }
    ch.push_back({i, x, y});
  }
  for (int i = 0; i < min(k, (int)ch.size()); ++i) {
    vector<int> c1 = path(ch[i][0], ch[i][1]);
    vector<int> c2 = path(ch[i][0], ch[i][2]);
    vector<int> c3 = path(ch[i][1], ch[i][2]);
    vector<int> c4 = {ch[i][0]};
    for (auto elem : c3) c4.push_back(elem);
    c3 = c4;
    if (c1.size() % 3 != 0) {
      cout << c1.size() << endl;
      for (auto elem : c1) cout << elem + 1 << ' ';
    } else {
      if (c2.size() % 3 != 0) {
        cout << c2.size() << endl;
        for (auto elem : c2) cout << elem + 1 << ' ';
      } else {
        if (c3.size() % 3 != 0) {
          cout << c3.size() << endl;
          for (auto elem : c3) cout << elem + 1 << ' ';
        }
      }
    }
    cout << endl;
  }
}
